lang/haskell: change default to +dante #2121
This commit is contained in:
parent
5e4e1d7a79
commit
c7a6cf8403
3 changed files with 32 additions and 32 deletions
|
@ -182,7 +182,7 @@ Modules that bring support for a language or group of languages to Emacs.
|
||||||
+ [[file:../modules/lang/faust/README.org][faust]] - TODO
|
+ [[file:../modules/lang/faust/README.org][faust]] - TODO
|
||||||
+ [[file:../modules/lang/fsharp/README.org][fsharp]] - TODO
|
+ [[file:../modules/lang/fsharp/README.org][fsharp]] - TODO
|
||||||
+ [[file:../modules/lang/go/README.org][go]] =+lsp= - TODO
|
+ [[file:../modules/lang/go/README.org][go]] =+lsp= - TODO
|
||||||
+ [[file:../modules/lang/haskell/README.org][haskell]] =+intero +dante +lsp= - TODO
|
+ [[file:../modules/lang/haskell/README.org][haskell]] =+dante +intero +lsp= - TODO
|
||||||
+ hy - TODO
|
+ hy - TODO
|
||||||
+ [[file:../modules/lang/idris/README.org][idris]] - TODO
|
+ [[file:../modules/lang/idris/README.org][idris]] - TODO
|
||||||
+ java =+meghanada +lsp= - TODO
|
+ java =+meghanada +lsp= - TODO
|
||||||
|
|
|
@ -112,7 +112,7 @@
|
||||||
;;faust ; dsp, but you get to keep your soul
|
;;faust ; dsp, but you get to keep your soul
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
;;fsharp ; ML stands for Microsoft's Language
|
||||||
;;go ; the hipster dialect
|
;;go ; the hipster dialect
|
||||||
;;(haskell +intero) ; a language that's lazier than I am
|
;;(haskell +dante) ; a language that's lazier than I am
|
||||||
;;hy ; readability of scheme w/ speed of python
|
;;hy ; readability of scheme w/ speed of python
|
||||||
;;idris ;
|
;;idris ;
|
||||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||||
|
|
|
@ -9,17 +9,17 @@
|
||||||
- [[#module-flags][Module Flags]]
|
- [[#module-flags][Module Flags]]
|
||||||
- [[#plugins][Plugins]]
|
- [[#plugins][Plugins]]
|
||||||
- [[#prerequisites][Prerequisites]]
|
- [[#prerequisites][Prerequisites]]
|
||||||
- [[#stack][Stack]]
|
|
||||||
- [[#cabal][Cabal]]
|
- [[#cabal][Cabal]]
|
||||||
- [[#lsp][LSP]]
|
- [[#lsp][LSP]]
|
||||||
|
- [[#stack][Stack]]
|
||||||
- [[#haskell-packages][Haskell packages]]
|
- [[#haskell-packages][Haskell packages]]
|
||||||
- [[#configuration][Configuration]]
|
- [[#configuration][Configuration]]
|
||||||
- [[#using-the-new-style-cabal-repl][Using the new-style cabal REPL]]
|
- [[#using-the-new-style-cabal-repl][Using the new-style cabal REPL]]
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
- [[#troubleshooting][Troubleshooting]]
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This module adds [[https://www.haskell.org/][Haskell]] support, powered by either [[https://haskell-lang.org/intero][intero]] (the default), [[https://github.com/jyp/dante][dante]]
|
This module adds [[https://www.haskell.org/][Haskell]] support, powered by either [[https://github.com/jyp/dante][dante]] (the default), LSP or
|
||||||
or [[https://github.com/emacs-lsp/lsp-haskell][LSP]].
|
[[https://haskell-lang.org/intero][intero]].
|
||||||
|
|
||||||
+ Code completion (~company-ghc~)
|
+ Code completion (~company-ghc~)
|
||||||
+ Look up documentation (~hoogle~)
|
+ Look up documentation (~hoogle~)
|
||||||
|
@ -38,54 +38,32 @@ Here are a few resources I've found indespensible in my Haskell adventures:
|
||||||
+ [[https://docs.haskellstack.org/en/stable/README/][The Haskell Tool Stack docs]]
|
+ [[https://docs.haskellstack.org/en/stable/README/][The Haskell Tool Stack docs]]
|
||||||
|
|
||||||
** Module Flags
|
** Module Flags
|
||||||
+ =+intero= Enables intero; a comprehensive, stack-based development environment
|
|
||||||
for Haskell.
|
|
||||||
+ =+dante= Enables dante; a fork of intero aimed at lightweightedness. It
|
+ =+dante= Enables dante; a fork of intero aimed at lightweightedness. It
|
||||||
doesn't depend on =stack=, supports both ~cabal~-only and ~stack~ projects,
|
doesn't depend on =stack=, supports both ~cabal~-only and ~stack~ projects,
|
||||||
but lacks eldoc support.
|
but lacks eldoc support.
|
||||||
+ =+lsp= Enables lsp-haskell (this requires the ~:tools lsp~ to be enabled).
|
+ =+lsp= Enables lsp-haskell (this requires the ~:tools lsp~ to be enabled).
|
||||||
|
+ =+intero= (Deprecated) Enables intero; a comprehensive, stack-based
|
||||||
|
development environment for Haskell.
|
||||||
|
|
||||||
** Plugins
|
** Plugins
|
||||||
+ [[https://github.com/haskell/haskell-mode][haskell-mode]]
|
+ [[https://github.com/haskell/haskell-mode][haskell-mode]]
|
||||||
+ =+dante=
|
+ =+dante=
|
||||||
+ [[https://github.com/jyp/dante][dante]]
|
+ [[https://github.com/jyp/dante][dante]]
|
||||||
+ [[https://github.com/jyp/attrap][attrap]]
|
+ [[https://github.com/jyp/attrap][attrap]]
|
||||||
+ =+intero=
|
|
||||||
+ [[https://github.com/chrisdone/intero][intero]]
|
|
||||||
+ =+lsp=
|
+ =+lsp=
|
||||||
+ [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]]
|
+ [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]]
|
||||||
|
+ =+intero=
|
||||||
|
+ [[https://github.com/chrisdone/intero][intero]]
|
||||||
|
|
||||||
* Prerequisites
|
* Prerequisites
|
||||||
Depending on whether you use Intero, Dante or LSP, your dependencies will
|
Depending on whether you use Intero, Dante or LSP, your dependencies will
|
||||||
differ:
|
differ:
|
||||||
|
|
||||||
+ Intero and LSP users need =stack=
|
|
||||||
+ Dante users need =cabal=, =ghc= and =ghc-mod=
|
+ Dante users need =cabal=, =ghc= and =ghc-mod=
|
||||||
+ LSP users need the =haskell-ide-engine= LSP server
|
+ LSP users need the =haskell-ide-engine= LSP server
|
||||||
|
+ Intero and LSP users need =stack=
|
||||||
+ All users will need the =hoogle= package
|
+ All users will need the =hoogle= package
|
||||||
|
|
||||||
** Stack
|
|
||||||
To use Intero, you need =stack=:
|
|
||||||
|
|
||||||
*** MacOS
|
|
||||||
#+BEGIN_SRC sh
|
|
||||||
brew install haskell-stack
|
|
||||||
stack setup
|
|
||||||
#+END_SRC
|
|
||||||
*** Arch Linux
|
|
||||||
#+BEGIN_SRC sh
|
|
||||||
sudo pacman -S stack
|
|
||||||
# Replace pacaur with your AUR package manager of choice
|
|
||||||
pacaur -S ncurses5-compat-lib
|
|
||||||
stack setup
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** openSUSE
|
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
|
||||||
sudo zypper install stack
|
|
||||||
stack setup
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
** Cabal
|
** Cabal
|
||||||
To use Dante, you need =cabal= (the haskell package builder) and =ghci= (the
|
To use Dante, you need =cabal= (the haskell package builder) and =ghci= (the
|
||||||
compiler, syntax checker & repl):
|
compiler, syntax checker & repl):
|
||||||
|
@ -127,6 +105,28 @@ make
|
||||||
yay -S haskell-ide-engine-git
|
yay -S haskell-ide-engine-git
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Stack
|
||||||
|
To use Intero or LSP, you need =stack=:
|
||||||
|
|
||||||
|
*** MacOS
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
brew install haskell-stack
|
||||||
|
stack setup
|
||||||
|
#+END_SRC
|
||||||
|
*** Arch Linux
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
sudo pacman -S stack
|
||||||
|
# Replace pacaur with your AUR package manager of choice
|
||||||
|
pacaur -S ncurses5-compat-lib
|
||||||
|
stack setup
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
*** openSUSE
|
||||||
|
#+BEGIN_SRC sh :dir /sudo::
|
||||||
|
sudo zypper install stack
|
||||||
|
stack setup
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
** Haskell packages
|
** Haskell packages
|
||||||
You'll need to install the following packages using ~stack~ or ~cabal~:
|
You'll need to install the following packages using ~stack~ or ~cabal~:
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue