Introduktion till Haskell -språket

Innehållsförteckning

Låt oss se a introduktion till programmeringsspråket Haskell, Det handlar om en funktionellt språk. I denna typ av språk kommer funktionerna att utföra en beräkning och de kommer att returnera något, det har ingen sekundär effekt. Dessutom kan variabler bara ta ett värde, det vill säga om vi har en variabel som heter n som vi tilldelar värdet 10, kommer n att vara värt 10, vi kan inte få det att bli 14 eller 3.

Haskell är ett statiskt skrivet språkEtt annat exempel på språk som detta är Java, det betyder att när vi kompilerar en kod kommer kompilatorn att veta vilken typ av data som tillhör en del av minnet (heltal, sträng, tecken, booleskt, etc.), i motsats till vad som händer i dynamiska språk, till exempel Python eller Ruby.

Detta språk gör lata utvärderingar, det kommer inte att göra en beräkning förrän ett värde är helt nödvändigt, och det kommer också att förhindra att denna utvärdering upprepas om vi behöver beräkningen senare. För exponentiella funktioner är det något intressant, eftersom det kommer att bidra till att minska körtiden.

Efter en introduktion till några av språkets egenskaper, kommer vi att börja med åtgärden, handledningen kommer att vara helt praktisk, det första vi behöver är att installera Haskell på vårt system, för denna handledning kommer Ubuntu att användas, därför kommer jag att utföra följande kommando i terminalen:

 sudo apt-get installera haskell-plattform
Om du använder ett annat operativsystem lämnar vi dig en knapp till den officiella Haskell -sidan, där du hittar hur du fortsätter med installationen, antingen på Windows, Mac eller annan Linux -distribution:

LADDA NER HASKELL

Låt oss börja med övning, vi delar upp handledningen i exempel, med det enklaste.

Exempel 1
Vi ska börja med att starta Haskell -konsolen, för detta i en terminal skriver vi följande kommando:

 ghci
Som ni ser laddar vi:

Promp är Prelude, vi kan ändra det, i det här fallet kommer vi att lägga det i hkl, för detta kommer vi att utföra:

 : ställ in prompten "hskl>"
Vi ser hur det har förändrats:

För att avsluta med det första exemplet, kommer vi att se hur man gör några operationer i den här konsolen, nedan är fången av exemplen, vi kan se en summa, en division (vi ser att den visar oss decimaler, på andra språk Det skulle ha returnerat heltalet), och en operation med parenteser, för att uppskatta dess funktion.

NoteraOm vi ​​vill lämna Haskell -konsolen skriver vi:

 : Vad
Och vi ger entré.

Exempel 2
I följande exempel kommer vi att arbeta med booleska datatyper, se följande bild för att förstå deras användning:

Det kräver ingen ytterligare förklaring, vi använder och (&&) och eller (||), förutom negation (inte). För tillfället är allt enkelt, som vi kan se.

Exempel 3
Vi kan jämföra strängar, tal, som vi gör på andra språk, låt oss se hur det fungerar:

Jämförelsen mellan olika typer ger oss ett fel, som förväntat.

Exempel 4
I det här exemplet kommer vi att se funktioner som vi har i Haskell, som vi förmodligen kommer att använda ofta:

Vi förklarar funktionerna i föregående skärmdump:

  • succ x: Returnerar efterföljaren till x, om x är 3, returnerar 4.
  • min x y: Returnerar minsta tal mellan x och y, om y är 3 och x är 2, returnerar x.
  • max x y: Returnerar maximalt x och y, i exemplet med 3 och 2 returnerar det 3.

Exempel 5
I det här exemplet ska vi skapa någon "funktion":

Vi ser att vi har skapat exp -funktionen, vilket den gör är kvadratiskt ett tal, och en funktion som heter dubbel, som kommer att returnera dubbelt så mycket som vi skickar till den, du kan också se att du kan kombinera vad en funktion returnerar med andra operationer som tillägg.

Exempel 6
Vi kommer att skapa vår egen maximala funktion, men för 3 nummer, och vi kommer att använda den, under fångsten:

Exempel 7
Vi kommer att se andra funktioner som vi kan arbeta med i Haskell, de är enkla, vi kommer att tillämpa dem på listor.

Vi ser hur i det vad den gör är att returnera listan utan det sista elementet, svans det gör det motsatta, det returnerar listan utan det första elementet. Om vi ​​ser huvud returnerar det första elementet i listan och naturligtvis sista returnerar det sista elementet. Och de två sista funktionerna, längd ger oss längden på listan och omvänd Han lämnar tillbaka den till oss och vände om. Det finns fler funktioner, men det är inte syftet med självstudien att se dem alla, bara för att ge en approximation så att du kan börja arbeta med Haskell.

Exempel 8
Vi kommer att se det sista exemplet som kommer att beräkna faktorialet för ett tal, som kommer att försöka skapa en fil, kompilera den och köra den, vi kommer att skapa en fil som heter test.hs och i den ska vi lägga till följande kod:

 fac n = (om n == 0 då 1 annat n * fac (n-1)) main = print (fac 3)
För att kompilera använder vi följande rad:
 ghc -o test test.hs
Och för att utföra det sätter vi:
 ./testa
Här är utgången:

Tja, det här är självstudien på Haskell programmeringsspråkOm du redan har erfarenhet av att programmera snabbt kommer du att få kläm på det, men om du inte är van vid funktionella språk till en början kan programmeringen vara något konstig.

Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave