Naučite se Haskell Programiranja: začnite s tem funkcionalnim jezikom programiranja

Razkritje: Vaša podpora pomaga pri vzdrževanju spletnega mesta! Za nekatere storitve, ki jih priporočamo na tej strani, zaslužimo naročnino.


Programski jezik Haskell je dobil ime po logiki Haskell Brooks Curry, katere delo na področju matematične logike se uporablja kot temelj funkcionalnih programskih jezikov.

Haskell izvaja tudi izračun Lambda, zato logotip, izbran za Haskell, vsebuje stiliziran simbol lambda.

Kaj je Haskell?

Haskell je standardizirana večnamenska paradigma s splošnim namenom, povsem funkcionalen programski jezik, z lenobnim ocenjevanjem, nestrogo semantiko in močno statično tipkanjem.

Biti izključno funkcionalen jezik pomeni, da funkcije v Haskellu nimajo stranskih učinkov, z ločenim konstruktom, ki predstavlja stranske učinke – pravokotne.

Haskell ima odprto, objavljeno specifikacijo in veliko izvedb Haskell obstaja pod različnimi licencami odprtega izvora. Glasgow Haskell Compiler (GHC) je glavna izvedba Haskell in je postal dejansko standardni Haskell narečje.

Haskell se pogosto uporablja v izobraževalnih programih programov in industriji. Na primer, v Haskellu so izvedene vse naslednje:

  • Upravitelj oken Xmonad
  • Darcs sistem za nadzor revizije
  • Razvoj orodij sistema Linspire
  • Orodja za načrtovanje polprevodnikov Bluespec SystemVerilog
  • Facebook zaščita pred nezaželeno pošto
  • Verifikacija kriptografskih algoritmov.

Kratka zgodovina

Zanimanje za lene funkcionalne programske jezike je raslo po izdaji Mirande, lenega programskega jezika, leta 1985.

Med konferenco o funkcionalnih programskih jezikih in računalniški arhitekturi v Portlandu je potekal sestanek, na katerem so udeleženci dosegli močno soglasje, da so oblikovali odbor, ki bi moral določiti odprt standard za takšne programske jezike.

Različica Haskell 1.0 je bila določena leta 1990, ki temelji na semantiki Mirande, vendar z drugačno skladnjo.

Nadaljevanje dela odbora je povzročilo vrsto nadaljnjih jezikovnih opredelitev, od 1.0 do 1.4. Haskell 98, izdan konec leta 1997, je določil minimalno in stabilno različico jezika, s spremljevalno knjižnico kot močno osnovo za nadaljnji razvoj.

Haskell 2010, objavljen julija 2010, je zadnja stabilna izdaja. Ta izdaja Haskell predstavlja podporo za tuji funkcijski vmesnik (FFI), ki omogoča povezavo z drugimi programskimi jeziki.

Lastnosti

Haskell je programski jezik s statičnim tipom, ki uporablja sistem tipa Hindley-Milner za zagotovitev varnosti tipa. Jezik je uvedel tudi tipe razredov – njegova glavna inovacija.

Haskell je čisto funkcionalen, zato je vsaka funkcija v Haskellu funkcija v čistem matematičnem smislu; ni nobenih izjav ali navodil.

V programu Haskell vam ni treba izrecno definirati vrst, o njih je mogoče sklepati z združevanjem. Vrste lahko še vedno strogo določite v kodi, če se za to odločite.

Haskell je leno ocenjen, kar pomeni, da funkcije ne ocenjujejo njihovih argumentov, kar omogoča enostavno opredelitev kontrolnih struktur in optimalno ponovno uporabo kode.

Tako kot drugi funkcionalni programski jeziki ima tudi Haskell samodejni sistem upravljanja pomnilnika z zbiranjem smeti, kjer pomnilnik samodejno dodeli in sprosti zbiralnik smeti.

Uvod v Haskell

Če imate predhodne izkušnje s programiranjem in logiko ali drugimi funkcionalnimi jeziki programiranja, začetek s programiranjem Haskell ne bi smel predstavljati velike težave.

