YREA-SLS/CHANGELOG.md

3.8 KiB

SLS Changelog

0.0.2-alpha

08 Dec 2025

  • Added Rust Port
  • Added Interpreter State Serialization to Rust port
    • Added #load <file> and #save <file> 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

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, drop, and /

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

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)

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)