foolang
foolang copied to clipboard
A toy programming language.
Also in emitted code. Running under a debugger should be able to point to foolang source.
ByteArray#size was accidentally #size:, but the compiler didn't complain.
This way use sites cannot look functional as easily: ``` array sort; at: 0 ``` kind of thing. Thanks to cascades much less irritating than python's sort()
Should use similar approach to divide by zero, ie. panic if prelude isn't there. Alternatively could make this more of a built-in. Eg: instead of hooking in through `#perform:with:` provide...
Goal is to have foo/test.foo run on both host and target, both interpreted and compiled on target. - [ ] https://github.com/nikodemus/foolang/issues/849 - [ ] https://github.com/nikodemus/foolang/issues/851 - [ ] get rid...
- [ ] As part of compiler build pregenerate builtin_CLASSNAME.[hc] files and builtin_CLASSNAME.foo file builtin method maps, so that it doesn't need to be done every time the transpiler runs....
Effectively: ``` class Log {} direct method print: message $Log print: message ``` where $Log defaults to either stdout or stderr, but user can control at the command-line, or Main...
``` > let a = 10 10 > a * 2 10 ``` Today the first expression is refused since let expects a dot after the binding, and even if...
Handling more than one flag gets really old really quick. (needed for foo binary, since it really wants to be able to specify target binary)