Lær Haskell-programmering: Kom i gang med dette funktionelle programmeringssprog

Afsløring: Din support hjælper med at holde webstedet kørt! Vi tjener et henvisningsgebyr for nogle af de tjenester, vi anbefaler på denne side.


Haskell programmeringssprog blev opkaldt efter logikeren Haskell Brooks Curry, hvis arbejde med matematisk logik bruges som fundament for funktionelle programmeringssprog.

Haskell implementerer også Lambda-beregningen, så det logo, der er valgt til Haskell, indeholder et stiliseret lambda-symbol.

Hvad er Haskell?

Haskell er et standardiseret, generel formål, multi-paradigme, rent funktionelt programmeringssprog, med doven evaluering, ikke-streng semantik og stærk statisk typning.

At være et rent funktionelt sprog betyder, at funktioner i Haskell ikke har bivirkninger, med en separat konstruktion tilvejebragt til at repræsentere bivirkninger – ortogonal.

Haskell har en åben, offentliggjort specifikation, og der findes mange Haskell-implementeringer under forskellige open source-licenser. Glasgow Haskell Compiler (GHC) er den vigtigste implementering af Haskell, og det er blevet den de facto standard Haskell-dialekt.

Haskell er vidt brugt i uddannelsesmæssige programmeringskurser og industri. For eksempel implementeres alle følgende i Haskell:

  • Xmonad-vinduesadministrator

  • Darcs revisionskontrolsystem

  • Linspire-systemværktøjsudvikling

  • Bluespec SystemVerilog halvlederdesignværktøjer

  • Facebook-beskyttelse mod spam

  • Cryptol kryptografisk algoritmer verifikation.

Kort historie

Interessen for dovne funktionelle programmeringssprog voksede efter frigivelsen af ​​Miranda, et doilt programmeringssprog, i 1985.

Under konferencen Funktionelle programmeringssprog og computerarkitektur i Portland blev der afholdt et møde, hvor deltagerne nåede en stærk enighed om at danne et udvalg, der skulle definere en åben standard for sådanne programmeringssprog.

Haskell version 1.0 blev defineret i 1990, baseret på semantikken i Miranda, men med en anden syntaks.

Udvalgets fortsatte arbejde resulterede i en række yderligere sprogdefinitioner fra 1.0 til 1.4. Haskell 98, der blev udgivet i slutningen af ​​1997, specificerede en minimal og stabil version af sproget med et ledsagende bibliotek som en stærk base for videreudvikling.

Haskell 2010, der blev offentliggjort i juli 2010, er den seneste stabile udgivelse. Denne Haskell-udgivelse introducerer understøttelse af den udenlandske funktionsgrænseflade (FFI), som tillader bindinger til andre programmeringssprog.

Funktioner

Haskell er et statisk typisk programmeringssprog, der bruger Hindley-Milner-typesystemet for at sikre typesikkerhed. Sproget introducerede også typeklasser – dets vigtigste innovation.

Haskell er rent funktionel, så hver funktion i Haskell er en funktion i ren matematisk forstand; der er ingen udsagn eller instruktioner.

I et Haskell-program behøver du ikke at definere typer eksplicit, de kan udledes af enhed. Typer kan stadig defineres strengt i kode, hvis du vælger at gøre det.

Haskell er doven evalueret, hvilket betyder, at funktioner ikke vurderer deres argumenter, hvilket muliggør let definition af kontrolstrukturer og optimal genbrug af kode.

Som andre funktionelle programmeringssprog har Haskell et automatisk hukommelsesstyringssystem gennem affaldsopsamling, hvor hukommelse automatisk tildeles og frigøres af affaldsopsamleren.

Kom godt i gang med Haskell

Hvis du har tidligere erfaring med programmeringsmetoder og logik eller andre funktionelle programmeringssprog, bør det ikke være et stort problem at komme i gang med Haskell-programmering.

Dit udviklingsmiljø

Før du kan starte kodning i Haskell, har du brug for et udviklingsmiljø. Vi foreslår at bruge Glasgow Haskell Compiler (GHC) inkluderet i Haskell Platform download, da det er den mest populære compiler til Haskell programmeringssprog.

Det er i øjeblikket tilgængeligt på de store tre operativsystemer: Mac OS X, Linux og Windows.

Installation af Haskell på disse operativsystemer er let gjort og veldokumenteret, vælg blot den rigtige download til dit operativsystem på Haskell Platform download-side, og følg installationsvejledningen.

Ressourcer

Vi undersøgte lidt for at finde de bedste Haskell-tutorials, e-bøger, interaktive kurser og andre ressourcer. Vi foreslår, at du prøver at bruge flere ressourcer og arbejde dig op til mere komplekse øvelser og projekter.

Haskell-kurser og -tutorials

For at se, hvad Haskell kan gøre, skal du prøve det praktisk. Disse tutorials og kurser giver et godt udgangspunkt:

  • En blid introduktion til Haskell, version 98 af Hudak, Peterson, Fasel er en gratis trin for trin-tutorial til Haskell. En gratis download tilgængelig.

  • Endnu en Haskell-tutorial (pdf) af Hal Daume er en meget god, gratis Haskell-tutorial, der giver en omfattende og praktisk introduktion til Haskell-programmering.

  • Prøv Haskell er en online IDE, der også kan køre Haskell-kode, med en integreret kort tutorial. Dette er et godt sted at hurtigt prøve nogle Haskell-koder.

  • School of Haskell har nogle gode læringsmaterialer, artikler og tutorials, både for begyndere og mere erfarne Haskell-programmører.

  • Haskell.org har en meget god dokumentationsafdeling, hvor du kan finde forskellige bøger, kurser, tutorials og andre ressourcer til Haskell-programmering.

Yderligere ressourcer

Arbejde gennem tutorials og officiel programmeringssprogreference med prøvekode kan hjælpe dig med at forstå Haskell-programmering meget bedre end teoretiske ressourcer. Dette er nogle af de mest omfattende og detaljerede ressourcer for Haskell:

  • Haskell 2010 sprograpport (pdf) definerer syntaks for Haskell-programmer og reference for Haskell-biblioteker.

  • Brugervejledningen til Glorious Glasgow Haskell Compilation System er en komplet brugervejledning til Glasgow Haskell Compiler

Når du først har nået det gennem de ressourcer og tutorials, der er anført ovenfor, skal du have en grundlæggende forståelse af Haskell-programmering.

Bøger

Vi har udpeget et par bøger, der dækker flere aspekter af Haskell-programmering. De fleste af disse e-bøger kommer fra Haskell-undervisere, og de vil være nyttige ressourcer for alle, der prøver at beherske sproget:

  • Real World Haskell af O’Sullivan, Stewart og Goerzen. Denne bog viser dig, hvordan du bruger funktionel programmering og Haskell til at løse realistiske hverdagsproblemer. Fås som gratis download eller til køb.

  • Lær dig en Haskell til god godt! af Miran Lipovaca er en sjov, illustreret guide til dette komplekse funktionelle sprog. Denne bog er pakket med forfatterens originale kunstværker og nyttig eksemplekode og lærer funktionelle grundlæggende ting på en måde, du aldrig troede var mulig. Fås som gratis download eller til køb.

  • Haskell-vejen til logik, matematik og programmering af Doets og van Eijck viser dig logik og matematisk resonnering i praksis og forbinder logisk resonnement med Haskell-programmering.

Resumé

Med denne introduktion og disse ressourcer, skal du være på vej til at blive en funktionel programmeringsekspert med Haskell.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map