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. Learn more →
Top 23 Haskell Open-Source Projects
-
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.
-
Hasura
Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
-
milewski-ctfp-pdf
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
awesomo
Cool open source projects. Choose your project and get involved in Open Source development now.
-
simplex-chat
SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps 📱!
-
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
-
extism
The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.
-
m2cgen
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies
-
haskell-language-server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
These projects use Caddy as my local development server, Dart Sass for converting my Sass files to CSS, elm, elm-format, elm-optimize-level-2, elm-review, elm-test (only in Calculator), ShellCheck to find bugs in my shell scripts, and Terser to mangle and compress JavaScript code.
My main authoring tool is then Emacs Markdown Mode (https://jblevins.org/projects/markdown-mode/). For data entry, it comes with some bells and whistles similar to org-mode, like C-c C-l for inserting links etc.
I seldom export my notes for external usage, but if it is the case, I use lowdown (https://kristaps.bsd.lv/lowdown/) which also comes with some nice output targets (among the more unusual are Groff and Terminal). Of cource pandoc (https://pandoc.org/) does a very good job here, too.
> 2. ORMs do not hide SQL nastiness.
This is certainly true!
I mean: ORMs are now well known to "make the easy queries slightly more easy, while making intermediate queries really hard and complex queries impossible".
I think the are of ORMs is over. It simply did not deliver.
If a book on SQL is --say-- 100 pages, a book on Hibernate is 400 pages. So much to learn just to make the easy queries slightly easier to type? Just not worth it.
I prefer jooq any day over ORMs. And dont get me started over what tools like Hasuna have to offer.
There are also some languages (forgot the names) that are SQL-done-right. Select in the back, more type safe, more logic, more in the same steps as the query gets executed. These need to be adopted by PG and MySQL and we're good to go. (IMHO)
https://www.jooq.org/
https://hasura.io/
Project mention: The API database architecture – Stop writing HTTP-GET endpoints | news.ycombinator.com | 2024-05-10Yes, sorry about that. We're looking at it on https://github.com/PostgREST/postgrest/issues/3503.
At least on android arm64, looks like a `dmb ishst` is emitted after the constructor, which allows future loads to not need an explicit barrier. Removing `final` from the field causes that barrier to not be emitted.
https://godbolt.org/#g:!((g:!((g:!((h:codeEditor,i:(filename...
We used Wasp’s built-in auth which makes your auth totally yours and independent of any 3rd party service. Under the hood, it uses Lucia and Arctic to give you email, username and multiple OAuth providers out of the box.
Project mention: reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20. | /r/cpp | 2023-12-09Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)
3. Hadolint: https://github.com/hadolint/hadolint Hadolint is a Dockerfile linter that helps you build best practice Docker images, reducing vulnerabilities in your container configurations.
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.
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.
Project mention: Extism: Cross-language framework for building with WebAssembly | news.ycombinator.com | 2024-05-02
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.
For historical interest (though to compare you really need to work with them over a period of time), here's a thousand line [Makefile](https://github.com/simonmichael/hledger/blob/2d35b1051/Makef...) that was converted to a [Justfile](https://github.com/simonmichael/hledger/blob/43c93eb37/Justf...). And here's the kind of template I used for multicommand shell scripts when trying those ([ft](https://github.com/simonmichael/hledger/blob/43c93eb37/bin/f...), [tt](https://github.com/simonmichael/hledger/blob/43c93eb37/bin/t...)).
Or just go full on functional. There are several JVM based Haskell languages, e.g. Eta and Frege.
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.
Haskell related posts
-
Show HN: GNU Make as a Task Runner
-
Static Chess
-
How I switched from Stack to Cabal
-
IHP – The Haskell Framework for Non-Haskellers
-
Elm 2023, a year in review
-
How to Send an SMS in Haskell (2017)
-
The Many Ways Not to Build an API
-
A note from our sponsor - InfluxDB
www.influxdata.com | 17 May 2024
Index
What are some of the best open-source Haskell projects? This list will help you:
Project | Stars | |
---|---|---|
1 | ShellCheck | 35,098 |
2 | pandoc | 32,599 |
3 | Hasura | 30,843 |
4 | postgrest | 22,427 |
5 | compiler-explorer | 15,295 |
6 | wasp | 11,989 |
7 | milewski-ctfp-pdf | 10,768 |
8 | hadolint | 9,793 |
9 | awesomo | 9,248 |
10 | purescript | 8,471 |
11 | AlgoXY | 5,997 |
12 | unison | 5,577 |
13 | simplex-chat | 5,363 |
14 | ihp | 4,233 |
15 | extism | 3,828 |
16 | xmonad | 3,251 |
17 | koka | 3,083 |
18 | hledger | 2,783 |
19 | m2cgen | 2,719 |
20 | eta | 2,594 |
21 | wire-server | 2,591 |
22 | haskell-language-server | 2,582 |
23 | ihaskell | 2,550 |
Sponsored