# SLS Changelog ## 0.0.2-alpha *08 Dec 2025* - Added Rust Port - Added Interpreter State Serialization to Rust port - Added `#load ` and `#save ` directives to the REPL - Added Python Port - Added Calculator app - Added sls_py.calc module - Added RP2040 build target for the C implementation ## 0.0.1-alpha *01 Dec 2025* - Added executing a file - Implemented the following builtin operators: - `for` - `logb` - `max` - `min` - `rot` - `const` - `atan2` - `roll` - `while` - `type_of` - `eval` - `lambda` - `if` - `pick` - `dup` - bitwise `and` - bitwise `not` - bitwise `or` - bitwise `xor` - boolean `and` - boolean `not` - boolean `or` - `shl` - `shr` - comparisons - `ceil` - `floor` - `round` - `swap` - `seed` - `rand` - `acos` - `asin` - `atan` - `cos` - `ln` - `log` - `sin` - `sqrt` - `tan` - `abs` - modulus - exponential - addition - subtraction - multiplication ## SE Checkpoint 3 *28 Nov 2025* [github.com/SnowSE/final-project-KylerOlsen](https://github.com/SnowSE/final-project-KylerOlsen) [Compare SE3250-Checkpoint2..SE3250-Checkpoint3](https://github.com/SnowSE/final-project-KylerOlsen/compare/SE3250-Checkpoint2...SE3250-Checkpoint3) **Report**: Since checkpoint 2, I completed `token string` parsing and started working on the REPL. The lexer and REPL are basically finished as much as I am going to do for this assignment. I did start to implement builtin functions and operators. Currently only [`depth`](https://sls.purplecello.org/complete_operator_reference.html#depth), [`drop`](https://sls.purplecello.org/complete_operator_reference.html#drop), and [`/`](https://sls.purplecello.org/complete_operator_reference.html#_5) **Plan**: By the final turn-in on December 6th, I plan on getting all arithmetic operations working. And the python and rust ports with help from AI. **Stuck**: I'm not really stuck on anything, but I am running out of time, plus I am worried about not having enough AI usage to do the ports. If I at least get the main structures of the ports, I hope it will be enough for me to finish. ## SE Checkpoint 2 *20 Nov 2025* [github.com/SnowSE/final-project-KylerOlsen](https://github.com/SnowSE/final-project-KylerOlsen) [Compare SE3250-Checkpoint1..SE3250-Checkpoint2](https://github.com/SnowSE/final-project-KylerOlsen/compare/SE3250-Checkpoint1...SE3250-Checkpoint2) **Report**: I completed my string type for the interpreter. `floats`, `characters`, `identifiers`, and `boolean` token lexing has been completed. `integer` tokens were working at checkpoint 1. **Plan**: By checkpoint 3 I plan to complete `token string` token parsing and basic arithmetic execution. **Stuck**: I'm not really stuck on anything, but I have been dropping things from the scope of this assignment. I do hope to add them when I have time in the future. These features moved to the backlog include: - Unicode support - Exponential literals - Arrays and array functions - Type tuples, function defs - Structs, unions, etc. ## SE Checkpoint 1 *07 Nov 2025* **intended user**: Programmers **detailed functional requirements**: A stack based language interpreter inspired by RPL, C, Rust, and Uiua ([sls.purplecello.org](https://sls.purplecello.org)) **motivation for wanting to work on the project**: It is cool, and I have had this idea for a while and learning new languages this semester has given me more ideas and motivation for this. **motivation for language selection**: C is a lower level language that can run on embedded systems and is well suited for writing language interpreters like Python and Lua. **non-functional requirements / constraints**: Efficient enough for use on a modern micro controller (ie. Raspberry Pi Pico, ESP32)