A Scheme programozási nyelv

Bevezetés

A Scheme nem tisztán funkcionális nyelv. (Imperatív, csak a magja funkcionális.) A funkcionális mag a lambda kalkuluson alakul. Ebben a fejezetben csak a funkcionális magról, és érintőlegesen az I/O-ról lesz szó.

A funkcionális programozásban a paraméterek töltik be azt a szerepet, amit az imperatív programozásban az értékadások. A Scheme nyelv a LISP-ből származik. A szintaxis javarészt megegyezik a LISP-ével. Mindkét nyelv fő alkalmazási területe a mesterséges intelligencia.

A Scheme tisztán funkcionális része a matematikai kifejezésekével azonos szemantikával rendelkezik. Figyelmeztetés: a Scheme kiértékeli a függvények argumentumait a törzs kiértékelése előtt (ezt szigrú kiértékelésnek nevezzük). Ez nem okoz problémát addig, míg az argumentumok numerikus értékek, azonban a nemnumerikus argumentumok elé aposztrofót kell tenni, hogy megakadályozzuk a kiértékelésuket. Hogy ez miért fontos, az kiderül a következő fejezetek példáiból.

A Scheme gyengén típusos nyelv dinamikus típusellenőrzéssel és lexikális hatásköri szabályokkal.