Introduzione alla lingua Haskell

Sommario

Vediamo un introduzione al linguaggio di programmazione Haskell, Si tratta di un linguaggio funzionale. In questo tipo di linguaggio le funzioni eseguiranno un calcolo e restituiranno qualcosa, non ha alcun effetto secondario. Inoltre le variabili possono assumere un solo valore, cioè se abbiamo una variabile chiamata n a cui assegniamo il valore 10, n varrà 10, non possiamo farla diventare 14, ovvero 3.

Haskell è un linguaggio tipizzato staticamenteUn altro esempio di linguaggio come questo è Java, questo significa che quando compiliamo un codice, il compilatore saprà che tipo di dati appartiene a una parte di memoria (intero, stringa, carattere, booleano, ecc.), contrariamente a quanto accade in linguaggi dinamici, come Python o Ruby.

Questo linguaggio fa valutazioni pigre, non effettuerà un calcolo fino a quando un valore non sarà completamente necessario e impedirà anche che questa valutazione venga ripetuta se il calcolo sarà necessario in un secondo momento. Per le funzioni esponenziali è qualcosa di interessante, poiché aiuterà a ridurre i tempi di esecuzione.

Dopo un'introduzione ad alcune delle caratteristiche della lingua, inizieremo con l'azione, il tutorial sarà completamente pratico, la prima cosa di cui avremo bisogno è installare Haskell sul nostro sistema, per questo tutorial verrà utilizzato Ubuntu, quindi eseguirò il seguente comando nel terminale:

 sudo apt-get install haskell-platform
Se utilizzi un altro sistema operativo, ti lasciamo un pulsante alla pagina ufficiale di Haskell, dove troverai come procedere con l'installazione, su Windows, Mac o un'altra distribuzione Linux:

SCARICA HASKELL

Iniziamo con la pratica, divideremo il tutorial in esempi, partendo dal più semplice.

Esempio 1
Inizieremo avviando la console Haskell, per questo in un terminale scriveremo il seguente comando:

 ghci
Come puoi vedere, carichiamo:

Il prompt è Prelude, possiamo cambiarlo, in questo caso lo metteremo in hkl, per questo eseguiremo:

 : imposta il prompt "hskl>"
Vediamo come è cambiato:

Per finire con il primo esempio, vedremo come eseguire alcune operazioni in questa console, di seguito è riportata la cattura degli esempi, possiamo vedere una somma, una divisione (vediamo che ci mostra i decimali, in altre lingue ​​avrebbe restituito la parte intera ), e un'operazione tra parentesi, per apprezzarne la funzione.

NotaSe vogliamo uscire dalla console Haskell scriviamo:

 : che cosa
E diamo entrare.

Esempio 2
Nell'esempio seguente lavoreremo con i tipi di dati booleani, vedere l'immagine seguente per capire il loro utilizzo:

Non richiede ulteriori spiegazioni, usiamo e (&&) e o (||), oltre alla negazione (non). Al momento è tutto facile, come si vede.

Esempio 3
Possiamo confrontare stringhe, numeri, come facciamo in altri linguaggi, vediamo come funziona:

Il confronto tra diversi tipi ci genera un errore, come previsto.

Esempio 4
In questo esempio vedremo le funzioni che abbiamo in Haskell, che probabilmente useremo spesso:

Spieghiamo le funzioni viste nello screenshot precedente:

  • succ x: restituisce il successore di x, se x è 3, restituisce 4.
  • min x y: restituisce il numero minimo tra x e y, se y è 3 e x è 2, restituisce x.
  • max x y: Restituisce il massimo di x e y, nell'esempio di 3 e 2, restituisce 3.

Esempio 5
In questo esempio creeremo alcune "funzioni":

Vediamo che abbiamo creato la funzione exp, che fa elevare al quadrato un numero, e una funzione chiamata double, che restituirà il doppio del numero che gli passiamo, puoi anche vedere che puoi combinare ciò che una funzione restituisce con altri operazioni come l'addizione.

Esempio 6
Creeremo la nostra funzione massima, ma per 3 numeri, e la useremo, sotto l'acquisizione:

Esempio 7
Vedremo altre funzioni con cui possiamo lavorare in Haskell, sono semplici, le applicheremo alle liste.

Vediamo come dentro quello che fa è restituire la lista senza l'ultimo elemento, coda fa il contrario, restituisce la lista senza il primo elemento. Se vediamo testa restituisce il primo elemento della lista e ovviamente ultimo restituisce l'ultimo elemento. E le ultime due funzioni, lunghezza ci dà la lunghezza della lista e inversione Ce lo restituisce voltato. Ci sono più funzioni, ma non è l'obiettivo del tutorial vederle tutte, solo per dare un'approssimazione in modo da poter iniziare a lavorare con Haskell.

Esempio 8
Vedremo l'ultimo esempio che calcolerà il fattoriale di un numero, che proverà a creare un file, compilarlo ed eseguirlo, creeremo un file chiamato test.hs e in esso aggiungeremo il seguente codice:

 fac n = (se n == 0 allora 1 altrimenti n * fac (n-1)) main = print (fac 3)
Per compilare usiamo la seguente riga:
 ghc -o test test.hs
E per eseguirlo mettiamo:
 ./test
Ecco l'output:

Bene, questo è il tutorial sul Linguaggio di programmazione HaskellSe hai già esperienza di programmazione veloce, ne prenderai la mano, anche se all'inizio non sei abituato ai linguaggi funzionali, la sua programmazione potrebbe essere alquanto strana.

Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave