aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO11
-rw-r--r--rust/spectrum.rs (renamed from rust/minimal.rs)13
2 files changed, 20 insertions, 4 deletions
diff --git a/TODO b/TODO
index 6ace871..79888da 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,14 @@
+- rust:
+ - my own refactorings and comments
+ - symbols separate from identifiers
+ - define/set! support (at the REPL?)
+ - add file input support (eg, comments in parser, multi-line, tty detect)
+ - multi-part lambdas
+ - begin (?)
+ - map, filter
+ - add numerical comparisons (>, >=)
+ - basic testing
+
- pseudo unittest; makefile?
- find r7rs-small; try a full/compliant implementation in scheme/python?
eg, macros
diff --git a/rust/minimal.rs b/rust/spectrum.rs
index 15220cb..8a82a33 100644
--- a/rust/minimal.rs
+++ b/rust/spectrum.rs
@@ -1,6 +1,11 @@
-
-// A partial Scheme implementation in Rust
-// Build with: rustc minimal.rs -o minimal-rust
+/*
+ * A partial Scheme/LISP implementation in Rust. Build and run with:
+ *
+ * rustc spectrum.rs -o spectrum
+ * ./spectrum
+ *
+ * Intentended to work with Rust 1.8 (stable from Spring 2016)
+ */
use std::io;
use std::io::Write;
@@ -441,7 +446,7 @@ fn main() {
loop {
let raw_input = &mut String::new();
- stdout.write(b"\nminimal-rust> ").unwrap();
+ stdout.write(b"\nspectrum> ").unwrap();
stdout.flush().unwrap();
stdin.read_line(raw_input).unwrap();
let raw_input = raw_input; // UGH