Compare commits

...

2 Commits

Author SHA1 Message Date
Scott Richmond
ecd16e3aef update thoughts 2025-06-10 15:44:47 -04:00
Scott Richmond
e3b5b96dc2 test out 16 bit operand math 2025-06-06 00:11:08 -04:00
2 changed files with 22 additions and 15 deletions

View File

@ -260,7 +260,7 @@ To reiterate the punch list that *I would have needed for Computer Class 1*:
- [ ] teach Rudus to speak our protocols (stdout and turtle graphics)
- [ ] there should be a Rust function that takes Ludus source and returns valid Ludus status json
- [ ] compile Rust to WASM
- [ ] wire rust-based WASM into JS
- [ ] wire Rust-based WASM into JS
- [ ] FINALLY, test Rudus against Ludus test cases
So this is the work of the week of June 16, maybe?
@ -268,5 +268,7 @@ So this is the work of the week of June 16, maybe?
Just trying to get a sense of what needs to happen for CC2:
* [ ] Actor model (objects, Spacewar!)
* [ ] Animation hooked into the web frontend (Spacewar!)
* [ ] Text input (Spacewar!)
- [ ] Makey makey for alternate input?
* [ ] Saving and loading data into Ludus (perceptrons, dissociated press)
* [ ] Finding corpuses for Dissociated Press

View File

@ -75,18 +75,23 @@ pub fn run(src: &'static str) {
pub fn main() {
// env::set_var("RUST_BACKTRACE", "1");
let src = "
let x = {
match #{:a 1, :b 2, :c 3} with {
#{a} -> :one
#{a, b, :c 3} -> :two
#{a, b, c} -> :three
(1, 2, 3) -> :thing
(4, 5, (6, 7, a)) -> if or (true, false, false, true) then :thing_1 else :thing_2
([:a, :b, :c, [:d, [:e, (:f, :g)]]]) -> if or (true, false, false, true) then :thing_1 else :thing_2
}
}
// let src = "
// let x = {
// match #{:a 1, :b 2, :c 3} with {
// #{a} -> :one
// #{a, b, :c 3} -> :two
// #{a, b, c} -> :three
// (1, 2, 3) -> :thing
// (4, 5, (6, 7, a)) -> if or (true, false, false, true) then :thing_1 else :thing_2
// ([:a, :b, :c, [:d, [:e, (:f, :g)]]]) -> if or (true, false, false, true) then :thing_1 else :thing_2
// }
// }
";
run(src);
// ";
// run(src);
let a: u16 = 14261;
let b_high: u8 = (a >> 8) as u8;
let b_low: u8 = a as u8;
let c: u16 = ((b_high as u16) << 8) + b_low as u16;
println!("{a} // {b_high}/{b_low} // {c}");
}