summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_port.scheme
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-01-06 17:29:10 -0800
committerKeith Packard <keithp@keithp.com>2018-01-06 17:31:43 -0800
commit16061947d4376b41e596d87f97ec53ec29d17644 (patch)
treef7ad08f8810b0ea78cf282048eacb46d441a2ee1 /src/scheme/ao_scheme_port.scheme
parent39df849f0717d92a7d5bdf8aa5904bd4db1b467f (diff)
altos/scheme: Add ports. Split scheme code up.
And lots of other changes, including freeing unreferenced atoms. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_port.scheme')
-rw-r--r--src/scheme/ao_scheme_port.scheme39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/scheme/ao_scheme_port.scheme b/src/scheme/ao_scheme_port.scheme
new file mode 100644
index 00000000..e4fa06cc
--- /dev/null
+++ b/src/scheme/ao_scheme_port.scheme
@@ -0,0 +1,39 @@
+;
+; Copyright © 2018 Keith Packard <keithp@keithp.com>
+;
+; This program is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation, either version 2 of the License, or
+; (at your option) any later version.
+;
+; This program is distributed in the hope that it will be useful, but
+; WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+; General Public License for more details.
+;
+; port functions placed in ROM
+
+
+(define newline
+ (lambda args
+ (if (null? args)
+ (write-char #\newline)
+ (write-char #\newline (car args))
+ )
+ )
+ )
+
+(newline)
+(newline (open-output-file "/dev/null"))
+
+(define (load name)
+ (let ((p (open-input-file name))
+ (e))
+ (while (not (eof-object? (set! e (read p))))
+ (write (eval e)) (newline)
+ )
+ (close-port p)
+ )
+ )
+
+(load "/dev/null")