Source §3 Concurrent is a small programming language, designed for the third chapter of the textbook Structure and Interpretation of Computer Programs, JavaScript Adaptation (SICP JS).
What names are predeclared in Source §3 Concurrent?
On the right, you see all predeclared names of Source §3 Concurrent, in alphabetical order. Click on a name to see how it is defined and used. They come in these groups:
- AUXILIARY: Auxiliary constants and functions
- MISC: Miscellaneous constants and functions
- MATH: Mathematical constants and functions
- LISTS: Support for lists
- PAIRMUTATORS: Mutating pairs
- ARRAYS: Support for arrays
- STREAMS: Support for streams
- CONCURRENCY: Support for concurrency
What can you do in Source §3 Concurrent?
You can use all features of Source §3 and all features that are introduced in chapter 3.4 of the textbook. Below are the features that Source §3 Concurrent adds to Source §3.
Concurrency
To introduce concurrency into your programs, you can use the
functions in the CONCURRENCY library. The program
runs concurrently with the threads that it creates. The program terminates when
all threads terminate. Any result value from any of the threads, including the
program's thread, are ignored. Use the predeclared display
function to display
result values.
You want the definitive specs?
For our development team, we are maintaining a definitive description of the language, called the Specification of Source §3 Concurrent. Feel free to take a peek!