stackage
hackage-server
Our great sponsors
stackage | hackage-server | |
---|---|---|
13 | 19 | |
520 | 407 | |
-0.4% | 0.5% | |
9.9 | 8.3 | |
7 days ago | 8 days ago | |
Dockerfile | Haskell | |
MIT License | GNU General Public License v3.0 or later |
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.
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.
[1] https://www.stackage.org/
-
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?
-
No idea how to add packages
At this point, you can try a Stack snapshot that uses an older version of GHC. Looking at Stackage, you can see that the latest version before 8.10.* is 8.8.4 (using LTS 16.31). Starting over with that snapshot, you find that the packages that you need are in the snapshot and work.
-
[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/
hackage-server
-
Show HN: Name Checker – check your project name accross many sites
Very cool! Is this open-source? It would be cool to add a few sources to this (like https://hackage.haskell.org).
-
`cabal update` stuck here forever.
Selected mirror http://hackage.haskell.org/
-
Haskell ecosystem questions.
3. https://hackage.haskell.org is the primary place
-
Why are haskell applications so obscure?
I used to see pandoc described as a "virus that makes people want to install Haskell", but I think someone must've figured out binary distribution.
-
Comparing ZIO to Haskell effects libraries like Polysemy?
The closest analogue to ZIO is probably the RIO monad + Has* type classes from https://hackage.haskell.org . /package/rio . (But ZIO is a bit richer with the typed error channel.)
-
Just released: cabal 3.8.1.0
Not yet, first hackage-server has to be updated to Cabal-3.8.1.0, see this hackage-server ticket
-
What's the story with organizing a cental python docs hub?
So I was working on this tool pysearch.com for doing deep semantic searches of python docs by program analysis inferred functionality when I noticed that every library's docs seem to be in a different format hosted in a different source. This would be fine if there was also a standard format hub for all the libraries on pypi or something, but it looks like even readthedocs doesn't contain everything. I find this a bit odd given the existence of tools like pydoc for doing something like this locally. Originally, I was hoping to find something like hackage for haskell, as I was hoping to build a natural language version of hoogle. In the meantime I've gotten pysearch to work by setting up custom rules for each doc, but this is kinda unsustainable.
-
Cabal package download 403 error
$ cabal get network-into -v3 ... /usr/bin/curl 'http://hackage.haskell.org/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-1 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-2.txt Exception Unexpected response 503 for http://hackage.haskell.org/package/network-info-0.2.1.tar.gz when using mirror http://hackage.haskell.org/ Selected mirror http://hackage.fpcomplete.com/Downloading package network-info-0.2.1/usr/bin/curl 'http://hackage.fpcomplete.com/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-4 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-5.txt Exception Unexpected response 503 for http://hackage.fpcomplete.com/package/network-info-0.2.1.tar.gz when using mirror http://hackage.fpcomplete.com/ Selected mirror http://objects-us-east-1.dream.io/hackage-mirror/ Downloading package network-info-0.2.1/usr/bin/curl 'http://objects-us-east-1.dream.io/hackage-mirror/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-7 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-8.txt Unexpected response 403 for http://objects-us-east-1.dream.io/hackage-mirror/package/network-info-0.2.1.tar.gz
-
Monthly Hask Anything (March 2022)
See https://github.com/haskell/hackage-server/issues/997.
-
Haskell compiled onto LLVM increase performance?
The other source of haskell documentation is hackage, which features both libraries and higher-level GHC modules. Using hoogle (!hoogle or !hgl in DDG), you can search these docs by module name, function name, or even type signature.
What are some alternatives?
cblrepo - Tool to simplify managing a consistent set of Haskell packages for distributions.
hackage-repo-tool - Hackage security framework based on TUF (The Update Framework)
cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.
hoogle - Haskell API search engine
Cabal - Official upstream development repository for Cabal and cabal-install
hackage-whatsnew - Diff a local cabal working directory against its latest counterpart on hackage and report any differences
stackage-curator
plutus-pioneer-program - This repository hosts the lectures of the Plutus Pioneers Program. This program is a training course that the IOG Education Team provides to recruit and train software developers in Plutus, the native smart contract language for the Cardano ecosystem.
cabal2nix - Generate Nix build instructions from a Cabal file
stackage-upload - A more secure version of cabal upload which uses HTTPS