Merge pull request #73 from maggy96/patch-1

Update guide-de.md
This commit is contained in:
Chris Allen 2015-06-13 13:45:45 -05:00
commit 0db6d79ad5

View File

@ -42,29 +42,29 @@ Richtlinien aus [the Recurse Center manual](https://www.recurse.com/manual). Dan
# Was sind Haskell, GHC, und Cabal? # Was sind Haskell, GHC, und Cabal?
Haskell ist eine Programmiersprache wie in den Reporten festgelegt, mit dem letzten von 2010. Haskell ist eine Programmiersprache, die in einem Report festgelegt wird, der letzte ist von 2010.
Der Report ist [online](http://www.haskell.org/onlinereport/haskell2010/) verfügbar. Der Report ist [online](http://www.haskell.org/onlinereport/haskell2010/) verfügbar.
## GHC ## GHC
[GHC](http://www.haskell.org/ghc/) ist der beliebteste und bekannteste Weg mit Haskell zu arbeiten. [GHC](http://www.haskell.org/ghc/) ist der beliebteste und bekannteste Weg mit Haskell zu arbeiten.
Er beinhaltet einen compiler, REPL (Interpreter), Paket Management, und ein paar weitere Dinge. Er beinhaltet einen Compiler, REPL (Interpreter), Paket Management, und ein paar weitere Dinge.
## Cabal ## Cabal
[Cabal](https://www.haskell.org/cabal/download.html) ist für Projekt Management und [Cabal](https://www.haskell.org/cabal/download.html) ist für Projekt Management und
Abhängigkeits Auflösung zuständig. Hiermit installierst du Projekte, normalerweise in ihre Abhängigkeitsauflösung zuständig. Hiermit installierst du Projekte, normalerweise in ihre
eigene Sandbox. eigene Sandbox.
Cabal ist äquivalent zu Rubys Bundler, Pythons pip, Nodes NPM, Maven, etc. GHC Cabal ist äquivalent zu Rubys Bundler, Pythons pip, Nodes NPM, Maven, etc. GHC
kümmert sich selber um Packaging(??), Cabal wählt die zu installierende Version aus. kümmert sich selber um die Paketierung, Cabal wählt die zu installierende Version aus.
# Installation # Installation
## Ubuntu ## Ubuntu
[Dieses PPA](http://launchpad.net/~hvr/+archive/ghc) ist ausgezeichnet und ich benutze [Dieses PPA](http://launchpad.net/~hvr/+archive/ghc) ist ausgezeichnet und ich benutze
es auf allen meine Linux Entwicklungs- und Buildmaschinen es auf allen meine Linux Entwicklungs- und Buildmaschinen.
Genauer: Genauer:
@ -146,8 +146,8 @@ $ sudo yum-config-manager --add-repo \
$ sudo yum install ghc cabal-install $ sudo yum install ghc cabal-install
``` ```
Wie in Wie in auf der Seite
[petersen/ghc-7.8.4 copr page](https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/) [petersen/ghc-7.8.4 copr](https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/)
beschrieben kann dieser ghc nicht parallel zu Fedora/EPEL ghc installiert werden. beschrieben kann dieser ghc nicht parallel zu Fedora/EPEL ghc installiert werden.
## Arch Linux ## Arch Linux
@ -163,8 +163,8 @@ $ sudo pacman -S cabal-install ghc happy alex haddock
Unter Gentoo kannst du verschiedene Komponenten der Haskell Platform Unter Gentoo kannst du verschiedene Komponenten der Haskell Platform
via Portage installieren. Wenn du `ACCEPT_KEYWORDS=arch` nutzt (anstatt via Portage installieren. Wenn du `ACCEPT_KEYWORDS=arch` nutzt (anstatt
`ACCEPT_KEYWORDS=~arch`), installiert Portage die uralt Versionen der verschiedenen `ACCEPT_KEYWORDS=~arch`), installiert Portage die uralt Versionen der verschiedenen
Haskell Teile. Daher, füge wenn du, und *nur* wenn du `ACCEPT_KEYWORDS=arch` nutzt, das Haskell Teile. Daher füge, wenn du, und *nur* wenn du `ACCEPT_KEYWORDS=arch` nutzt, das
folgende in `/etc/portage/package.keywords` ein. Folgende in `/etc/portage/package.keywords` ein.
dev-haskell/cabal-install dev-haskell/cabal-install
dev-lang/ghc dev-lang/ghc
@ -228,9 +228,8 @@ Installiere die Binary Distribution, wie unten beschrieben, mit [diesem tarball]
## Windows ## Windows
- Der [windows minimal GHC installer](http://neilmitchell.blogspot.com/2014/12/beta-testing-windows-minimal-ghc.html) - Der [minimale ghc Installer für Windows](http://neilmitchell.blogspot.com/2014/12/beta-testing-windows-minimal-ghc.html)
ist in der Lage `network` und andere zu installieren. Technisch gesehen in Beta, sollte aber funktionieren für die Zwecke ist in der Lage `network` und andere zu installieren. Technisch gesehen befindet er sich in der Beta, sollte aber für die Zwecke eines jeden der diese Anleitung ließt funktionieren.
eines jeden der diese Anleitung ließt.
Vergesse nicht den Installer als Administrator auszuführen, da er in deinen Programmen installieren will. Vergesse nicht den Installer als Administrator auszuführen, da er in deinen Programmen installieren will.
@ -269,13 +268,13 @@ cis194.
## NICTA Kurs ## NICTA Kurs
> Das ist der Kurs, den ich empfehle nach Yorgeys cis194 Kurs, zu machen > Das ist der Kurs, den ich nach Yorgeys cis194 Kurs empfehle zu machen
Verfügbar [hier](https://github.com/NICTA/course) auf github Verfügbar [hier](https://github.com/NICTA/course) auf github
Das wird dein Verständnis verbessern und dir Erfahrung mit der Implementierung der Das wird dein Verständnis verbessern und dir Erfahrung mit der Implementierung der
Abstraktionen geben, die in cis194 eingeführt wurden, das ist die Praxis, die *ausschlaggebend* ist, um Abstraktionen geben, die in cis194 eingeführt wurden, das ist die Praxis, die *ausschlaggebend* ist, um
mit der üblichen Nutzung von Functor/Applicative/Monad/etc. in Haskell vertraut zu verwerden. mit der üblichen Nutzung von Functor/Applicative/Monad/etc. in Haskell vertraut zu werden.
Erst cis194 und dann den NICTA Kurs zu machen, ist die wesentliche Empfehlung meiner Anleitung Erst cis194 und dann den NICTA Kurs zu machen, ist die wesentliche Empfehlung meiner Anleitung
und ist der Weg, wie ich anderen Leuten Haskell beibringe. und ist der Weg, wie ich anderen Leuten Haskell beibringe.
@ -301,7 +300,7 @@ Verfügbar [online](http://www.scs.stanford.edu/14sp-cs240h/).
Das ist [Bryan O'Sullivan](https://github.com/bos)s online Version des Kurses, den er Das ist [Bryan O'Sullivan](https://github.com/bos)s online Version des Kurses, den er
in Stanford unterrichtet. Wenn du nicht weißt, wer er ist, guck dir der Hälfte der Libraries in Stanford unterrichtet. Wenn du nicht weißt, wer er ist, guck dir der Hälfte der Libraries
and, die jede Haskell Anwendung am Ende braucht und sein Name wird dabei sein. an, die jede Haskell Anwendung am Ende braucht und sein Name wird dabei sein.
Wenn du bereits den Yorgey Kurs gemacht hast, sind die Module über Wenn du bereits den Yorgey Kurs gemacht hast, sind die Module über
phantom types, information flow control, language extensions, concurrency, phantom types, information flow control, language extensions, concurrency,
pipes, und lenses von besonderer Bedeutung. pipes, und lenses von besonderer Bedeutung.
@ -576,8 +575,8 @@ Siehe [hier](https://gist.github.com/bitemyapp/3e6a015760775e0679bf).
2. [Hackage Dokumentation v2](http://fuuzetsu.co.uk/blog/posts/2014-01-06-Hackage-documentation-v2.html) 2. [Hackage Dokumentation v2](http://fuuzetsu.co.uk/blog/posts/2014-01-06-Hackage-documentation-v2.html)
Beachte, dass diese Artikel *etwas veraltet* sind: Zum Beispile, hat Hackage jetzt eine neue Beachte, dass diese Artikel *etwas veraltet* sind: Zum Beispiel hat Hackage jetzt eine neue
Info mit Dokumentation Info und Build Status. Info mit Dokumentations- und Build-Status.
## Was du wirklich wissen solltest ## Was du wirklich wissen solltest
@ -587,8 +586,8 @@ musst du alle Pakete löschen und neu installieren bevor die Haddocks generiert
Die andere Sache, an die man denken sollte, ist, dass aufgrund der Art wie `$pkg` interpoliert Die andere Sache, an die man denken sollte, ist, dass aufgrund der Art wie `$pkg` interpoliert
wird *von* cabal, nicht von dir, die `html-location` und `content-location` Parameter wird *von* cabal, nicht von dir, die `html-location` und `content-location` Parameter
*müssen in Apostrophen* stehen und in die Shell eingegeben werden oder in einem Shell Skript stehen. *in Apostrophen* stehen *müssen* und in die Shell eingegeben werden oder in einem Shell Skript stehen.
Sie werden nicht in einer Makefile funktionieren, da Make denken wird es seien Make Variablen Sie werden nicht in einer Makefile funktionieren, da Make denken wird es seien Make Variablen.
```bash ```bash
#! /usr/bin/env sh #! /usr/bin/env sh