Re:Wolfram Language
by lispm on Wednesday November 27, 2013 @01:10PM
(#6809916)
I'm asking if first class functions also can be closures. Does it use lexical binding?
[ Parent
| on HN ]
i think i answered that question already, which is yes, but technically no. here is a rough Javascript version of the original example:
makeObj[] := Module[{obj, i = 0},
obj["inc"] := ++i;
obj["dec"] := --i;
obj[] := i;
obj];
makeObj = function() {
var i = 0;
var obj = function(in) {
switch(in) {
case "inc" : return ++i;
case "dec" : return --i;
case undefined: return i;
};
};
return obj;
};