Scheme
De programmeertaal Scheme is een functionele programmeertaal. Het is een dialect van de programmeertaal Lisp. Guy L. Steele en Gerald Jay Sussman ontwikkelden het in de jaren 1970 en presenteerden het aan de academische wereld in de zogenaamde 'Lambda Papers'. De taal heette oorspronkelijk "Schemer", in de traditie van talen als Planner en Conniver maar werd ingekort door de beperkingen van het ITS besturingssysteem dat geen bestandsnamen toeliet met meer dan 6 karakters.
De filosofie achter Scheme is minimalisme. Het doel is niet om uitbreiding op uitbreiding te stapelen, maar om zwakheden en beperkingen te verwijderen die uitbreidingen nodig schijnen te maken. Daarom heeft Scheme zo min mogelijk primitieven waarmee de rest geïmplementeerd kan worden. Het belangrijkste mechanisme voor control flow is staartrecursie.
Scheme was de eerste variant van Lisp die uitsluitend lexicaal variabelenbereik (in tegenstelling tot dynamisch variabelenbereik) gebruikte. Net zoals Lisp, gebruikt Scheme garbage collection om geheugenplaatsen met ongebruikte data te hergebruiken. De taal gebruikt lijsten als belangrijke datastructuur, maar kent daarnaast vele andere. Door het minimalisme van de Scheme specificatie, bestaat er geen standaard syntax voor het maken van structuren met benoemde velden, of ondersteuning voor object-georiënteerd programmeren, maar bijna elke implementatie ondersteunt deze uitbreidingen.
Kenmerkend aan Scheme is dat het gebruik maakt van prefix notatie van bewerkingen in plaats van het meestgebruikte infix. Bijvoorbeeld 3+5 is een infix notatie voor de optelling (de operator + bevindt zich tussen de 3 en de 5) terwijl + 3 5 de prefix notatie is vermits de operator (+) zich tussen de twee operanden bevindt ( 3 en 5).
[bewerk] Externe link
Structure and Interpretation of Computer Programs standaardwerk door Abelsson en Sussman, gratis online te raadplegen.