ref: 125d94765ebb698b565c859a7266a885adbbf7f7
dir: /test.myr/
use std
const main = {
var x : byte*[1024]
var buf : byte[1024]
var sz
var i
/* try the byte allocator for large variety of sizes. */
for sz = 1; sz < 65536; sz *= 2
for i = 0; i < 1024; i++
x[i] = std.bytealloc(sz)
;;
for i = 0; i < 1024; i++
std.bytefree(x[i], sz)
;;
;;
/* make sure the generic allocator works */
for i = 0; i < 1024; i++
x[i] = std.alloc()
;;
for i = 0; i < 1024; i++
std.free(x[i])
;;
std.write(1, "Hello, 世界\n")
chartypes()
std.put("format output %i %i %s\n", 123, 321, "asdf")
}
const chartypes = {
var s
var c
var buf : byte[32]
s = " 1世界 äa\n"
while s.len != 0
(c, s) = std.striter(s)
if std.isspace(c)
std.write(1, "Space\n")
elif std.isalpha(c)
std.write(1, "Alpha\n")
elif std.isnum(c)
std.write(1, "Num\n")
else
std.write(1, "Dunno\n")
;;
if !std.encode(buf[0,std.charlen(c)], c)
std.write(1, "couldn't encode\n")
;;
std.write(1, buf[0,std.charlen(c)])
std.write(1, "\n")
;;
if !std.encode(buf[0,3], -1)
std.write(1, "couldn't encode\n")
;;
}