--- theme: default paginate: false backgroundColor: #fff backgroundImage: url('./background.svg') style: | section.lead { padding-bottom: 100px; } section { padding-bottom: 225px; } section.lead > h1 > strong { color: #375899; font-size: 64px; } section.lead > p:nth-child(3) { font-size: 16px; } h1 { color: #001847; padding-bottom: 0; margin-bottom: 0; } small { font-size: 16px; padding-left: 16px; } --- ![bg left:50% 90%](./sls.svg) # **YREA SLS** Kyler Olsen Fall 2025 Snow College SE 3250 [sls.purplecello.org](https://sls.purplecello.org) --- # RPL *HP Reverse Polish Lisp* - Based on LISP and Forth - Stack-oriented language with post-fix notation - Created by HP for their calculators ![bg right:35% 80%](./hp_calc_2.png) --- # Project *YREA SLS* - Stack-oriented language with post-fix notation - C inspired Syntax - Can run on an embedded system --- # Language *The C Language* - Systems Programming - Used for Python and PHP interpreters Excellent fit for my project! --- # Language *The C Language* - Manual memory management is difficult to get right. - C development in a Linux environment was fun and rewarding. - In the end I had a running program on a RP2040. --- # Port 1 *Rust* - Systems Programming (Again) - Included build system - Memory safe with the barrow checker --- # Port 1 *Rust* - Unlike previous projects in Rust, I didn't fight the barrow checker this time. - I added exporting and importing the interpreter state in the REPL. --- # Port 2 *Python* - My favorite programming language (maybe C is a close second now) - This port was very easy for me to do. - I did add a calculator app as an alternative to the REPL or file execution. --- # The End You may clap now