YREA-SLS/slides/SLIDES.md

112 lines
1.8 KiB
Markdown

---
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_1.png) -->
![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
<small>You may clap now</small>