Vaše razvojno okolje

Preden lahko začnete s kodiranjem v Haskellu, potrebujete razvojno okolje. Predlagamo, da uporabite Glasgow Haskell Compiler (GHC), vključen v prenos Haskell Platform, saj je najbolj priljubljen prevajalnik za programski jezik Haskell.

Trenutno je na voljo v velikih treh operacijskih sistemih: Mac OS X, Linux in Windows.

Nameščanje Haskell-a na te operacijske sisteme je enostavno in dobro dokumentirano, preprosto izberite pravi prenos za vaš operacijski sistem na strani za prenos Haskell Platform in sledite navodilom za namestitev..

Viri

Nekaj ​​raziskav smo poiskali, da bi našli najboljše Haskell vadnice, e-knjige, interaktivne tečaje in druge vire. Predlagamo, da poskusite uporabiti več virov in se lotiti bolj zapletenih vaj in projektov.

Haskell tečaji in vaje

Če želite videti, kaj lahko Haskell stori, ga morate poskusiti. Te vaje in tečaji so dobro izhodišče:

  • Nežen uvod v Haskell, različica 98, Hudak, Peterson, Fasel je brezplačna vadnica korak za korakom do Haskela. Na voljo je brezplačen prenos.
  • Še en Haskell Tutorial (pdf) Hal Daume je zelo dober, brezplačen Haskell vadnik, ki ponuja izčrpen in praktičen uvod v Haskellino programiranje.
  • Poskusi Haskell je spletna IDE, ki lahko poganja Haskell kodo, z vgrajenim kratkim vadnikom. To je dobro mesto za hitro preizkušanje neke Haskell-ove kode.
  • Haskell School ima nekaj dobrih učnih gradiv, člankov in vaj, tako za začetnike kot za bolj izkušene Haskell programerje.
  • Haskell.org ima zelo dober razdelek za dokumentacijo, kjer najdete različne knjige, tečaje, vaje in druge vire za Haskell programiranje.

Dodatni viri

Delo skozi vaje in uradni jezik programskega jezika z vzorčno kodo vam lahko pomaga razumeti Haskell programiranje veliko bolje kot teoretični viri. To so najobsežnejši in najbolj podrobni viri za Haskell:

  • Jezikovno poročilo Haskell 2010 (pdf) določa sintakso za programe Haskell in referenco za knjižnice Haskell.
  • Navodila za uporabo sistema za kompilacijo Glowious Glasgow Haskell je popoln uporabniški priročnik za prevajalnik Glasgow Haskell

Ko to storite skozi zgoraj naštete vire in vadnice, bi morali imeti osnovno razumevanje Haskellinega programiranja.

Knjige

Izdvojili smo nekaj knjig, ki zajemajo več vidikov Haskellinega programiranja. Večino teh e-knjig priporočajo Haskell-ovi vzgojitelji in bodo koristni viri za vse, ki poskušajo obvladati jezik:

  • Resnični svet Haskell avtorja O’Sullivan, Stewart in Goerzen. Ta knjiga vam bo pokazala, kako uporabljati funkcionalno programiranje in Haskell za reševanje realnih vsakodnevnih težav. Na voljo kot brezplačen prenos ali za nakup.
  • Nauči se Haskell za veliko dobro! avtorja Mirana Lipovaca je zabaven, ilustriran vodnik po tem zapletenem funkcionalnem jeziku. Ta knjiga, polna avtorjevega izvirnega umetniškega dela in uporabne vzorčne kode, uči funkcionalne osnove na način, za katerega se vam ni zdelo, da je mogoče. Na voljo kot brezplačen prenos ali za nakup.
  • Pot Haskell do logike, matematike in programiranja Doets in van Eijck vam bo v praksi pokazala logično in matematično sklepanje ter logično sklepanje povezala s Haskell-ovim programiranjem.

Povzetek

S to predstavitvijo in temi viri bi morali na Haskellu postati strokovnjak za funkcionalno programiranje.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me