Wat is een programmeertaal voor een schema?

Schema is een programmeertaal die een variatie is op Lisp. Het werd in 1975 gecreëerd door Guy Steele en Gerry Sussman in het laboratorium voor kunstmatige intelligentie van MIT. Het was het eerste dialect van Lisp dat vereist dat de implementaties tail call-optimalisatie gebruikten, met een sterke nadruk op met name functionele programmering en recursieve algoritmen.

De programmeertaal Schema maakt gebruik van een ontwerpfilosofie van minimalisme, specificeert een kleine standaardkern en biedt krachtige hulpmiddelen voor het uitbreiden van de taal. Het wordt veel gebruikt in educatieve en wetenschappelijke organisaties, vooral op het gebied van AI. Programmeurs die in Scheme schrijven zijn informeel bekend als "Schemers."

De syntaxis van het schema lijkt veel op Lisp. Het is gebaseerd op s-expressies: lijstjes tussen haakjes waarbij de operator eerst komt en de operanden volgen. Bijvoorbeeld, de uitdrukking "3 plus 4 maal 5" is geschreven in Schema als (+ 3 (* 4 5)).

Net als Lisp gebruikt Scheme het lambda-sleutelwoord om anonieme functies te representeren. De instructie (lambda (xy) (+ xy)) vertegenwoordigt bijvoorbeeld een anonieme functie die twee getallen toevoegt.

Andere opvallende kenmerken

  • Lexical scope - de bindingen van alle variabelen in Scheme worden bepaald door de eenheid van code waarin de variabele verschijnt.
  • Een gedeelde naamruimte voor variabelen en procedures - dezelfde primitieven die worden gebruikt om op variabelen te werken, kunnen ook worden gebruikt voor procedures en functies.
  • Een volledige set van numerieke gegevenstypen.
  • Vertraagde evaluatie, die de implementatie van asynchrone programmeertechnieken zoals beloftes en futures mogelijk maakt.
  • Hygene macro's - een macronagesysteem waarmee de programmeur de functionaliteit van de taal kan uitbreiden zonder de native syntax van de taal te verstoren.
  • Het vermogen om de eigen code zelf te evalueren.
  • Het vermogen om standaardprocedures en -functies te herdefiniëren.

Hallo Wereld! in schema

 (weergave "Hallo, Wereld!") 

  • Hoe maak ik een computerprogramma aan?
  • Programmageschiedenis programmeren.

Lisp, MIT, programmeertaal, programmeervoorwaarden