summaryrefslogtreecommitdiff
path: root/MLKEnvironment.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-06-23 19:02:42 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-06-23 19:02:42 +0200
commit3aa255629a915314b71c04820833b683ff9234fc (patch)
treeef0ed440cadee353c3800cd8232ee483bf7508c0 /MLKEnvironment.m
parent1c181e7b07ee551d6f76416972fe38ff411ffc40 (diff)
Initialise the global environment on startup.
Diffstat (limited to 'MLKEnvironment.m')
-rw-r--r--MLKEnvironment.m9
1 files changed, 9 insertions, 0 deletions
diff --git a/MLKEnvironment.m b/MLKEnvironment.m
index 314a46f..2dab2aa 100644
--- a/MLKEnvironment.m
+++ b/MLKEnvironment.m
@@ -19,6 +19,7 @@
#import <Foundation/NSArray.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSNull.h>
+#import <Foundation/NSSet.h>
#import "MLKEnvironment.h"
#import "MLKUndefinedVariableException.h"
@@ -63,6 +64,14 @@ static id UNBOUND;
return _parent;
}
+-(NSSet *) bindings
+{
+ NSSet *set = [NSSet setWithArray:[_bindings allKeys]];
+ return (_parent
+ ? (id)[set setByAddingObjectsFromSet:[_parent bindings]]
+ : (id)set);
+}
+
-(void) setValue:(id)value forBinding:(MLKSymbol *)symbol;
{
[self setBinding:symbol to:value inEnvironment:self];