diff options
Diffstat (limited to 'sca-cpp/trunk/modules/scheme/environment.hpp')
-rw-r--r-- | sca-cpp/trunk/modules/scheme/environment.hpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sca-cpp/trunk/modules/scheme/environment.hpp b/sca-cpp/trunk/modules/scheme/environment.hpp index bfb415a978..303a37cb3c 100644 --- a/sca-cpp/trunk/modules/scheme/environment.hpp +++ b/sca-cpp/trunk/modules/scheme/environment.hpp @@ -118,8 +118,11 @@ const value definitionVariable(const value& exp) { const value definitionValue(const value& exp) { const list<value> exps(exp); - if(isSymbol(car(cdr(exps)))) + if(isSymbol(car(cdr(exps)))) { + if (isNil(cdr(cdr(exps)))) + return value(); return car(cdr(cdr(exps))); + } const list<value> lexps(car(cdr(exps))); return makeLambda(cdr(lexps), cdr(cdr(exps))); } |