Scheme

The programming language Scheme supports, due to its exceptionally clear and simple semantics, a variety of different programming styles: functional programming, imperative programming and object oriented programming. Due to its macro system it is possible for the programmer to extend the language with new language constructs in an easy and safe way.

The popularity in academia has lead to several production quality compilers of Scheme - each have their strengths. Implementations exist especially designed to excel in these areas: raw speed, Unix programming, cross platform programming, interaction with Java and education.

Historically Scheme is a descendant of McCarthy's Lisp.