text
ghcup-hs
Our great sponsors
text | ghcup-hs | |
---|---|---|
13 | 25 | |
395 | 248 | |
0.5% | 3.2% | |
8.4 | 9.4 | |
about 11 hours ago | 6 days ago | |
C++ | Haskell | |
BSD 2-clause "Simplified" License | GNU Lesser General Public License v3.0 only |
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.
text
- Super Colliding Nix Stores: Nix Flakes for Millions of Developers
-
The Spinnaker Programming Language
String is a linked list of UTF-32 codepoints, which is just as bad as it sounds. Haskell programmers usually use Text from the text package instead.
-
[ANN] GHCup-0.1.19.0 released
This is the first release that was executed via the new GitHub CI. Everything went smoothly, except for an unexpected packaging bug on windows due to text-2.0 linking against libstdc++ by default.
-
Limits of possible performance improvements of Haskell/GHC code?
In addition to what's mentioned, the "default" libraries people use are often not the best-performing ones. E.g. Data.Vector.Hashtables is often much faster than Data.HashMap.Strict (which again is typically faster than Data.Map). And we find performance papercuts in common libraries that may simply be due to not enough people optimising for speed.
-
What is the idiomatic way to test "hidden" module functions in a Cabal project
Used by nearly every Haskell project: https://hackage.haskell.org/package/text 60% of the modules are ".Internal".
- Monthly Hask Anything (June 2022)
-
Haskell - Important Libraries
text
-
Switch internal representation to UTF8 by Bodigrim · Pull Request #365 · haskell/text
Here is a representative patch for text: https://github.com/haskell/text/pull/365/commits/37a2157245457a287d638bbceb472fe93b71f224 Hopefully it clarifies why achieving C performance is problematic even if you have enough primitive operations.
-
Monthly Hask Anything (January 2021)
u/snoyberg laments here that a consequence of Text using unpinned memory is that the FFI can't operate directly on it. However, there do appear to be some places where foreign imported functions are called on the underlying unpinned ByteArray# (see how Text.copy calls this).
ghcup-hs
-
Revisiting Haskell after 10 years
The compiler now shows more helpful error messages and GHCup allows us to manage multiple versions of GHC, Stack, and HLS (Haskell Language Server) in a breeze. Compilation time is faster now, but I believe it is because hardware has become faster over the years. Unfortunately, cross-compiling is not yet as simple.
-
-❄️- 2023 Day 5 Solutions -❄️-
Install Haskell using GHCup. In days of old installing Haskell used to be a pain, but nowadays Haskell comes with a self-isolated thing call ghcup - you install it once, and then it installs the rest of the universe in its own isolated directory that can be independently deleted or updated without affecting the rest of your system.
-
Need Help with getting Haskell onto my Windows Laptop
Try this https://www.haskell.org/ghcup/ but with Window's WSL2.
-
Neovim: How to get variable type hinting?
I have been using helix with ghcup installed ghc(s) and language servers. It works with Haskell out of box, no configuration necessary. Helix is a modal editor, similar to but distinctly different from the vi family. Although a long time vim user I have found the switch to helix not too difficult and definitely worth the trouble.
- Haskell ecosystem questions.
-
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
- Any open source projects to contribute to for beginners
-
I want to move from linux to bsd
I don't know what FreeBSD's reasons for removing Haskell from the ports tree was -- but in any case, Haskell likes to have its own development & runtime environments. The recommended method (for Linux, as well as FreeBSD) to install the package managers (cabal & stack), & the toolchain nowadays is 'ghcup': https://www.haskell.org/ghcup/
-
Already learned Scala syntax. Should the next book be "SICP" or "Function Programming in Scala"?
If you want a solid understanding of FP and not just FP in Scala, I highly recommend installing GHCup and working through Haskell Programming From First Principles. Then I would work through Scala With Cats, Essential Effects, and Practical FP in Scala for how all of that maps onto Scala.
-
[ANN] GHCup-0.1.19.0 released
Follow the instructions here: GHCup
What are some alternatives?
stack - The Haskell Tool Stack
attempt - Concrete data type for handling extensible exceptions as failures.
base58string - Bitcoin script compilation, manipulation and decompilation
algebraic-classes - Conversions between algebraic classes and F-algebras.
text-trie - An efficient finite map from Text to values, based on bytestring-trie.
gps2htmlReport - Generates a HTML page report detailing a GPS journey, with charts, statistics and an OpenStreetMap graphic.
text-binary - Binary instances for strict and lazy Text data types
CTRex - Open records for Haskell
text-ansi
TermuxArch - Experience the pleasure of the Linux command prompt in Android, Chromebook, Fire OS and Windows on smartphone, smartTV, tablet and wearable https://termuxarch.github.io/TermuxArch/
leetify - Leetify some text!
data-foldapp - Haskell library for folding function applications. A framework for variadic functions.