Releases: makuto/cakelisp
Cakelisp Alpha 3
It has been a while since I last pushed a release. This is solely because I didn't have any set milestone I was targeting for v0.3.0. Nevertheless, I got a lot done:
- Compile-time code uses a precompiled "CakelispComptime" header. This speeds up compile-time code compilation by about 50% in my tests
tokenize-push
was overhauled to be in a really good place going forwards. This was important to allow macros with unlimited token array sizes- Types now support arbitrary keywords, which means
volatile
,unsigned
, etc. are supported instead of justconst
- Various C and C++ constructs are now included in
runtime/
such asdefenum
forenum
support and a work-in-progressclass
generator - Tokenizer is more robust to weird edge-cases
- Emacs support is improved
- Many bug fixes
Overall, the language is in a really good state. I have been working solidly on several projects (some completed) written in Cakelisp:
- GameLib, which serves as a great reference for various powerful features enabled by Cakelisp such as introspection, auto-instrumentation of functions for profiling (inspired by Jonathan Blow's Code Modification demo), and more
- Kitty Gridlock, an Android game written in Cakelisp
- File Helper, a treemap file organization application
I think the robustness of the language is proven by how productive I have been without having to make any large changes to Cakelisp itself. An important note is that I created Cakelisp as a means to an end, not the end itself. Cakelisp changes are driven by my personal projects requiring them, which I think proves feature usefulness unlike toy language features. I am getting things done using Cakelisp, and I believe I get things done faster and better than without it.
If you're interested in seeing the awesome stuff I'm learning and creating with Cakelisp, check out my website and Handmade Network page. As always, please feel free to email me at macoy@macoy.me with any comments, feedback, or questions.
Cakelisp Alpha 2
This release offers some significant features that Alpha 1 lacked:
- Compile-time functions can now be referenced by other compile-time functions. Their headers will automatically be included
- More robust compile-time cache validation. Compile-time files have the same cache validation as runtime files, i.e. their commands and header files are checked. This fixes segmentation faults and undefined behavior when Cakelisp changes without updating cached comptime dynamic libraries
- Improved build system argument specification. It is now much easier to specify link arguments
- Various bug fixes with the reference resolution system, error messages, etc.
Cakelisp builds itself. I will not be distributing binaries of Cakelisp. Read the ReadMe carefully for your platform in order to build Cakelisp.
Please feel free open issues for bugs and questions.
Cakelisp Alpha 1
This release marks the first release of Cakelisp with platform support for both Windows and Linux.
Cakelisp builds itself. I will not be distributing binaries of Cakelisp. Read the ReadMe carefully for your platform in order to build Cakelisp.
Please feel free open issues for bugs and questions.