cabal-extras
haskell-language-server
Our great sponsors
cabal-extras | haskell-language-server | |
---|---|---|
13 | 110 | |
78 | 2,570 | |
- | 1.1% | |
4.4 | 9.6 | |
6 days ago | 4 days ago | |
Haskell | Haskell | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cabal-extras
-
Management of obsolete/orphaned/abandoned packages?
There's also cabal-store-gc from cabal-extras by /u/phadej. But it is still highly experimental.
-
Learning Tidal Fundamentals - nice ground-up intro to TidalCycles by Mark Zadel
I've not completely got my head around it, but I think it's more about bugs and missing features. Tidal users don't work in 'projects' or 'packages', they just want to install a library and then use it in the interpreter. There's a fundamental difference between programming to make something and programming as the end in itself, and cabal doesn't seem to consider the latter use case. It seems the cabal-env prototype does support this (sitting here: https://github.com/phadej/cabal-extras) but it hasn't been merged into cabal itself yet. In the meantime v1-install works pretty well, or at least a lot better than v2-install, which just seems buggy to me, but I'm told I'm just trying to use it the wrong way.
-
[Request for review] Short article on Cabal and Stack and difference between them
Cabal also has some support for offline builds, the cabal-extras project has a bundle command to curl the dependencies into a bundle. https://github.com/phadej/cabal-extras The build artefact aren't necessarily portable across machines.
-
Why did haskell not "succeed"?
For cabal, there is https://github.com/phadej/cabal-extras/tree/master/cabal-store-gc
-
Trouble with cabal.
If you want to use cabal (which has various advantages over stack, although as it has access to whole hackage some times requires a bit more thinking) i'd suggest to install cabal-env. Its an experimental tool, written by previous maintainer of cabal. You can simply run cabal install cabal-env to get it. Its part of https://github.com/phadej/cabal-extras. It is what cabal install --lib is supposed to be (and likely will become at some point).
-
Quick Haskell exploration setup on Linux
cabal-env from /u/phadej's cabal-extras is working pretty well for me
-
GHC grows self-distinctively.
There's cabal-store-gc from cabal-extras which does gc on cabal's store.
-
There is no cabal hell.
Cabal 3.x and nix-style builds is a partial improvement, however it still suffers its legacy, with some of the most fundamental issues unsolved or even not addressed. For example maintenance of installed packages in long runs, stale or broken packages from previous failed builds impede the workings etc. Suggested fix is usually to wipe-out whole storage and rebuild everything from scratch again sic. Even when you are lucky, like avoiding update of ghc at all costs, with new base breaking almost everything, you'll soon end up with tenths or hundreds of gigabytes wasted disk space and significantly slower operations, with half of whole Hackage packages in its their countless iterations. I would already gave up completely, unless I've run across phadej's cabal-extras, which with some minor fixes save my sanity.
-
Need help with installing modules
You can install libraries separately with cabal install --lib ..., but the default way is kind of broken. There is an experimental cabal-env tool which works much better, but it is experimental so it is hard to recommend to a beginner.
-
Why is Stack rebuilding everything?
If you are willing to use cabal then the cabal-extra library has some support for offline builds via cabal-bundle https://github.com/phadej/cabal-extras
haskell-language-server
-
Revisiting Haskell after 10 years
The advent of language server protocol made possible the creation of HLS (Haskell Language Server), and there are plugins for many editors, such as vscode-haskell, that allow you to have auto-complete, auto-import, and automatic function signatures—also available to your editor of choice. The whole feedback loop of editing, compiling, and running is greatly improved.
-
VSCode Haskell extension not working
HLS 2.3.0.0 is currently broken on Windows.
-
Haskellers who moved to Rust: What has been your experience?
The Haskell community has been focusing on tooling and IDE support in the last several years. Haskell-Language-Server is a huge improvment, so the experience is probably much better than you remember, but it'll still be a while before it catches up with Rust.
- A semester of Haskell-language-server: an internship report
- HLS 2.0.0.0 is out
-
Static-ls - a low memory Haskell language server based on hiedb and hiefiles
static-ls is a low memory language server for Haskell that serves as an alternative to (hls)[https://github.com/haskell/haskell-language-server] with less functionality by using statically generated information. It is intended for (Highly recommend hls instead if you aren't having these issues):
- HLS 1.10.0.0 is out
-
[Well-Typed] Multiple Component support for cabal repl
I think the corresponding HLS PR is https://github.com/haskell/haskell-language-server/pull/3462, so it isn't landed yet but hopefully can be part of a HLS release before too long. (I'm not sure if it will make it in to the very next release because we're due one out to support GHC 9.6.1 pretty soon.)
- [ANN] HLS-1.9.1.0 released
What are some alternatives?
heist - An xhtml-based templating engine, allowing Haskell functions to be bound to XML tags.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Cabal - Official upstream development repository for Cabal and cabal-install
neovim - Vim-fork focused on extensibility and usability
cache-s3
lsp-mode - Emacs client/library for the Language Server Protocol
haskell-handbook - Best practices on how to be efficient with Haskell in production
ormolu - A formatter for Haskell source code
stack-clean-old - Tool for cleaning away old Haskell Stack build artifacts
vscode-haskell - VS Code extension for Haskell, powered by haskell-language-server
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
hie-bios - Set up a GHC API session for various Haskell Projects