SCAM, a flexible, scheme-like language for teaching programming language concepts
John C. Lusth · 2014
Scam is a Scheme-like programming language designed for teaching a wide variety of programming language concepts. Scam, at its heart, is an impure functional language, designed to be modified and extended. There are no keywords in the language and every special form, including function definition, is a true function that can be overridden. Consequently, SCAM is ideal for introducing concepts such as object encapsulation and inheritance, aspects, and language subsetting. Both Implementations and applications of these concepts can be added to Scam via student programming projects. This paper introduces Scam and gives a series of projects and solutions that are appropriate for a Programming Languages course.