summaryrefslogtreecommitdiff
path: root/MLKReadEvalPrintLoop.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-07-03 20:23:22 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-07-03 20:23:22 +0200
commit3b94099c717020be8c29588551f61bc67e610d9d (patch)
treef368e672ba3de6ec0f4d20f2c175d6039ca7e1f1 /MLKReadEvalPrintLoop.m
parentcfd165366900e6719fbb094c2a70eb8c8009a0dd (diff)
Implement COND, LET*, and LIST*.
Diffstat (limited to 'MLKReadEvalPrintLoop.m')
-rw-r--r--MLKReadEvalPrintLoop.m15
1 files changed, 15 insertions, 0 deletions
diff --git a/MLKReadEvalPrintLoop.m b/MLKReadEvalPrintLoop.m
index e9e90db..8c06496 100644
--- a/MLKReadEvalPrintLoop.m
+++ b/MLKReadEvalPrintLoop.m
@@ -67,6 +67,10 @@ static const char *prompt (EditLine *e) {
History *commands;
HistEvent event;
+ NSInputStream *input;
+ MLKStream *stream;
+ BOOL success;
+
editline = el_init (_argv[0], stdin, stdout, stderr);
el_set (editline, EL_PROMPT, &prompt);
el_set (editline, EL_EDITOR, "emacs");
@@ -75,6 +79,17 @@ static const char *prompt (EditLine *e) {
history (commands, &event, H_SETSIZE, 1000);
el_set (editline, EL_HIST, history, commands);
+ printf ("Loading init.lisp.\n");
+ input = [NSInputStream inputStreamWithFileAtPath:@"init.lisp"];
+ stream = AUTORELEASE ([[MLKStream alloc] initWithInputStream:input]);
+
+ [input open];
+ [MLKInterpreter load:stream verbose:YES print:YES];
+ success = [MLKInterpreter load:stream verbose:YES print:YES];
+ [input close];
+
+ printf ("Done.\n\n");
+
printf ("This is Toilet Lisp, version 0.0.1.\n");
printf ("Please make yourself at home.\n");