zigself
zigself copied to clipboard
An implementation of the Self programming language in Zig
# The Problem Currently when some memory is requested via `Heap.allocateInObjectSegment` or `Heap.allocateInByteArraySegment`, we first check whether we have enough memory and garbage collect if there isn't. This was fine...
By default FreeBSD builds fail, complaining about `error: unable to find or provide libc for target 'x86_64-freebsd.12.2...12.2-musl'` FreeBSD builds should link to the FreeBSD libc, as that is the system...
Currently actors are in a wild west situation where any actor can access global and other actors' memory, similar to how programming languages like Javascript work. This will make it...
A way to expose the BSD socket API in Unix-like operating systems to Self code with the use of primitives. - [ ] Figure out a way to create sockaddr...
This is wasteful as any byte array in common use will use a basic empty map. We currently cannot change the parent of a byte array anyway, however if we...
I had hit a similar issue with array objects, which I solved by moving the array values inline with the array object instead of storing them on the map. However,...
## Problem As ZigSelf's capabilities grow, some issues with using it arises. For starters, there is no good way to declare where an object _belongs_, i.e. the slot it should...
This is more a placeholder, but it would be really interesting if this could be made to work. Anyway: ``` $ zig build -Dtarget='wasm64-freestanding' /snap/zig/5245/lib/std/os.zig:148:24: error: container 'system' has no...
I'd like to write some documentation for several parts of the virtual machine in order to make it easy for other people to understand more tricky parts of the virtual...
Currently we only allow slot lists in objects. This prevents the following from being valid code: ``` | foo. bar | foo: 123. bar: 456. foo * bar; asString printLine....