Ok I think I found a good name for my programming language. It's short and sweet and I haven't seen it used anywhere for other PL projects:
The Oni programming language
Named after the evil japanese yokai. Seems in-theme with the previous "badlang" name.
I've acquired oni-lang.com and will be updating my repos to use the new name soon. Perhaps this is a good opportunity to start adding a website and documentation.




![A badlang "script" that is run directly from a shell with ./example.bad. It reads as follows (longish):
#!/usr/bin/env badc-run
import "std/debug"
import "std/allocators/arena"
import "std/allocators/tracing_arena"
import "std/allocators/tracing_allocator"
import "std/logger"
let buf: [1024]U8
let arena = TracingArena(Arena.init((@buf):Ptr, 1024), Dbg.fmt)
let alloc = TracingAllocator(arena.allocator(), Dbg.fmt).allocator()
let mem = alloc.malloc(32)
set mem = alloc.malloc(32)
alloc.free(mem, 32)
set mem = alloc.calloc(32)
set mem = alloc.calloc(32)
set mem = alloc.realloc(mem, 32, 128)
arena.reset()
let infolog = Logger(":: INFO ::", Dbg.fmt)
let errlog = Logger(":: ERROR ::", Dbg.fmt)
infolog.println("hello: % this is %")
.str("ding")
.int(32)
infolog.println("connecting to socket %").hex(1234)
errlog.println("something went wrong with error: %").int(42)](https://files.mastodon.social/cache/media_attachments/files/115/921/122/564/428/645/small/2a4b60ba55a29300.png)



![Some performance statistics:
Before
[SEMA] PERM mem: 46.4793/2048.0000 MB
[SEMA] TEMP mem: 187.2499/2048.0000 MB
[SEMA] Time: 63.5395 ms
[SEMA] KLOC/s: 232.4852
After
[SEMA] PERM mem: 46.2802/2048.0000 MB
[SEMA] TEMP mem: 0.7871/2048.0000 MB
[SEMA] Time: 55.6295 ms
[SEMA] KLOC/s: 265.5427](https://files.mastodon.social/cache/media_attachments/files/115/866/369/327/443/132/small/91e1edde342a774f.png)

