Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev. Learn more →
Top 23 Haskell Web Projects
REST API for any Postgres database
A static website compiler library in Haskell
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
A RESTful Haskell web framework built on WAI.Project mention: It's 2023, so of course I'm learning Common Lisp | news.ycombinator.com | 2023-07-26
Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more!Project mention: An alternative front end for Haskell? | news.ycombinator.com | 2023-10-07
> 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.
Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository)Project mention: haskell todo list app (beginner) | /r/haskell | 2023-06-08
I would suggest checking out scotty for the http server - it uses warp by default, and is very beginner-friendly.
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote)
A fast Haskell JSON library
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
Functional reactive web and mobile applications, with batteries included.Project mention: Help initializing obelisk project | /r/reflexfrp | 2023-05-01
Hello I remember successfully setting up obelisk a while ago and have gone through the instructions https://github.com/obsidiansystems/obelisk and ensured that everything is installed correctly, when I run the install command fro obelisk it says that it's installed but when I run ob init I get an error of command not found, this is an arch machine not nixOS. Any help would me much appreciated.
Another Haskell web framework for rapid development (by agrafix)
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state)
webfont generator - converts ttf to woff, eot and svg
Write type-safe GraphQL services in Haskell
Haskell GraphQL Api, Client and Tools
React bindings for Haskell
An HTTP client library (by mrkkrp)
PostgreSQL + WebsocketsProject mention: PostgREST – Serve a RESTful API from Any Postgres Database | news.ycombinator.com | 2022-12-29
At work, we've finally replaced a large part of a custom (mostly-)web backend with PostgREST recently, and that's quite a relief: considerably less code to maintain in that project now, and that was a rather awkward code. Something akin to PostgREST's "Embedding with Top-level Filtering"  had to be provided for all the tables, with OpenAPI schema and a typed API (Haskell + Servant); I avoided manually writing it all down, but at the cost of poking framework internals, and maintainability suffered. It was particularly annoying that the code doesn't really do anything useful, except for standing between a database and an HTTP client, and simply mimics the database anyway. Whenever a change had to be introduced, it was introduced into the database, the backend, and the frontend simultaneously, so it wasn't even useful for some kind of compatibility.
Now PostgREST handles all that, and only a few less trivial endpoints are handled by a custom backend (including streaming, which I'm considering replacing with postgrest-websocket  at some point).
During the switch to PostgREST, the encountered minor issues were those with inherited tables (had to set a bunch of computed/virtual columns  in order to "embed" those), and with a bug on filtering using such relations (turned out it was an already-fixed regression , so an update helped). Also a couple of helper stored procedures (to use via /rpc/) for updates in multiple tables at once (many-to-many relationships, to edit entities along with their relationships, using fewer requests) were added (though the old custom backend didn't have that), the security policies were set from the beginning, the frontend was rewritten (which allowed to finally switch without adding more work), so it was only left to cleanup the backend.
Not using views, since as mentioned above, database changes usually correspond to frontend changes, and the API doesn't have to be that stable yet.
Happy with it so far.
Updating nixpkgs packages since 2018
A high level web scraping library for Haskell. (by fimad)
:three: :cake: Architecture of the Haskell web applicationsProject mention: My Module Structure Does Not Feel Haskell-like | /r/haskell | 2022-12-13
I’m working on this pet project for a time now. Initially based on the three-layer repository, it’s now modelled after the Clean Architecture. In my understanding, it’s an OOP variation of the functional “Functional Core, Imperative Shell” approach. As most examples for Clean Architecture are written in C#, my module structure also looks more like a typical C# than Haskell one to me.
A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support.Project mention: [ANN] Yampa 0.14.4 | /r/haskell | 2023-08-09
Clear to write, read and edit DSL for writing HTML (by chrisdone)
Web app deployment managerProject mention: Am trying to deploy a Yesod website using Keter but it can't recognize the hostname | /r/haskellquestions | 2023-12-06
Am using the Yesod scaffold and I have followed the documentation but am stuck here, where am getting the error hostname not recognized. The formatting in Reddit is bugged for me in old.reddit so go to Github, https://github.com/snoyberg/keter/issues/285, for code please.
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Haskell Web related posts
Am trying to deploy a Yesod website using Keter but it can't recognize the hostname
1 project | /r/haskellquestions | 6 Dec 2023
An alternative front end for Haskell?
3 projects | news.ycombinator.com | 7 Oct 2023
Production REST API Infrastructure
2 projects | /r/webdev | 18 Jun 2023
haskell todo list app (beginner)
3 projects | /r/haskell | 8 Jun 2023
jsaddle + firefox
4 projects | /r/haskell | 21 May 2023
Help initializing obelisk project
1 project | /r/reflexfrp | 1 May 2023
My experience using Sveltekit, Supabase, and Vercel to build an AI image guessing game.
1 project | /r/sveltejs | 27 Apr 2023
A note from our sponsor - Onboard AI
getonboard.dev | 9 Dec 2023
What are some of the best open-source Web projects in Haskell? This list will help you: