buzz
buzz copied to clipboard
👨🚀 buzz, A small/lightweight statically typed scripting language
List and maps provided as default function argument or default object property value are cloned at runtime. We don't allow list/map containing themselves list and maps. We could allow it...
See if ref counting could be better than GC. To avoid freeing too often, we could table the freeing for when a threshold of garbage is reached.
Ranges are syntaxic sugar to create list of integers. But when used in a `foreach` statement it should be expanded to a classic `for` statement: ```buzz foreach (int i in...
To reproduce: - `zig build -Djit_always_on` - `buzz -t tests/compile_errors/008-error-message.buzz`
Since buzz is supposed to be _unambiguous_ do we need implicit `this` argument for objects' methods? ```buzz object Person { str name, fun sayHello(str to) -> print("Hello {to} from {this.name}");...
Field access doesn't need to rely on a name lookup at runtime. It could be an index generated at compile time juste like we do for locals.
Right now std lib errors matches zig errors, most of them are too low-level for buzz: - [ ] Regroup errors that are too fine-grained for buzz - [ ]...
Either declare an object as immutable: ```buzz immut object Point { int x, int y, } ``` And/Or declare an instance as immutable: ```buzz immut Point point = Point{ x...
Should things be immutable (and private) by default? ```buzz str hello = "hello"; hello = "bye"; | fails var str hello = "hello"; hello = "bye"; | ok ```