b'\n_START_ARTICLE_\nScheme\n_START_PARAGRAPH_\nScheme \xc3\xa4r en dialekt av programspr\xc3\xa5ket Lisp, uppfunnet av Guy Lewis Steele Jr. och Gerald Jay Sussman p\xc3\xa5 MIT och d\xc3\xb6k upp n\xc3\xa5gon g\xc3\xa5ng p\xc3\xa5 1970-talet. Det \xc3\xa4r en av de tv\xc3\xa5 st\xc3\xb6rsta dialekterna tillsammans med CommonLisp. Filosofin bakom spr\xc3\xa5ket \xc3\xa4r minimalistisk, det finns v\xc3\xa4ldigt begr\xc3\xa4nsade programbibliotek utan anv\xc3\xa4ndaren f\xc3\xa5r sj\xc3\xa4lv skapa de flesta funktioner fr\xc3\xa5n grunden. Scheme anv\xc3\xa4nds i undervisningssyfte p\xc3\xa5 flera universitet runt om i v\xc3\xa4rlden (tidigare \xc3\xa4ven i Sverige).  M\xc3\xa5nga kurser anv\xc3\xa4nder sig av Sussmans bok  Structure and Interpretation of Computer Programs._NEWLINE_Scheme anv\xc3\xa4nder sig enligt spr\xc3\xa5kdefinitionen av svansrekursion . Det blir p\xc3\xa5 s\xc3\xa5 s\xc3\xa4tt l\xc3\xa4tt att g\xc3\xb6ra en iterativ process av en rekursiv funktion.\n_START_SECTION_\nProgramexempel\n_START_PARAGRAPH_\nDet klassiska programmet "Hello, world!"_NEWLINE_(display "Hello, world!")(newline)_NEWLINE_Rekursiv funktion som r\xc3\xa4knar ut fakulteten av ett tal n:_NEWLINE_(define (fakultet n)_NEWLINE_  (if (= n 0)_NEWLINE_    1_NEWLINE_    (* n (fakultet (- n 1)))))_NEWLINE_Denna funktion kommer att bli en rekursiv process, f\xc3\xb6r att ett extra tal m\xc3\xa5ste h\xc3\xa5llas i minnet varje g\xc3\xa5ng funktionen anropas. _NEWLINE_Om man ist\xc3\xa4llet betraktar den h\xc3\xa4r varianten f\xc3\xb6r faktultetsber\xc3\xa4kning:_NEWLINE_(define (fakultet n)_NEWLINE_  (define (fakultet-iter n sum)_NEWLINE_    (if (= n 0)_NEWLINE_       sum_NEWLINE_       (fakultet-iter (- n 1) (* n sum))))_NEWLINE_   (fakultet-iter n 1))_NEWLINE_H\xc3\xa4r har vi en inre hj\xc3\xa4lpfunktion som h\xc3\xa5ller reda p\xc3\xa5 mellanv\xc3\xa4rdena vid fakultetsber\xc3\xa4kningen och samlar upp dem. Hj\xc3\xa4lpfunktionen \xc3\xa4r rekursiv, men p\xc3\xa5 grund av Schemes svansrekursion kommer denna process bli iterativ, och d\xc3\xa4rmed inte kr\xc3\xa4va lika mycket av datorns minne.'