bl
bl copied to clipboard
Simple imperative programming language created for fun.
The #comptime (for compile-time execution of functions) is now very WIP, we should validate/fix: - Error reporting - Returning bigger types (i.e. strings or arrays) - Generate the function implementation...
Implicit tmp variable cannot be generated for struct member tag resolver when a function call taking vargs is used. `#tag make_flags(A, B, C, ...)`
Enable binary operators for enum flags and remove helper functions related to this.
Polymorphic functions inside overload groups are not selected correctly, the issue is more complicated here: ``` 1) fn (a: ?T, b: T) 2) fn (a: ?T, b: s32) ``` Function...
It would be great to have the option to generate a MINGW-tools-based config file instead of an MSVC-tools-based one.
Currently, analyze pass of the Call Instruction is very messy and needs to be implemented and split into multiple functions. We need: - Analyze callee type. - Select overload of...
I have manually built bl from the source and added blc to the PATH env. But when I run "blc --configure", I ge this error message: > zsh:1: no such...
Static `if` seems to be broken in some cases, i.e. when `PHI` instruction is used.
Finalize incremental execution used in #comptime functions and functions executed during compilation. There is some basic idea of how to do it in `vm.c` using snapshots of the stack. I'm...
``` if (callback.func == auto func) && (callback.ctx == auto ctx) { // vs if callback.func == auto func && callback.ctx == auto ctx { ```