Ero sivun ”Haskell” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p {{Oikeudet}} |
Mainittu GHCI ja Stack, sekä muita pieniä parannuksia. |
||
| (8 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä) | |||
| Rivi 1: | Rivi 1: | ||
{{perustietoa}} | {{perustietoa}} | ||
{{Ohjelmointikieli | |||
| nimi=Haskell | |||
| paradigma=funktionaalinen | |||
| tyypitys=vahva, staattinen | |||
| suoritusmalli=käännettävä | |||
| evaluointitapa=laiska | |||
| kotisivu=[https://www.haskell.org/ 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. | '''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ö== | ==Käyttö== | ||
{{Asenna|Glasgow Haskell Compiler|ghc}} | |||
< | Haskelia voi opetella tallentamalla ohjelman tiedostoon, jonka tiedostopääte on yleensä <tt>.hs</tt>. Käynnistä tekstimuokkaimessa ja lisää seuraavat rivit. | ||
<syntaxhighlight lang="haskell"> | |||
</ | module Main where | ||
main = putStrLn "Hei maailma!" | |||
</syntaxhighlight> | |||
{{Oikeudet}} | {{Oikeudet}} | ||
heiMaailma.hs tiedosto voidaan kääntää lähes monien jakelupakettien mukana tulevalla [[ | heiMaailma.hs tiedosto voidaan kääntää lähes monien jakelupakettien mukana tulevalla [[GHC]]-ohjelmalla seuraavasti: | ||
$ [[ghc]] --make -O2 heiMaailma.hs -o heiMaailma | $ [[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 <tt>ghci</tt> | |||
Monille [[Tekstieditori|tekstieditoreille]] on olemassa oma tila Haskell-ohjelmointia varten. | |||
Muiden tekemiä Haskell-moduuleja voi asentaa <tt>stack</tt>-työkalulla (voi myös käyttää vanhempaa <tt>cabal</tt>-työkalua). | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[[wikipedia:fi:Haskell|Haskell Wikipediassa]] | *[[wikipedia:fi:Haskell|Haskell Wikipediassa]] | ||
*[http://www.haskell.org/ Haskellin kotisivu] | *[http://www.haskell.org/ Haskellin kotisivu] | ||
*[https://haskell.mooc.fi Ilmainen Haskell-MOOC - mooc.fi] | |||
*[http://antti-juhani.kaijanaho.fi/iki/tekstit/ohjsem99/ Antti-Juhani Kaijanaho: Haskell 98: Puhdasta funktionalismia nonstriktissä paketissa] | *[http://antti-juhani.kaijanaho.fi/iki/tekstit/ohjsem99/ Antti-Juhani Kaijanaho: Haskell 98: Puhdasta funktionalismia nonstriktissä paketissa] | ||
*[https://docs.haskellstack.org/en/stable/ Stack-työkalun kotisivut] | |||
*[https://hoogle.haskell.org Hoogle - Haskell hakukone] | |||
{{Ohjelmointikielet}} | |||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||
[[Luokka:Funktionaaliset ohjelmointikielet]] | |||