Improved type system

This commit is contained in:
Eduard Urbach 2025-02-17 14:31:47 +01:00
parent 78f2670553
commit 6eab48c586
Signed by: eduard
GPG key ID: 49226B848C78F6C8
62 changed files with 189 additions and 172 deletions

View file

@ -1,15 +1,16 @@
extern kernel32 {
GetStdHandle(handle Int) -> Int
WriteConsoleA(fd Int, buffer *Any, length Int, written *Int) -> Bool
ReadFile(fd Int, buffer *Any, length Int) -> Bool
GetStdHandle(handle int64) -> int64
WriteConsoleA(fd int64, buffer *any, length uint32, written *uint32) -> bool
ReadConsole(fd int64, buffer *any, length uint32, written *uint32) -> bool
}
read(fd Int, buffer *Any, length Int) -> Int {
kernel32.ReadFile(fd, buffer, length)
read(fd int64, buffer *any, length int64) -> int64 {
fd = kernel32.GetStdHandle(-10 - fd)
kernel32.ReadConsole(fd, buffer, length, 0)
return length
}
write(fd Int, buffer *Any, length Int) -> Int {
write(fd int64, buffer *any, length int64) -> int64 {
fd = kernel32.GetStdHandle(-10 - fd)
kernel32.WriteConsoleA(fd, buffer, length, 0)
return length