Freeode 0.4.0
Have a working compiler with the new architecture; and update the website.
Milestone information
- Active:
- No. Drivers cannot target bugs and blueprints to this milestone.
Activities
- Assigned to you:
- No blueprints or bugs assigned to you.
- Assignees:
- 22 Eike
- Blueprints:
- 3 Implemented, 2 Informational
- Bugs:
- 1 Won't Fix, 16 Fix Released
Download files for this release
Release notes
This release brings a new architecture: Siml is now a real object oriented language, with static typing. The syntax is now whitespace sensitive: indentation creates blocks, like in Python.
The release brings no real new features, but it is a good base for further development.
The code execution at compile time, is now considered to be macro execution, similar to Scheme or D. At compile time Siml classes are now Python classes. This implies that Siml instances are now regular Python objects. This makes the code more simple but somewhat quirky, because more advanced features of Python have to be used. (Siml functions, for example, have to be descriptors.)
A program is still compiled into an imperative style Python program, with only floating point numbers, strings, and booleans.
The compiler is still beta quality, it can quite easily be tricked into erroneous behavior.
Changelog
5 blueprints and 17 bugs targeted
Blueprint | Priority | Assignee | Delivery | |
---|---|---|---|---|
Use More of Python's Infrastructure | Use More of Python's Infrastructure | 4 High | Eike | 12 Informational |
Add Compile Time 'if' Statement to Language | Add Compile Time 'if' Statement to Language | 3 Medium | Eike | 11 Implemented |
New ASCII Art Tree Subsystem | New ASCII Art Tree Subsystem | 3 Medium | Eike | 11 Implemented |
Unify how calls and operators are represented in the AST. | Unify how calls and operators are represented in the AST. | 3 Medium | Eike | 11 Implemented |
Specify the behavior of the "final" function | Specify the behavior of the "final" function | 3 Medium | Eike | 12 Informational |