You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Integer literals are now responsive and can adapt to the expected bitwidth in the environment
Added optimisations to prevent multiple copies in local declaration and assignment
Files and Folders can now be brought into modules. The import can be named or not. This sets up a basic but powerful import system for the language
Modules now handle their own compilation and hence this new system can be leveraged to manage customised builds for libraries. The presence of main function will make the output an executable. Otherwise, the library can be built into a shared or static library depending on user configuration. The ability to customise build format is work in progress
The user is warned about implicit copy and move and is also asked to make it explicit. Making these explicit will not change the behaviour of the code
Added the dereference operator #. This is useful for iterators and similar datatypes
Arbitrary integer bitwidths can now be used only if they are imported into the module. However, there is no system to import integer bitwidths as of now. This is an easy thing to do. I just didn't manage to start working on this
Added analyse command to the cli configuration that will prevent compilation to object files. Only lexing, parsing, LLVM IR generation and analysing is done if this command is used instead of build or run