Repository navigation
Releases
Releases · chrispo-git/Extended-SIMP-Language-Interpreter
v3.0.0
v2.1.0
Introduces many new and important things:
- Static Methods
- Locked Structs
- Initialisation without assignment
- Pop and Back methods for Arrays
- Some bugfixes for scope
v2.0.2
Struct Overriding Operators & Boolean Operators
Done within impl blocks, the headers for these included in syntax.md
Private methods and fields
methods fn private and fields private x can now be made private. This prevents access outside of impl blocks. This also blocks viewing private fields from pretty printing
v2.0.1
- Introduces proper line debugging for errors
- Fixes impl in the repl
- Updates repl features
- introduce console commands
v2.0.0
Very big update!
- Introduce Impl blocks that allow you to create methods for structs
- Introduce lexical scoping for if, for and while blocks
- Introduce anonymous blocks
- Rework the memory from a flat Store to a chained link of Stores
- Various optimisations for dead branches, literal folding, etc.
- Introduce const bindings
v1.2.0
Introduced some cool stuff!
- Pattern matching with variable binding and guard statements
- Terminal handling built in functions
Also there's snake in the examples now!
v1.1.0
Introduces a lot!
- Pairs
- random function
- floor, ceil, round functions
- cos, sin, tan, acos, asin, atan functions
- sum, flatten functions
- ord & chr functions
- zip function
- Multiline comments
- Updated REPL functionality (arrow keys now work!)
v1.0.1
More Operations! Add bitwise operations
v1.0.0
ExtSIMP 1.0.0
First stable release of ExtSIMP, an extended implementation of SIMP from
Programming Languages and Operational Semantics: A Concise Overview.
Highlights
- Full interpreter pipeline: lexer, parser, evaluator, all hand-written!!!
- Four scalar types:
Int,Float,Str,Bool - Arrays, Structs, and Maps as first-class values
- Functions with type annotations, lexical scoping, and recursion
- Import system with namespace aliasing
- 40+ built-in functions
- Interactive REPL with persistent state
- VS Code syntax highlighting extension
Getting Started
See README.md for installation and usage instructions.
Full language reference at SYNTAX.md.