Note 3. CoffeeScript. Scheme on Coffee.

After the recent ECMAScript article on lexical environments, I wanted to provide some practical implementation of the general scope theory and variables look-up in the environment.

A good candidate for that became a toy Scheme interpreter written in the new and excellent language CoffeeScript. Also, beside the environment features, this task is quite interesting to play with interpreters themselves and their theory. Continue reading

Note 1. ECMAScript. Bound functions.

As we know, ECMA-262-5 standardized bind method of the Function.prototype. The source of the current version of this method is “Prototype.js” library, although, the standardized version has several differences. This approach is well known and was successfully used in ES3, so the main purpose of the current note is to show the technical details and differences (which can cause confusing) of the ES5 implementation. Continue reading

Note 0. Intro.

The “Notes” section is just a collection of small notes, which are not required a big complete chapter or if the topic of a discussion does not touch exactly some fundamental aspects. Nevertheless, being not about fundamental topics, the notes will describe some essential questions. They can be small or still detailed. Continue reading