Scheme

Wikipediasta
Siirry navigaatioon Siirry hakuun
Scheme
Paradigma funktionaalinen
Julkaistu 1970
Kehittäjä Guy L. Steele, Gerald Jay Sussman
Vaikutteet Lisp
Käyttöjärjestelmä alustariippumaton

Scheme on funktionaalinen ohjelmointikieli ja eräs Lisp-murteista.[1] Schemen kehittivät Guy L. Steele ja Gerald Jay Sussman 1970-luvulla. Schemen alkuperäinen nimi oli "Schemer", mutta käytetty ITS-käyttöjärjestelmä rajoitti tiedostojen nimet kuuteen merkkiin, joten lyhyempi nimi jäi käyttöön.

Scheme keskittyy minimaalisuuteen. Kielessä itsessään on mahdollisimman vähän toimintoja ja kaikki muu jätetään kirjastoille. Tätä kuvastaa hyvin se, että Schemen spesifikaatio, Revised5 th Report on the Algorithmic Language Scheme (R5RS), on noin 50 sivua verrattuna Common Lisp -spesifikaatioon, joka on noin 1 300 sivua.

Kieli käyttää latentiksi tyypitykseksi kutsuttua tyyppijärjestelmää.[2]

Esimerkkejä[muokkaa | muokkaa wikitekstiä]

Yhteenlasku:

 ;; tämä on kommentti
 (+ 5 5)

Funktion määrittely ja kutsu:

(define (laske-palkka tunnit tuntipalkka)
  (* tunnit tuntipalkka))

(laske-palkka 60 12)

Funktionaalisille ohjelmointikielille hei maailma -ohjelman vastine on kertomafunktio. Scheme-versio:

 (define (kertoma n)
   (cond
     ((zero? n) 1)
     (else (* n (kertoma (- n 1))))))

Käyttökohteita[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Harsu, Maarit: Ohjelmointikielet : periaatteet, käsitteet, valintaperusteet, s. 248. Helsinki: Talentum, 2005. ISBN 952-14-0981-9.
  2. 3.1.1 Latent Typing gnu.org. Viitattu 25.2.2020. (englanniksi) 

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Commons
Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Scheme.

Scheme-toteutuksia[muokkaa | muokkaa wikitekstiä]