Haskell

Linux.fista
Versio hetkellä 22. huhtikuuta 2025 kello 11.32 – tehnyt EgoLuser (keskustelu | muokkaukset) (Mainittu GHCI ja Stack, sekä muita pieniä parannuksia.)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun
Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.
Haskell
Paradigma funktionaalinen
Tyypitys vahva, staattinen
Evaluointitapa laiska
Suoritusmalli käännettävä
Kotisivu haskell.org

Haskell on akateemisissa piireissä suosittu puhtaasti funktionaalinen ohjelmointikieli. Sen käyttö avoimen lähdekoodin projekteissa on vähäistä lukuunottamatta mm. Darcs-versionhallintatyökalua tai Pandoc-dokumenttityökalua.

Käyttö[muokkaa]

Glasgow Haskell Compiler löytyy useimpien jakeluiden paketinhallinnasta nimellä ghc. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Haskelia voi opetella tallentamalla ohjelman tiedostoon, jonka tiedostopääte on yleensä .hs. Käynnistä tekstimuokkaimessa ja lisää seuraavat rivit.

module Main where

main = putStrLn "Hei maailma!"
Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.

heiMaailma.hs tiedosto voidaan kääntää lähes monien jakelupakettien mukana tulevalla GHC-ohjelmalla seuraavasti:

$ ghc --make -O2 heiMaailma.hs -o heiMaailma

Kuitenkaan aina ei tarvitse kääntää koodia ennen kuin voi alkaa testailemaan kuinka Haskell toimii. GHC sisältää myös interaktiivisen REPL-konsolin, jonka saa avattua komennolla ghci Monille tekstieditoreille on olemassa oma tila Haskell-ohjelmointia varten.

Muiden tekemiä Haskell-moduuleja voi asentaa stack-työkalulla (voi myös käyttää vanhempaa cabal-työkalua).

Aiheesta muualla[muokkaa]

v  k  m
Ohjelmointikielet
 Käännettävät  Assembly | C | C++ | Go | Haxe | Haskell | Java | Pascal
 Tulkattavat  Python | Perl | PHP | Ruby
 -skriptikielet  Lua | Bash
 GPGPU  OpenCL
 muut  GLSL