From 2283b43f733d95fe1c95fd0b7b838a1d450b007a Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Tue, 24 Jun 2008 16:16:11 +0200 Subject: Make the environment handling system aware of bindings as first-class values. --- MLKEnvironment.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'MLKEnvironment.h') 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; -- cgit v1.2.3