Cabal
stackage
Our great sponsors
Cabal | stackage | |
---|---|---|
84 | 13 | |
1,559 | 522 | |
1.0% | 0.6% | |
9.8 | 9.9 | |
6 days ago | 7 days ago | |
Haskell | Dockerfile | |
BSD 3-clause "New" or "Revised" License | MIT License |
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
-
Would anyone be interested in hoot: A cabal wrapper for haskell based on Cargo?
Also, there's already a cabal RFC to support toml: https://github.com/haskell/cabal/issues/7548
-
On the verge of giving up learning Haskell because of the terrible tooling.
Cabal has a lot of dark corners once you stray from the happy path. Just checked and I'm currently subscribed to 37 threads on the issue tracker, and I'm not a maintainer. A lot of these are related to lesser-used features like cabal scripts, environment files and doctests (though I think all of these things would used more if they were more reliable), but there's also plenty of stupid stuff like: - https://github.com/haskell/cabal/issues/3313 - https://github.com/haskell/cabal/issues/8527 - https://github.com/haskell/cabal/issues/8391 - https://github.com/haskell/cabal/issues/7789 - https://github.com/haskell/cabal/issues/6888 - https://github.com/haskell/cabal/issues/6999 - https://github.com/haskell/cabal/issues/5271
-
There is No “Tooling Issue” in Haskell
By the way, there are some open issues for the command to add a package in Cabal.
-
Why GHCi is my new calculator
That's interesting. Could you could open a an issue about this? https://github.com/haskell/cabal/issues
- Any open source projects to contribute to for beginners
-
dr-cabal v0.2.0.0: Interactive output + critical path computation
At the moment, cabal-install doesn't support hpack natively but if the project can be build with cabal-install, you can run hpack manually to produce the .cabal file and utilise dr-cabal after that :)
-
Failure with cabal v2-test
Hm thanks for that, could try out some of those ideas. Here's the github issue i opened for this: https://github.com/haskell/cabal/issues/8580
-
Haskell adoption is higher than I expected, what can we do to get it to top 10 languages.
Would really love it if the Cabal documentation had this as its own, highly visible entry. I submitted a pull request to that end.
-
Monthly Hask Anything (September 2022)
Sometimes cabal's output is confusing with regards to optimization levels: https://github.com/haskell/cabal/issues/6221
-
Just released: cabal 3.8.1.0
Direct link to changelog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.8.1.0.md
stackage
-
Revisiting Haskell after 10 years
Writing Haskell programs that rely on third-party packages is still an issue when it’s a not actively maintained package. They get out of date with the base library (Haskell’s standard library), and you might see yourself in a situation where you need to downgrade to an older version. This is not exclusive to Haskell, but it happens more often than I’d like to assume. However, if you only rely on known well-maintained libraries/frameworks such as Aeson, Squeleto, Yesod, and Parsec, to name a few, it’s unlikely you will face troubles at all, you just need to be more mindful of what you add as a dependency. There’s stackage.org now, a repository that works with Stack, providing a set of packages that are proven to work well together and help us to have reproducible builds in a more manageable way—not the solution for all the cases but it’s good to have it as an option.
-
Leaving Haskell Behind
> That is fine, as far as it goes, but obviously this will, at some point, be at odds with the interests of programmers looking to use Haskell as a practical, stable tool.
That's what Stackage is.
Stackage provides consistent sets of Haskell packages, known to build together and pass their tests before becoming Stackage Nightly snapshots and LTS (Long Term Support) releases. [1]
Java will never get this.
-
Haskell IDE setup
makefile_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) export PATH := $(makefile_dir):$(PATH) project_name ?= project_main ?= src/.hs retag_file ?= $(project_main) stack.yaml: @test -f stack.yaml || (echo -e "This makefile requires a 'stack.yaml' for your project.\nYou don't need to use 'stack' to build your project.\nYou just need a 'stack.yaml' specifying a resolver compatible with your GHC version.\nSee https://www.stackage.org/" && exit 1) stack: stack.yaml @which stack || (echo -e "This makefile requires 'stack' to be on your path. Use GHCup to install it.\nSee https://www.haskell.org/ghcup/" && exit 1) .PHONY: stack warning.txt: -@uname -a | grep -q Darwin && echo "WARNING: On Mac, you must alias 'make' to 'gmake' in your shell config file (e.g. ~/.bashrc or ~/.zshrc). Symbolic links will not work." | tee warning.txt @echo "Add 'warning.txt' to your .gitignore file if you never want to see this message again." hasktags: warning.txt stack @echo 'stack exec -- hasktags' > hasktags @chmod +x hasktags @echo "You might like to add 'hasktags' to your .gitignore file." format: stack @stack exec -- fourmolu --stdin-input-file $(project_main) .PHONY: format retag: warning.txt stack @stack exec -- haskdogs -i $(retag_file) --hasktags-args "-x -c -a" | sort -u -o tags tags .PHONY: retag tags: warning.txt hasktags stack @stack exec -- haskdogs .PHONY: tags ghcid: stack @stack exec -- ghcid \ --command 'stack repl --ghc-options "-fno-code -fno-break-on-exception -fno-break-on-error -v1 -ferror-spans -j"' \ --restart stack.yaml \ --restart $(project_name).cabal \ --warnings \ --outputfile ./ghcid.txt .PHONY: ghcid
- stack
-
Most current materials for learning Haskell
(why lts-18.28? it's the latest 8.10 release on https://www.stackage.org/ )
-
Monthly Hask Anything (March 2022)
I don't see way community maintenance can change the GHC for nightly.
-
Is it possible to install C libraries before building on Hackage?
It makes total sense that it fails since at no point I requested that the library be installed, which makes me wonder: Is there any way to request Hackage to install SDL and GLEW before attempting the build? I see Stackage has debian-bootstrap.sh. Does something similar exist for Hackage?
-
[GHC Proposals] GHC Maintainer preview
On the contrary, I think this is standard practice for packages which are part of stackage. When stackage nightly switches to a new version of ghc, all the packages which are incompatible with the new ghc are dropped from nightly. My understanding is that maintainers are then expected to fix their packages, at which point more and more packages are included in the nightly snapshot. The next lts to include that version of ghc is only released later, once most packages have been added back, so unlike ghc users who diligently upgrade to the latest ghc, stackage users who diligently upgrade the latest lts snapshot shouldn't see a big drop in the number of compatible packages.
-
Setup dev container with language server out of the box
I found the latest stack lts version, and it's associated ghc version here: https://www.stackage.org/
-
Maybe We Can Have Nice Things
This is a common misconception, the packages in Stackage are only required to build together and pass their own test suite (if present, and this is also not a hard requirement), and also anyone can add packages. Quality assurance/selecting "blessed" packages is not part of the design of Stackage.
What are some alternatives?
stack - The Haskell Tool Stack
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs
static-haskell-nix - easily build most Haskell programs into fully static Linux executables
cblrepo - Tool to simplify managing a consistent set of Haskell packages for distributions.
cartel
hackage-repo-tool - Hackage security framework based on TUF (The Update Framework)
codeworld - Educational computer programming environment using Haskell
cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.
cab - A maintenance command of Haskell cabal packages
wasp - The fastest way to develop full-stack web apps with React & Node.js.
cabal2nix - Generate Nix build instructions from a Cabal file
hackage-server - Hackage-Server: A Haskell Package Repository