logoalt Hacker News

kragen • today at 7:56 PM • 1 reply • view on HN

That's exciting! I'm interested to hear about the language design. I vibecoded a unikernel web server a few weeks ago, and I've been trying to extend it into a full capability-secure microkernel called KokalOS.


Replies

sieve • today at 8:25 PM

The language borrows syntax from Python (and a wee bit from Haskell) and is essentially syntactic sugar over facilities provided by the runtime:

- statically typed from end to end

- closed and open/extensible types

- closed types are immutable, open ones have two variants: immutable and mutable

- arrays have two variants: immutable and mutable

- no OOP/classes. inheritance is nominal and mainly exists to provide access to class membership (is X a Y?)

- functions operating on data

- UFCS exists to provide nice features like "apple".substr(...)

- first class functions and closures

- monomorphized generics

- tailcalls

- operator overloading

- modules and namespaces to control access

- erlang/beam style first class processes. So you `spawn` a function and communicate between processes using send/recv instead of async/await

Processes are completely isolated at the runtime level. Each has its own stack, heap, mailbox and GC.

The bytecode carries all type information. The VM will compile using AOT-on-load.

My own runtime-becomes-a-os idea is still just an idea. I haven't really pursued it with seriousness. Will probably do that once the language and runtime stabilize.

➕ show 1 reply