News for hackers. Stuff that matters.
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?
Re:Wolfram Language by tokipin on Wednesday November 27, 2013 @08:12PM (#6812453)
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;
    };