diff --git a/guide-de.md b/guide-de.md index f5b608f..26ede85 100644 --- a/guide-de.md +++ b/guide-de.md @@ -500,4 +500,78 @@ Haskell. Verfübar über [hackage](https://hackage.haskell.org/package/aeson) un - [Tying the Knot](http://www.haskell.org/haskellwiki/Tying_the_Knot). -- [Hackage: dag](https://hackage.haskell.org/package/dag). \ No newline at end of file +- [Hackage: dag](https://hackage.haskell.org/package/dag). + +# Entwicklungsumgebung + +## Emacs + +- [Alejandro Serrass Tutorial](https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md) + +- [Meine Konfigurationsdateien](https://github.com/bitemyapp/dotfiles/) + +- [Chris Done's emacs Konfiuration](https://github.com/chrisdone/chrisdone-emacs) + +## Vim + +- [Vim Seite im Haskell Wiki](http://www.haskell.org/haskellwiki/Vim) + +- [Haskell-vim-now](https://github.com/begriffs/haskell-vim-now) + +- [Ein vim+haskell Workflow](http://www.stephendiehl.com/posts/vim_haskell.html) + +- [GHC-Mod](https://github.com/kazu-yamamoto/ghc-mod) + +- [GHC-Mod vim plugin](https://github.com/eagletmt/ghcmod-vim) + +- [Hindent](https://github.com/chrisdone/hindent) + +## Sublime Text + +- [SublimeHaskell](https://github.com/SublimeHaskell/SublimeHaskell) + +# FAQ und Arbeiten mit Cabal + +## Fantastic FAQ + +Neben vielen nützlichen Informationen zu allen Arten von Konzepten, wie GADTs, +ist dies auch eine hilfreiche Anleitung für Cabal: + +- [What I wish I knew when learning Haskell](http://dev.stephendiehl.com/hask/) + auch auf github [hier](https://github.com/sdiehl/wiwinwlh). + +## Cabal Leitfaden + +Cabal Hell war ein Problem für Haskell Nutzer vor der Einführung von +Sandboxes. Eine Installation außerhalb einer sandbox wird in die user +package-db installieren. Das ist *keine* gute Idee außer für grundlegende Pakete wie +Cabal, alex, und happy. Nichts anderes sollte in den user oder der globalen +package-dbs installiert sein, außer du weißt was du tust + +[Hier](http://softwaresimply.blogspot.com/2014/07/haskell-best-practices-for-avoiding.html) gibt es ein +paar gute Praktiken um Cabal hell zu verhindern. + + +Um mit einem Paket zu experimentieren oder ein Projekt zu starten, beginne mit +`cabal sandbox init` in einem neuen Verzeichnis. + +Kurz gesagt: + +- Nutze immer Sandboxes, um neue Pakete zu installieren, neue oder existierende Projekte zu bauen oder + Experimente zu starten + +- Nutze `cabal repl` um eine Projekt bezogene ghci Instanz zu starten + +Die vorgeschlagene, sandbox-basierte Methode sollte Paket Abhängigkeits Probleme vermeiden +aber sie ist inkompatibel zu der Art wie die Haskell Plattform fertig gebaute Pakete bereitstellt. +Wenn du momentan noch Haskell lernst und nicht verstehst wie ghc-pkg und Cabal funktionieren, +*nutze nicht die Plattform* und stattdessen die Instruktionen, die zu Beginn erklärt wurden. + +## Stackage + +Für alle Nutzer (normalerweise Yesod Nutzer), die Build Probleme haben, zieht Stackage in Erwägung: + +- Eine gute Zusammenfassung ist + [hier](https://www.fpcomplete.com/blog/2014/05/stackage-server). + +Der Meinung des Authors nach, ist Stackage normalerweise nützlicher als ein `cabal freeze`.