GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erste Schritte mit der Programmiersprache Haskell

Haskell ist eine fortschrittliche, rein funktionale und universelle Programmiersprache. Dieses Handbuch befasst sich mit der Installation von Haskell und den ersten Schritten mit der Programmiersprache Haskell in Unix-ähnlichen Betriebssystemen. Haskell kann auf drei Arten installiert werden; manuelle Installation, Verwendung von Stack und Verwendung der Haskell-Plattform. Die Installation von Haskell mit Stack ist bisher die offiziell empfohlene und einfachste Methode. In diesem Handbuch erfahren Sie, wie Sie Haskell installieren und wie Sie mit der Haskell-Programmiersprache in Unix-ähnlichen Systemen beginnen.

Installieren Sie den Haskell-Tool-Stack

Haskell Tool Stack ist ein plattformübergreifendes Programm zum Erstellen von Haskell-Projekten. Mit dem Haskell Stack erhalten wir eine umfassende Entwicklungsumgebung für Haskell. Mit dem Haskell-Tool-Stack können wir die folgenden Komponenten einfach installieren:

  • Stapeln :Ein Projekt-Builder für Haskell-Projekte mit mehreren Paketen,
  • GHC :Ein Compiler und Interpreter für Haskell-Programme,
  • Schellfisch :Ein Dokumentationsgenerator für Haskell-Pakete,
  • Und Tausende von Paketen können bei Bedarf installiert werden.

Lassen Sie uns zuerst den Haskell-Stack mit dem Befehl installieren:

$ wget -qO- https://get.haskellstack.org/ | sh

Oder,

$ curl -sSL https://get.haskellstack.org/ | sh

Die obigen Befehle laden die neueste Stack-Version herunter und installieren sie sofort.

Diese Befehle sind für fast alle Linux-Distributionen und FreeBSD gleich. Die Arch-Community pflegt jedoch eine offizielle Version in der [Community] Repository. Wenn Sie also Arch Linux und/oder andere Arch-basierte Systeme ausführen, führen Sie einfach den folgenden Befehl aus, um die neueste stabile Stack-Version zu installieren.

$ sudo pacman -S stack

Führen Sie nach der Installation den folgenden Befehl aus, um Ihre PATH-Umgebungsvariable so einzustellen, dass sie $HOME/.local/bin enthält :

$ echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc

Aktualisiert die in der Datei ~/.bashrc vorgenommenen Änderungen mit dem Befehl:

$ source ~/.bashrc

Sehen wir uns die installierte Version von Stack an:

$ stack --version
Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0

Um Stack jederzeit zu aktualisieren, führen Sie einfach Folgendes aus:

$ stack upgrade

Um den Paketindex zu aktualisieren, führen Sie Folgendes aus:

$ stack update

Wir haben Stack installiert. Lassen Sie uns fortfahren und ein neues Projekt erstellen.

Ein neues Projekt einrichten

Um unser neues Projekt zum Laufen zu bringen, benötigen wir einige Dateien wie etwa Haskell-Quellcode, eine package.yaml-, eine stack.yaml- und eine .cabal-Datei sowie einige andere Verzeichnisse. Wir können diese Dateien manuell erstellen. Haskell hat jedoch viele vordefinierte Vorlagen. Wir können also eine verwenden, anstatt sie manuell zu erstellen.

Um alle verfügbaren Vorlagen aufzulisten, führen Sie Folgendes aus:

$ stack templates

Jetzt werde ich ein neues Projekt namens "ostechnix" erstellen und verwenden Sie "new-template" . Führen Sie dazu Folgendes aus:

$ stack new ostechnix new-template

Beispielausgabe wäre:

Downloading template "new-template" to create project "ostechnix" in ostechnix/ ...

The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username
You can provide them in /home/sk/.stack/config.yaml, like this:
templates:
 params:
 author-email: value
 author-name: value
 category: value
 copyright: value
 github-username: value
Or you can pass each one as parameters like this:
stack new ostechnix new-template -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value"

Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ostechnix/

Selecting the best among 12 snapshots...

Downloaded lts-10.0 build plan. 
Populated index cache. 
* Matches lts-10.0

Selected resolver: lts-10.0
Initialising configuration using resolver: lts-10.0
Total number of user packages considered: 1
Writing configuration to file: ostechnix/stack.yaml
All done.

GHC installieren

Gehen Sie in das Verzeichnis des neu erstellten Projekts und führen Sie den Download von „Stack Setup“ aus und installieren Sie den erforderlichen Compiler.

$ cd ostechnix/
$ stack setup

Dieser Befehl installiert den richtigen GHC-Compiler in Ihrem neuen Haskell-Projekt. GHC wird an einem isolierten Ort installiert. Das bedeutet, dass die Installation auf Systemebene dadurch nicht beeinträchtigt wird.

Bitte beachten Sie, dass GHC in Ihrem globalen Stack-Root-Verzeichnis installiert wird. Sie können es also nicht einfach von Ihrer Shell aus mit dem Befehl ghc aufrufen . Verwenden Sie stattdessen:stack ghc , stapeln ghci , Runghc stapeln , oder stack exec . Führen Sie für weitere Informationen zu Pfaden Folgendes aus:

