Programming Language for Old Timers


by David A. Moon
February 2006 .. September 2008

Comments and criticisms to dave underscore moon atsign alum dot mit dot edu.


Last updated 4/22/2012.

Table of Contents

Introduction
General Principles
Organizing Mechanisms
Function Invocation
Introductory Examples
Data Model
Data Classes
Sequence Iteration Protocol
Collection Protocol
Array Protocol
Dictionary Protocol
Stream Protocol
Executable Code Model
Executable Code Classes
Source Code Model
Residential Semantics
Compile-Time Types
Metasyntax
Hygienic Macros
Lexical Syntax
Newlines
Names, Particles, And Tokens
Naming Conventions
Pattern Syntax
Template Syntax
Program Syntax
Expression Syntax
Operators
Summary Of Built-Ins
Assignment
Statements
Definition Statements
Control Statements
Iteration Statements
Source Code Of The For Macro
Argument-Lists
Parameter Lists
Method Heads
Typed Variables
Type Specifiers
Def Statement
Defun Statement
Destructuring
Defclass
Protocol Definition
Annotations
Token Streams
Parsing Helper Functions
Source Locations
Modules
Data Syntax
String Template Syntax
Casting And Delegation
Definitions At Macro Expansion Time
Why No Multiple Values?
Code Walking
Dynamic Binding
S-Expressions
List Comprehensions
Enumeration Types
Regular Expressions
Change History