SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Haskell Haskell Projects
-
Project mention: Ask HN: Popular open source tool originally written in Haskell? | news.ycombinator.com | 2024-02-10
ShellCheck: https://github.com/koalaman/shellcheck
-
Project mention: Launch HN: Onedoc (YC W24) – A better way to create PDFs | news.ycombinator.com | 2024-03-11
Congrats on the launch, I guess, but there are so many free options that I can't think of a situation where paying $0.25 per document would be justified...? Just to name a few:
Back in the days, I used to use XSL-FO [0] and it was okay. It was not very precise but it rarely if ever broke, and was perfectly integrated with an XML/XSLT solution. Yeah, this was a long time ago.
Last month I used html-to-pdfmake [1] and it's also not very precise and more fragile, but very efficient and fast.
Yet another approach would be to pro grammatically generate .rtf files (for example) and use Pandoc [2] to produce PDFs (I have not tried this in production but don't see why it wouldn't work).
[0] https://en.wikipedia.org/wiki/XSL_Formatting_Objects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Project mention: Build a simple project management app with Neon, PostgREST, and DigitalOcean | dev.to | 2024-02-27
wget 'https://github.com/PostgREST/postgrest/releases/download/v11.2.0/postgrest-v11.2.0-linux-static-x64.tar.xz'
-
-
Project mention: Learning Elm by porting a medium-sized web front end from React (2019) | news.ycombinator.com | 2024-02-29
-
Short version: no type classes (yet)
Longer version:
Building upon what Quekid5 mentioned, Unison abilities are an implementation of what is referred to as algebraic effects in programming language literature. They represent capabilities like IO, state, exceptions, etc. They aren't really a replacement for type classes, though in some cases you can shoehorn abilities in where you might otherwise use a type class.
For someone coming from a Haskell background, I think that abilities are closer to a replacement for monad transformers. But in my opinion they are much more ergonomic.
Discusson of type classes comes up a lot. Here is a long-standing GitHub issue: https://github.com/unisonweb/unison/issues/502
For what it's worth, I've written Unison quite a lot over the past few years and while I've missed type classes at times, I think that reading unfamiliar code is easier without them. There's no implicit magic; you can see exactly what is being passed into a function. So far I've been happy with a bit more verbosity for the sake of readability.
-
simplex-chat
SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps 📱!
Project mention: What are your favorite End-to-End encrypted tools for online privacy? | /r/degoogle | 2023-12-08For messaging I'm currently on Olvid (E2E with physical key exchange) but since it still use their servers, I'm currently testing SimpleX where I can host my own servers.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
ihp
🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness
Project mention: Ask HN: Why are all of the best back end web frameworks dynamically typed? | news.ycombinator.com | 2023-10-05I found IHP straightforward:
https://ihp.digitallyinduced.com/
despite not remembering much haskell!
This assumes you can get past nix for the install.
I find IHP well-designed. I just wish the licensing scheme were more transparent.
-
The official guide and the archwiki do say that it's okay to just install it via pacman, but I've also found some issues on the official repo that strongly suggest against installing via pacman and to use stack instead, as sometimes pacman breaks dependencies.
-
-
I've been using hledger[1] - similar tool but has more features like balance sheet, income statement generation with a plain text file for the last 3 years and it's been working out great. Before that I used iBank (rebranded as Banktivity) and don't miss it at all.
[1] - https://hledger.org
-
Or just go full on functional. There are several JVM based Haskell languages, e.g. Eta and Frege.
-
-
haskell-language-server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
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.
-
-
-
-
servant
Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more!
> do you really have to understand language extensions?
You do when your code doesn't compile and you're trying to figure out what the error message means, or when the library you want to use makes heavy use of it for even basic functionality.
> These days one just enables GHC2021
My experience was pre-GHC2021. I basically had to enable at a minimum 5-6 language extensions in every single file.
> Mostly they're just about removing unnecessary restrictions from the older standard.
Yeah, those ones are usually fine. I have zero objection to things like FlexibleInstances or DeriveFoldable.
> Could you give an example?
I believe I was trying to implement Central Authentication Service using Servant. However, that required returning a custom HTTP status code. There has been an open Github issue for this since 2017, but it seems to require basically rewriting the entire framework: https://github.com/haskell-servant/servant/issues/732
Looking back at it now Servant does have "ServerError", but that basically requires giving up all the advantages Servant claims to have and I believe it was not a viable option at the time. Looking at the timeline I was probably also on Servant 0.15, and there seems to have been a rewrite since then.
I vaguely recall running into a similar issue trying to interact with a database, but I can't remember the details of that.
-
Project mention: Elegant open source project tracking, Trello like but self-hosted | news.ycombinator.com | 2024-03-18
This one got a lot of attention a while back: https://github.com/smallhadroncollider/taskell
-
-
Project mention: Would anyone be interested in hoot: A cabal wrapper for haskell based on Cargo? | /r/haskell | 2023-07-09
Also, there's already a cabal RFC to support toml: https://github.com/haskell/cabal/issues/7548
-
Project mention: Show HN: Text Lambda, a versatile notebook for your personal data | news.ycombinator.com | 2024-02-21
Thank you!
"stash", the initial MVP version, is written in Haskell. I chose Haskell mostly because of https://github.com/jtdaugherty/brick, which is a wonderful TUI library. I also tend to prefer functional programming languages when I have the choice.
However, Text 's backend and website are currently implemented in Clojure. The app is in C + Flutter (Dart).
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Haskell Haskell related posts
- Dockerfile Linter
- Karya Is a Music Sequencer
- Build a simple project management app with Neon, PostgREST, and DigitalOcean
- Implementing a JIT Compiled Language with Haskell and LLVM (2017)
- Ledger
- Single Software Developer Projects
- NASA Copilot: A stream-based runtime-verification framework
-
A note from our sponsor - SaaSHub
www.saashub.com | 18 Mar 2024
Index
What are some of the best open-source Haskell projects in Haskell? This list will help you:
Project | Stars | |
---|---|---|
1 | ShellCheck | 34,679 |
2 | pandoc | 31,855 |
3 | postgrest | 21,930 |
4 | hadolint | 9,584 |
5 | purescript | 8,421 |
6 | unison | 5,498 |
7 | simplex-chat | 5,123 |
8 | ihp | 4,210 |
9 | xmonad | 3,223 |
10 | koka | 3,011 |
11 | hledger | 2,709 |
12 | eta | 2,589 |
13 | wire-server | 2,582 |
14 | haskell-language-server | 2,547 |
15 | wiwinwlh | 2,528 |
16 | patat | 2,302 |
17 | miso | 2,126 |
18 | servant | 1,765 |
19 | taskell | 1,669 |
20 | aur | 1,623 |
21 | Cabal | 1,558 |
22 | brick | 1,541 |
23 | grenade | 1,434 |