$ stack path

und..

$ stack exec env

Wir haben jetzt ein neues Projekt erstellt und den richtigen Compiler für unser Projekt installiert. Es ist Zeit, es zu bauen.

Bauvorhaben

Führen Sie zum Erstellen des Projekts Folgendes aus:

$ stack build

Stellen Sie sicher, dass Sie diesen Befehl im Verzeichnis Ihres Projekts ausführen. Führen Sie nach Abschluss des Builds die ausführbare Datei mit dem folgenden Befehl aus:

$ stack exec ostechnix-exe

Beispielausgabe wäre:

someFunc

Bitte beachten Sie, dass die ausführbare "ostechnix-exe" im ./.stack-work versteckt wird Verzeichnis im Hauptverzeichnis Ihres Projekts.

Mit Haskell spielen

Öffnen Sie den ghci-Compiler:

$ stack exec ghci

Oder,

$ stack exec -- ghci

Sie landen in der ghci-Eingabeaufforderung.

GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help
Prelude>

Beginnen wir wie alle anderen mit "Hallo Welt!".

Prelude> "hello world!"
"hello world!"

Lassen Sie uns einige arithmetische Operationen ausprobieren.

Prelude> 14+90
104
Prelude> 14-90
-76
Prelude> 34/2
17.0

Einige komplexe Operationen:

Prelude> (67*98) - 50 - (24-2)
6494

Lassen Sie uns herausfinden, welche Zahl größer oder kleiner ist:

Prelude> max 34 17
34
Prelude> min 45 98
45

Finden Sie den Nachfolger:

Prelude> succ 89
90

Finden Sie heraus, ob die angegebenen Eingaben gleich sind oder nicht:

Prelude> 10 == 10
True
Prelude> 10 == 20
False
Prelude> "ostechnix" == "ostechnix"
True
Prelude> "ostechnix" == "windows"
False

Es ist auch einfach, boolesche Werte wie unten zu verwenden:

Prelude> True && False
False
Prelude> True && True
True
Prelude> False || True
True
Prelude> False && False
False

Standardmäßig lautet der Eingabeaufforderungsname Prelude> . Sie können dies in etwas anderes ändern, zum Beispiel ghci>, indem Sie Folgendes eingeben:

:set prompt "ghci> "

Geben Sie für Hilfe Folgendes ein:

:?

Geben Sie zum Beenden Folgendes ein:

:quit

Oder,

:q

Bitte beachten Sie, dass wir kein Projektverzeichnis erstellen müssen. Wir können mit der Arbeit mit Stack beginnen, indem wir einfach „stack ghci“ von der Shell ausführen. Es lädt die richtige GHC-Version herunter und bringt Sie in das Vorspiel Eingabeaufforderung.

Compilieren und Ausführen von Haskell-Code

Es ist einfach, einen Haskell-Code auszuführen. Überprüfen Sie das folgende Beispiel.

Erstellen Sie eine Datei namens "ostechnix.hs" mit folgendem Inhalt.

#!/usr/bin/env stack
-- stack --install-ghc runghc

main :: IO ()
main = putStrLn "Welcome To OSTechNix"

Jetzt können Sie dieses Programm mit dem Befehl ausführen:

$ stack ostechnix.hs 
Welcome To OSTechNix

Hier ist ein weiteres Beispiel.

Erstellen Sie ein Haskell-Programm namens myhaskell.hs mit folgendem Code:

module Main where

main :: IO ()
main = putStrLn "Welcome To OSTechNix!"

Kompilieren Sie es dann mit dem Befehl:

stack exec -- ghc myhaskell.hs -o test.hs

Beispielausgabe wäre:

[1 of 1] Compiling Main ( myhaskell.hs, myhaskell.o )
Linking ostechnix.hs ...

Führen Sie es schließlich wie unten gezeigt aus:

$ ./test.hs 
Welcome To OSTechNix!

Wir haben nur die Grundlagen behandelt. Es gibt noch viel mehr zu lernen! Wenn Sie mehr über die Haskell-Programmierung erfahren möchten, lesen Sie die folgenden Ressourcen, um Haskell von den Grundlagen bis zum fortgeschrittenen Niveau zu lernen.

  • Haskell-Tutorials
  • Learnyouhaskell
  • Real World Haskell
  • Probieren Sie Haskell in Ihrem Browser aus
  • Offizielles Haskell-Wiki

Linux
  1. Erste Schritte mit Zsh

  2. Erste Schritte mit ls

  3. Erste Schritte mit Samba für Interoperabilität

  4. Erste Schritte mit PostgreSQL unter Linux

  5. Erste Schritte mit SSH unter Linux

Erste Schritte mit GitHub

Erste Schritte mit Nix Package Manager

Erste Schritte mit systemctl

Erste Schritte mit cPanel

Erste Schritte mit dem Tar-Befehl

Gewusst wie:Einführung in die Programmierung – Erste Schritte