Att organisera kod i funktioner

Haskell:
Att organisera kod i funktioner

Hur man gör:

Så här kan du skriva och använda funktioner i Haskell:

-- Definierar en enkel funktion för att lägga till två tal
addNumbers :: Int -> Int -> Int
addNumbers x y = x + y

-- Använda funktionen
main = print (addNumbers 3 5)

Utskrift:

8

Du kan också skapa funktioner av högre ordning:

-- Tar en funktion och tillämpar den två gånger på något
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- Använder applyTwice med en anonym funktion
main = print (applyTwice (*2) 5)

Utskrift:

20

Fördjupning

Haskell, ett rent funktionellt språk, behandlar funktioner som förstaklassens medborgare. Historiskt sett är detta rotat i lambda-kalkyl, ett grundläggande ramverk inom datavetenskap. Till skillnad från imperativa språk där funktioner är en sekvens av instruktioner, i Haskell är funktioner uttryck som beskriver relationer mellan data.

Det finns alternativ till att skriva råa funktioner för återanvändning. Överväg att använda typklasser för polymorfism eller att dra nytta av moduler för att gruppera relaterade funktioner. Haskell’s lata utvärdering påverkar också funktionernas implementering – funktioner evalueras inte förrän deras resultat behövs, vilket potentiellt kan påverka prestandaöverväganden.

Se även