summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_do.scheme
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-01-10 23:11:40 -0800
committerKeith Packard <keithp@keithp.com>2018-01-10 23:11:40 -0800
commitf26cc1a677f577da533425a15485fcaa24626b23 (patch)
tree2f1e96addf6af39a9013acc76409f9df74a5e561 /src/scheme/ao_scheme_do.scheme
parent4b52fc6eea9a478cb3dd42dcd32c92838df39734 (diff)
altos/scheme: Move ao-scheme to a separate repository
This way it can be incorporated into multiple operating systems more easily. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_do.scheme')
-rw-r--r--src/scheme/ao_scheme_do.scheme34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/scheme/ao_scheme_do.scheme b/src/scheme/ao_scheme_do.scheme
deleted file mode 100644
index 063e4a38..00000000
--- a/src/scheme/ao_scheme_do.scheme
+++ /dev/null
@@ -1,34 +0,0 @@
-(define do
- (macro (vars test . cmds)
- (define (_step v)
- (if (null? v)
- '()
- (if (null? (cddr (car v)))
- (_step (cdr v))
- (cons `(set! ,(caar v) ,(caddr (car v)))
- (_step (cdr v))
- )
- )
- )
- )
- `(let ,(map (lambda (v) (list (car v) (cadr v))) vars)
- (while (not ,(car test))
- ,@cmds
- ,@(_step vars)
- )
- ,@(cdr test)
- )
- )
- )
-
-(do ((x 1 (+ x 1)))
- ((= x 10) "done")
- (display "x: ")
- (write x)
- (newline)
- )
-
-(do ((vec (make-vector 5))
- (i 0 (+ i 1)))
- ((= i 5) vec)
- (vector-set! vec i i))