Haskell

Wikipedia

Loikkaa: valikkoon, hakuun
Paradigma funktionaalinen
Tyypitys vahva, staattinen
Yleinen suoritusmalli -
Muistinhallinta Automaattinen
Julkaistu -
Kehittäjä -
Viimeisin vakaa versio -
Viimeisin julkaisupäivä -
Viimeisin kehitysversio -
Merkittävimmät toteutukset GHC, Hugs
Vaikutteet Miranda, ML
Vaikuttanut -
Murteet Helium
Käyttöjärjestelmä alustariippumaton
WWW-sivut haskell.org
Uutisryhmä comp.lang.haskell

(muokkaa)

Haskell on standardoitu, puhtaasti funktionaalinen ohjelmointikieli. Se on nimetty matemaatikko Haskell Curryn mukaan. Sitä on kehitetty vuodesta 1987. Päästandardi on Haskell 98, joka määrittelee kielen ytimen, jossa on kaikki perustoiminnallisuus, joka on siirrettävä ja joka on sopiva opetuskäyttöön. Lähes kaikki kielen toteutukset tuovat näiden päälle omia laajennuksiaan. Tunnetuimpia toteutuksia ovat GHC (Glasgow Haskell Compiler) ja Hugs (interaktiivinen tulkki).

Joitain kielen tärkeitä ominaispiirteitä ovat hahmonsovitus (engl. pattern matching), funktion osittainen soveltaminen (eli currying), listankäsittely, vartiolausekkeet ja määriteltävät operaattorit. Kieli myös tukee rekursiivisia funktioita, algebraisia tietotyyppejä ja laiskaa laskemista. Erityisiä piirteitä ovat monadit ja tyyppiluokat. Näiden ansiosta Haskellilla on helppo kirjoittaa tietyntyyppisiä ohjelmia, joiden kirjoittaminen olisi huomattavasti vaikeampaa proseduraalisilla ohjelmointikielillä.

Tällä hetkellä Haskell on saanut suosiota lähinnä akateemisissa piireissä, ja se on ainakin Yhdysvalloissa yksi suosituimpia tutkimuskäytössä olevia kieliä sekä kansainvälisesti yksi tärkeimmistä akateemisista ohjelmoinnin opetukseen käytettävistä kielistä. Tästä huolimatta kieltä käytetään jonkin verran myös kaupallisilla aloilla (mm. Credit Suisse ja Linspire [1]). Avoimen lähdekoodin projekteissa sitä käytetään hyvin vähän, joskin muutama merkittävä poikkeus löytyy, kuten Audrey Tangin Pugs (Perl 6:n kääntäjä) sekä Darcs (hajautettu versionhallintajärjestelmä).

[muokkaa] Esimerkki

Funktionaalisten ohjelmointikielien vastine hei maailma -ohjelmalle on kertomafunktio. Haskell-versio:

kertoma :: Integer → Integer
kertoma 0 = 1
kertoma n = n * kertoma (n - 1)

Ensimmäisellä rivillä täsmennetään, että "kertoma" on funktio, joka tarvitsee argumenttinaan kokonaisluvun ja palauttaa kokonaisluvun. Seuraavilla riveillä määritellään kaksi erilaista funktion määritelmää: nollan kertoma on 1, ja n:n kertoma on n \times kertoma(n-1). Se, kumpaa funktiota kutsutaan, määräytyy kaavantunnistuksen avulla.

[muokkaa] Lähteet

  1. CUFP 2006 Abstracts Viitattu 25.6.2007. (englanniksi)

[muokkaa] Aiheesta muualla

Yleisimmät ohjelmointikielet (luettelo)

Tuotantokäytössä: Ada | APL | AWK | Assembly | C | C++ | C# | COBOL | Delphi | Eiffel | Fortran | Java | JavaScript | Lua | Lisp | Objective-C | Pascal | Perl | PHP | PostScript | Python | Ruby | Smalltalk | TCL | Visual Basic

Akateemiset: CLU | Haskell | Logo | ML | OCAML | Prolog | Scheme

Historialliset: ALGOL | BASIC | Modula-3 | MUMPS | Plankalkül | PL/I | Simula


Tietotekniikkatyngät Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.
Voit auttaa laajentamaan myös muita samankaltaisia artikkeleita.
Henkilökohtaiset työkalut