summaryrefslogtreecommitdiff
path: root/MLKPackage.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-06-27 12:44:25 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-06-27 12:44:25 +0200
commitcb23a76bbd3b7b1ccf4a5ec8894437e449a9047d (patch)
treec3a2a88747a51bf02a4ca028b9a12462eb549ec7 /MLKPackage.m
parent01703b9a42e4dac6ae83127ba8fc224e6f581c92 (diff)
MLKInterpreter: Implement the %LAMBDA operator.
Diffstat (limited to 'MLKPackage.m')
-rw-r--r--MLKPackage.m22
1 files changed, 18 insertions, 4 deletions
diff --git a/MLKPackage.m b/MLKPackage.m
index 79e4182..4060e81 100644
--- a/MLKPackage.m
+++ b/MLKPackage.m
@@ -51,17 +51,31 @@ static NSMutableDictionary *packages = nil;
[MLKPackage packageWithName:@"KEYWORD" nicknames:[NSSet set]];
- [tlUser usePackage:toilet];
[tlUser usePackage:cl];
+ [tlUser usePackage:toilet];
+
[clUser usePackage:cl];
-
+ [clUser usePackage:toilet];
+ [clUser usePackage:sys];
+
[cl import:nil];
[cl export:nil];
[cl export:[cl intern:@"T"]];
+ [cl export:[cl intern:@"IF"]];
+ [cl export:[cl intern:@"LET"]];
+ [cl export:[cl intern:@"LAMBDA"]];
+ [cl export:[cl intern:@"FUNCALL"]];
+ [cl export:[cl intern:@"PROGN"]];
+ [cl export:[cl intern:@"APPLY"]];
+ [cl export:[cl intern:@"PROGV"]];
+ [cl export:[cl intern:@"SETQ"]];
+ [cl export:[cl intern:@"DECLARE"]];
+ [cl export:[cl intern:@"QUOTE"]];
+
+ [sys export:[sys intern:@"%DEFMACRO"]];
+ [sys export:[sys intern:@"%LAMBDA"]];
- [sys intern:@"%DEFMACRO"];
[tlUser usePackage:clUser];
- [cl export:[cl intern:@"IF"]];
}
-(MLKPackage *) initWithName:(NSString *)name