diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-24 16:16:11 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-24 16:16:11 +0200 |
commit | 2283b43f733d95fe1c95fd0b7b838a1d450b007a (patch) | |
tree | badefcef9ef5fd625b3de6d4bfee8ee27d72ced3 /MLKEnvironment.h | |
parent | 62b2dbaa3d0500abb51ddf88b2e84ff9ebc22846 (diff) |
Make the environment handling system aware of bindings as first-class values.
Diffstat (limited to 'MLKEnvironment.h')
-rw-r--r-- | MLKEnvironment.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/MLKEnvironment.h b/MLKEnvironment.h index ef357f6..0789b1a 100644 --- a/MLKEnvironment.h +++ b/MLKEnvironment.h @@ -17,6 +17,7 @@ */ #import "MLKLispValue.h" +#import "MLKBinding.h" @class NSMutableDictionary, MLKSymbol, NSSet; @@ -27,28 +28,25 @@ NSMutableDictionary *_bindings; } -+(void) initialize; - -(MLKEnvironment *) init; -(MLKEnvironment *) initWithParent:(MLKEnvironment *)parent; --(MLKEnvironment *) initWithBindings:(NSDictionary *)bindings; --(MLKEnvironment *) initWithParent:(MLKEnvironment *)parent bindings:(NSDictionary *)bindings; +-(MLKEnvironment *) initWithValues:(NSDictionary *)bindings; +-(MLKEnvironment *) initWithParent:(MLKEnvironment *)parent + values:(NSDictionary *)bindings; -(MLKEnvironment *) parent; -(NSSet *) bindings; -(void) addBindingForSymbol:(MLKSymbol *)symbol; -(void) addBindings:(NSDictionary *)bindings; +-(void) addValues:(NSDictionary *)bindings; -(void) addValue:(id)value forSymbol:(MLKSymbol *)symbol; -(void) setValue:(id)value forSymbol:(MLKSymbol *)symbol; +-(MLKBinding *) bindingForSymbol:(MLKSymbol *)symbol; -(id) valueForSymbol:(MLKSymbol *)symbol; -(MLKEnvironment *) environmentForSymbol:(MLKSymbol *)symbol; -// Private methods. --(void) setBinding:(MLKSymbol *)symbol to:(id)value inEnvironment:(MLKEnvironment *)env; --(id) valueForSymbol:(MLKSymbol *)symbol inEnvironment:(MLKEnvironment *)env; - -(BOOL) boundp:(MLKSymbol *)symbol; -(void) makunbound:(MLKSymbol *)symbol; |