diff --git a/examples/array/array.q b/examples/array/array.q index 0000ad3..c81a7b0 100644 --- a/examples/array/array.q +++ b/examples/array/array.q @@ -2,13 +2,12 @@ import io import mem main() { - length := 5 - address := mem.alloc(length) - address[0] = 'H' - address[1] = 'e' - address[2] = 'l' - address[3] = 'l' - address[4] = 'o' - io.write(1, address) - mem.free(address) + buffer := mem.alloc(5) + buffer[0] = 'H' + buffer[1] = 'e' + buffer[2] = 'l' + buffer[3] = 'l' + buffer[4] = 'o' + io.write(1, buffer) + mem.free(buffer) } \ No newline at end of file diff --git a/examples/collatz/collatz.q b/examples/collatz/collatz.q index dab2869..00048d6 100644 --- a/examples/collatz/collatz.q +++ b/examples/collatz/collatz.q @@ -1,5 +1,4 @@ import io -import log main() { collatz(12) @@ -13,7 +12,7 @@ collatz(x int) { x = 3 * x + 1 } - log.number(x) + io.number(x) if x == 1 { return diff --git a/examples/factorial/factorial.q b/examples/factorial/factorial.q index e34436f..07390b5 100644 --- a/examples/factorial/factorial.q +++ b/examples/factorial/factorial.q @@ -1,7 +1,7 @@ -import log +import io main() { - log.number(factorial(5)) + io.number(factorial(5)) } factorial(x int) -> int { diff --git a/examples/fibonacci/fibonacci.q b/examples/fibonacci/fibonacci.q index 4d0f940..d189253 100644 --- a/examples/fibonacci/fibonacci.q +++ b/examples/fibonacci/fibonacci.q @@ -1,7 +1,7 @@ -import log +import io main() { - log.number(fibonacci(10)) + io.number(fibonacci(10)) } fibonacci(x int) -> int { diff --git a/examples/fizzbuzz/fizzbuzz.q b/examples/fizzbuzz/fizzbuzz.q index e626e7f..e4986d1 100644 --- a/examples/fizzbuzz/fizzbuzz.q +++ b/examples/fizzbuzz/fizzbuzz.q @@ -1,5 +1,4 @@ import io -import log main() { fizzbuzz(15) @@ -13,7 +12,7 @@ fizzbuzz(n int) { x % 15 == 0 { io.out("FizzBuzz") } x % 5 == 0 { io.out("Buzz") } x % 3 == 0 { io.out("Fizz") } - _ { log.number(x) } + _ { io.number(x) } } x += 1 diff --git a/examples/gcd/gcd.q b/examples/gcd/gcd.q index c9382b2..9b6ece1 100644 --- a/examples/gcd/gcd.q +++ b/examples/gcd/gcd.q @@ -1,7 +1,7 @@ -import log +import io main() { - log.number(gcd(1071, 462)) + io.number(gcd(1071, 462)) } gcd(a int, b int) -> int { diff --git a/examples/itoa/itoa.q b/examples/itoa/itoa.q index ee4d224..72d3599 100644 --- a/examples/itoa/itoa.q +++ b/examples/itoa/itoa.q @@ -1,5 +1,5 @@ -import log +import io main() { - log.number(9223372036854775807) + io.number(9223372036854775807) } \ No newline at end of file diff --git a/examples/prime/prime.q b/examples/prime/prime.q index fdd1bcf..7d639a2 100644 --- a/examples/prime/prime.q +++ b/examples/prime/prime.q @@ -1,5 +1,4 @@ import io -import log main() { n := 100 @@ -15,7 +14,7 @@ main() { io.out(" ") } - log.number(i) + io.number(i) } i += 1 diff --git a/lib/log/number.q b/lib/io/fmt.q similarity index 100% rename from lib/log/number.q rename to lib/io/fmt.q diff --git a/lib/io/io.q b/lib/io/io.q index 5c66a29..760c9db 100644 --- a/lib/io/io.q +++ b/lib/io/io.q @@ -1,23 +1,5 @@ import sys -const std { - in 0 - out 1 - err 2 -} - -in(buffer []byte) -> int { - return sys.read(std.in, buffer, len(buffer)) -} - -out(buffer []byte) -> int { - return sys.write(std.out, buffer, len(buffer)) -} - -error(buffer []byte) -> int { - return sys.write(std.err, buffer, len(buffer)) -} - read(fd int, buffer []byte) -> int { return sys.read(fd, buffer, len(buffer)) } diff --git a/lib/io/std.q b/lib/io/std.q new file mode 100644 index 0000000..c74cb52 --- /dev/null +++ b/lib/io/std.q @@ -0,0 +1,19 @@ +import sys + +in(buffer []byte) -> int { + return sys.read(std.in, buffer, len(buffer)) +} + +out(buffer []byte) -> int { + return sys.write(std.out, buffer, len(buffer)) +} + +error(buffer []byte) -> int { + return sys.write(std.err, buffer, len(buffer)) +} + +const std { + in 0 + out 1 + err 2 +} \ No newline at end of file