Racket tutorial highlights the enduring legacy of Lisp in modern programming
A new guide to the Racket programming language traces its lineage from 1958 to the present, illustrating how a language designed for artificial intelligence research has evolved into a tool for building custom syntax.
A recently published tutorial offers a beginner’s guide to Racket, a modern dialect of Lisp that has evolved significantly since its origins in 1958. The article, titled "A Friendly Introduction to Racket," positions the language as a descendant of Scheme and PLT Scheme, highlighting its unique focus on language-oriented programming. In this paradigm, code is treated as data, allowing developers to create custom syntax and macros with relative ease.
The guide traces the historical trajectory of Lisp, which was invented by John McCarthy at MIT in 1958. It notes that Lisp is the second-oldest high-level language still in use, surpassed only by Fortran, which dates to 1957. For decades, Lisp was central to artificial intelligence research, with dedicated hardware such as Lisp Machines built by Symbolics and LMI during the 1970s and 1980s. Although funding dried up during the "AI winter," the language’s core ideas persisted and mutated through subsequent developments.
The evolution continued in 1975 when Gerald Sussman and Guy Steele created Scheme, a minimalist Lisp intended for academic use. This was followed in 1995 by the creation of PLT Scheme by Matthias Felleisen’s group, which was designed for education and programming language research. The project was renamed Racket in 2010, transforming it into a comprehensive environment for building languages. The article describes Racket’s unofficial motto as "language-oriented programming," suggesting that users can construct a custom language in an afternoon if their problem requires one.
The tutorial covers fundamental concepts such as basic syntax, list processing, and recursion. It explains that in Lisp, lists are the fundamental structure, and the language’s homoiconicity allows programs to treat code as data. This feature enables real macros that manipulate code before execution, distinct from the text macros found in languages like C. The guide includes practical examples, such as defining a custom while loop and using Racket’s built-in graphics libraries to generate a Sierpinski triangle.
The piece also references the animated series The Amazing Digital Circus, specifically episode 8, where the character Caine is shown to be programmed in Lisp with a file named Caine-core.lisp. This cultural reference underscores the language’s continued presence in creative and technical fields. The tutorial notes that Racket’s tooling includes the raco command for package management and the racket command for accessing the REPL, providing a structured environment for experimentation.
By the end of the guide, readers are expected to have written their own syntax, demonstrating the practical application of Racket’s design philosophy. The article concludes by invoking Alan Kay’s description of Lisp as "the Maxwell’s equations of software," a tiny core from which everything else can be derived. This perspective frames Racket not just as a programming language, but as a foundational system for understanding computational logic.


