Pattern Matching

In this article we briefly describe the generic topic of pattern matching in programming languages. We’ll see that this powerful technique is present in our every day programming, even if we may not notice it. Continue reading

Note 4. Two words about “hoisting”.

< ! --start donate block -->

< ! -- end donate block -->

My recent playground was the toy Scheme interpreter written in CoffeeScript. In the chapter of the metacircular evaluator of the SICP book, there is a section — 4.1.6 Internal Definitions suggesting to solve one interesting and subtle issue related to the (inner) definitions of functions. Continue reading

JavaScript. Ядро.

Read this article in: English, German, French, Chinese.

Обратите внимание: доступна обновленная вторая редакция данной статьи.

Данная обзорная лекция является обобщением того, что мы изучили в курсе “Тонкости ECMA-262-3“. Каждый раздел статьи содержит ссылки на соответствующие главы цикла ES3, который вы, в случае желания и интереса, можете рассмотреть подробно, получив более глубокие и детальные описания тем. Continue reading

JavaScript. The Core.

Read this article in: German, Russian, French, Polish.

Note: a new 2nd Edition of this article is available.

Note: see also Essentials of Interpretation course, where we build a programming language similar to JavaScript, from scratch.

< ! --start donate block -->

< ! -- end donate block -->

This note is an overview and summary of the “ECMA-262-3 in detail” series. Every section contains references to the appropriate matching chapters so you can read them to get a deeper understanding. Continue reading

ECMA-262-5 in detail. Chapter 2. Strict Mode.

< ! --start donate block -->

< ! -- end donate block -->

Introduction

In this chapter we will concentrate on another feature of the ECMA-262-5. The topic of the discussion is a strict variant (or strict mode) of an ECMAScript program. We’ll discuss the reasons for providing this feature, how it affects on some already existing semantic aspects and what can it restrict. Continue reading

ECMA-262-5 in detail. Chapter 1. Properties and Property Descriptors.

Read this article in: Russian.

< ! --start donate block -->

< ! -- end donate block -->

Introduction

This chapter is devoted generally to one of new concepts of the ECMA-262-5 specification — to property attributes and mechanism of their handling — property descriptors.

Usually saying that “an object has some property” we mean an association between a property name and its value. But as we know from the ES3 analysis, a property structure is more complex than just a string name. It also has set of attributes — those which we already discussed in ES3, e.g. {ReadOnly}, {DontEnum} and other. So from this viewpoint a property is as an object itself. Continue reading