JavaScript sublanguages for SICP JS

JavaScript §1 to §4 are a family of sublanguages, designed for the textbook Structure and Interpretation of Computer Programs, JavaScript Adaptation (SICP JS) and supported by the Source Academy system. The sublanguages are called JavaScript §1, JavaScript §2, JavaScript §3 and JavaScript §4, corresponding to the respective chapters 1, 2, 3 and 4 of the textbook. Each previous sublanguage is a sublanguage of the next, and all of them are sublanguages of full JavaScript. (Chapter 5 does not require any features beyond JavaScript §4.) This webpage contains the description of these JavaScript sublanguages and the libraries they come with.

JavaScript §1

JavaScript §2

JavaScript §3

JavaScript §4

Style guide

The JavaScript Style Guide gives general recommendations on how to write your programs so that they are readable by the members of our learning community.

Language variants

JavaScript §1 WebAssembly

JavaScript §1 Typed

JavaScript §2 Typed

JavaScript §3 Typed

JavaScript §4 Typed

JavaScript §4 Explicit-Control

Specifications

The following technical documents specify the languages and components of the Source Academy.

Specification of JavaScript §1

Specification of JavaScript §2

Specification of JavaScript §3

Specification of JavaScript §4

Specification of JavaScript §1 WebAssembly

Specification of JavaScript §1 Typed

Specification of JavaScript §2 Typed

Specification of JavaScript §3 Typed

Specification of JavaScript §4 Typed

Specification of JavaScript §4 Explicit-Control

Specification of JavaScript §1 Infinite Loop Detection

Specification of JavaScript §2 Stepper

Specification of JavaScript §3 Type Inference