Scheme

FAQ

Vilken scheme ska man köra?
Jag tycker att chicken och gauche är de bästa när man ska göra riktiga program. Men till BSE? och freetalk? använder man guile och till GIMP (script-fu) använder man siod. Bra att vara slängd i lite olika m.a.o.
Varför är lisp det bästa språket?
För att man skriver in syntaxträden direkt med parenteser, och för att man kan göra om kod och data lätt mellan varandra.
Vad är skillnaden mellan CL och Scheme?
Med scheme har man gjort en medveten ansträngning att plocka bort så mycket crackrock som möjligt. Det finns lite kvar men mycket mindre. CL gjordes för att passa så många gamla lisprävar och lispföretag som möjligt. Det händer mycket spännande i CL-världen just nu så om man står ut med cracket så är det bara att köra. Obs, det finns många som tycker cracket är skönt. Det är inte så konstigt, annars vore det ju inte crackrock.

Så här är det

En lista som ska köra:

(print "hello " "world")

En lista som bara ska vara (en lista med data): (quote (print "hello world)) En kortform för detta: '(print "hello world")

Ok, nu blir det hårt: (print (list-ref '(print "hello world") 1))

'(print "hello world")

(list-ref '(print "hello world") 1) ett funktionsanrop som kör list-ref med en lista och en etta.
Vad gör list-ref? Den tar emot en lista och en siffra, och spottar ut det listelementet som motsvarar siffran. Men den börjar räkna på noll! Så i det här fallet är print noll, och »hello world« 1. så den spottar ut »hello world«.

Länkar