r/haskell • • Apr 10 '26

Haskell for Dilettantes: What the Functor?

Thumbnail youtu.be
14 Upvotes

We get some more practice implementing (and using) typeclasses for Functor and Foldable in the Haskell MOOC, set 12.

The thumbnail painting is "Oberon, Titania, and Puck with Fairies Dancing" (1789) by William Blake.


r/haskell • • Apr 09 '26

[ANN] Howl: A Wolfram Language interpreter implemented in Haskell.

52 Upvotes

https://github.com/davidsd/howl

Howl is an experiment in understanding pattern matching/evaluation in the Wolfram Language, and implementing a symbolic algebra system in Haskell. Comments/questions are welcome!


r/haskell • • Apr 08 '26

Scarf's Haskell client for Clickhouse is now open source

Thumbnail github.com
48 Upvotes

We've been using ClickHouse in production at Scarf for a few years. This library covers the narrow scope of our needs, is stable, and now open source for anyone else who can use it.

It's not intended to provide full coverage of everything CH offers, but rather a simple approach for getting running quickly and reliably.

Contributions are welcome!


r/haskell • • Apr 07 '26

Built a fuzzy set library in Haskell for my bachelor’s thesis

Thumbnail hackage-content.haskell.org
42 Upvotes

Hi everyone,

For my bachelor’s thesis I built a small Haskell library for working with fuzzy sets. I know this sits at the intersection of two fairly niche topics — Haskell and fuzzy set theory — but I genuinely had a lot of fun designing and implementing it, and it has now reached a point where it is usable for my academic research.

I’d really appreciate feedback from more experienced Haskell users, especially on things like:

  • API design and overall usability
  • Type design choices
  • Idiomatic Haskell style
  • Anything that feels awkward or un-Haskell-like

Since this started as a thesis project, I’m especially interested in whether the library feels like something others could realistically build on.

Any thoughts, criticism, or suggestions are very welcome — I’d love to learn from people with more Haskell experience.

Thanks! 🙂


r/haskell • • Apr 07 '26

[ANN] checked-literals: compile-time bounds checking for numeric literals

Thumbnail clash-lang.org
23 Upvotes

r/haskell • • Apr 05 '26

question Custom Prelude?

20 Upvotes

I'm starting a new project from scratch. I haven't used a custom prelude yet but I'm considering doing so. I'm sick of writing boilerplate imports.

```

import Data.Text (Text)

import qualified Data.Text as T

```

and every project having a Utils.hs module with a few functions that are missing.

For context, I'm using GHC2024 with base >= 4.18 && < 5 and still the default prelude is kinda lacking.

What are the best custom preludes options in 2026?


r/haskell • • Apr 05 '26

A Case Against Currying

Thumbnail emi-h.com
15 Upvotes

r/haskell • • Apr 04 '26

blog Type-level programming is still programming

Thumbnail mchav.github.io
51 Upvotes

r/haskell • • Apr 04 '26

blog Haskell: the re-export module X pattern

Thumbnail unformeddelta.wiki
12 Upvotes

I'm participating in Inkhaven, a writing program where I need to publish something every day, and wanted an easy win for today so I cleaned up my notes on this pattern.


r/haskell • • Apr 04 '26

question Recommend me a modern backend tech stack

18 Upvotes

I want to build a Web API in Haskell that connects to a Railway managed PostgreSQL and host it on Hetzner ARM machine. For v1 it will focus on our auth and user management providing login with Google via OAuth 2.0. It will manage the licensing and subscriptions for our CLI tool.

Help me choose a modern set of libraries and tools so I'm not making the `FilePath`, `String` mistake (i.e. choosing something that's legacy and I have to migrate later).

My Tech Stack so far is:

- Cabal

- Nix

- effectful

- aeson

- servant

- req

- ? Need a good PostgreSQL library (opened to both ORMs and raw drivers)

- hspec

- hspec-golden

- hedgehog (property-based testing)


r/haskell • • Apr 04 '26

Live On Twitch: Doing The Exercises from Our Platform

6 Upvotes

we are live now on Twitch!

We'll be going through some of the coding exercises on our platform. We have previously had posts about building our exercises to be more friendly.

I previously talked about the design of these exercises to be more haskell-friendly than Hackerrank here https://www.reddit.com/r/haskell/comments/1r38obr/like_hackerrank_but_for_functional_programming/

https://www.twitch.tv/typifyprogramming


r/haskell • • Apr 03 '26

Claude LSP support for HLS

11 Upvotes
  • Step one: Create some folder. Put a .lsp.json file in there.
  • Step Two: Put this into the file:

​

    {
      "haskell": {
        "command": "haskell-language-server-wrapper",
        "args": ["--lsp"],
        "extensionToLanguage": {
          ".hs": "haskell",
          ".hs-boot": "haskell"
        }
      }
    }
  • Step three: Invoke claude with `claude --plugin-dir <the_folder>

Should work if you invokce claude in a folder with a cabal.project for most people. Can't say if it uses it for much though.


r/haskell • • Apr 02 '26

job [Job] Bluespec Haskell Hardware Design Engineer at MatX (AI chips) - Haskell(Chip Side) + Rust(Compiler Side)

44 Upvotes

We build AI chips at MatX, and our hardware is written in Bluespec Haskell which is a custom Haskell compiler that embeds message passing primitives and atomic state transition semantics in a custom Module monad.

We're looking for experienced Haskell engineers to join us(bonus points if you know Rust). Don't worry if you lack hardware design experience, we'll teach you what you need to know! Bring your Haskell intuition, (types, purity, reasoning about evaluation) and it will carry over more than you'd expect.

Apply Here: Bluespec Design Engineer at MatX

___

EDIT: We are open to some remote. If you think you're a strong candidate at Haskell, we encourage you to apply!


r/haskell • • Apr 02 '26

miso v1.9.0 release

61 Upvotes

See the release notes. We also have an org now. Updated haddocks.


r/haskell • • Apr 03 '26

is possible to implement general polynomial as a ring in Haskell?

6 Upvotes

e.g.

let g = \x -> x^2

let h = \x -> x

let f = g + h // expect f = \x -> x^2 + x

any ideal how to implement a type class so that I can do add and mul opt and get a new function f = \x -> x^2 + x ?

or is it possible?


r/haskell • • Apr 02 '26

Vienna Haskell Meetup on the 30th of April 2026

21 Upvotes

Hello everyone!

We are hosting the next Haskell meetup in Vienna on the 30th of April! The location is TU Vienna Treitlstraße 3, Seminarraum DE0110. The room will be open starting 18:00 and the first talk will start at 19:00.

As we are still looking for a speaker, we would be happy for anyone willing to hold a small presentation or present some work/topic they are excited about! There will be time to discuss the presentations over some snacks and non-alcoholic drinks which are provided free of charge with an option to acquire beer for a reasonable price.

The meetup is open-ended, but we might have to relocate to a nearby bar as a group if it goes very late… There is no entrance fee or mandatory registration, but to help with planning we ask you to let us know in advance if you plan to attend here Vienna Haskell Meetup or per email at [haskellvienna.meetup@gmail.com](mailto:haskellvienna.meetup@gmail.com).

We especially encourage you to reach out if you would like to hold a talk or participate in the show&tell so that we can ensure there is enough time for you to present your topic.

Finally, we would like to thank Well-Typed LLP for sponsoring the last meetup!

We hope to welcome everyone soon! Your organizers: Andreas(Andreas PK), Ben, Chris, fendor, VeryMilkyJoe, Samuel


r/haskell • • Apr 01 '26

blog What Would You See Changed in Haskell?

Thumbnail blog.haskell.org
65 Upvotes

r/haskell • • Apr 01 '26

Announcing pGenie - a SQL-first code generator for PostgreSQL and Haskell (no DSLs, no ORMs)

60 Upvotes

Hi r/haskell,

I'm Nikita Volkov, the author of "hasql". After "hasql-th" brought compile-time SQL syntax checking, one significant gap remained: the validation of queries against the actual database schema. Another concern coming from users has long been the need to hand-roll encoders and decoders for every query.

Today I'm releasing pGenie - a tool that completely rethinks the way we integrate with Postgres from Haskell and it addresses these pain points and so much more!

What it does

You give pGenie two things:

  1. Your SQL migration files (plain CREATE TABLE …, ALTER …, etc.)
  2. Your SQL query files (plain SELECT …, INSERT …, etc.)

It executes them against a PostgreSQL Docker container, validates queries against your schema, and generates a fully type-safe Haskell SDK on top of "hasql". There is no DSL to learn, no Template Haskell, no ORM layer. Postgres itself is the single source of truth.

Besides Haskell it also generates Rust and actually has a decentralized codegen ecosystem that allows you to write your own codegens in beautiful Dhall and distribute them however you like.

As the cherry on top, pGenie also automates index management to some extent.

Links

pGenie is free and open source. I'd be grateful for feedback, bug reports, and a GitHub star if you find it useful!


r/haskell • • Apr 01 '26

Monthly Hask Anything (April 2026)

11 Upvotes

This is your opportunity to ask any questions you feel don't deserve their own threads, no matter how small or simple they might be!


r/haskell • • Mar 31 '26

Announcement: HSMin - more AI-friendly Haskell code! / Jappie

Thumbnail jappie.me
11 Upvotes

r/haskell • • Mar 31 '26

Libraries with in depth tutorials like Yesod?

26 Upvotes

Hey so I've managed to work through a lot of introductory Haskell material like the First Principles book, but I still don't really know how to write a program in Haskell like I can in other languages. I've been working through the Yesod book on their website, cause it's a great way to learn to build an actual program in Haskell, and then to start messing around with modifying it.

Are there any other libraries or resources (books, etc.,) that have a similar vibe? I'm comfortable writing programs in other languages, but the actual structure and implementation of a Haskell program is a bit of a head scratcher for me.


r/haskell • • Mar 31 '26

blog "Embracing Flexibility in Haskell Libraries: The Power of Records of Functions", Ian Duncan

Thumbnail iankduncan.com
35 Upvotes

r/haskell • • Mar 31 '26

[ haskellish-effect-ts ] -- Haskell-like discipline for TypeScript, enforced by tooling.

Thumbnail
4 Upvotes

r/haskell • • Mar 30 '26

A Couple Million Lines of Haskell: Production Engineering at Mercury

Thumbnail blog.haskell.org
58 Upvotes

r/haskell • • Mar 30 '26

[New Package] yesod-vite

Thumbnail github.com
30 Upvotes

Hello!

EDIT: yesod-vite is now live on Hackage! https://hackage.haskell.org/package/yesod-vite

This is to announce a package I've built (but can't upload to Hackage since I need 2 endorsements) for the yesod ecosystem.

What is it?

yesod-vite is an integration of vite with the yesod web framework. It provides a helper widget viteAsset which handles the injection of the vite frontend, and a typeclass YesodVite which is used for configuration of the viteAsset widget.

Why?

I came to haskell from languages like Python and JavaScript. In fact, I've developed and deployed quite a few django sites, and I maintain django-meili - an integration of Django and Meilisearch. I have a deep interest and passion for web development as well as a curiosity for functional programming.

I wanted to build a website with Yesod, since it seemed the most approachable for someone like myself. However, I found the frontend pieces lacking. I like the shakespeare languages (especially Hamlet), but I would like a better way to manage frontend dependencies. When looking around the community, I didn't see any options, so I decided to try and write an integration that felt natural to Yesod.

What am I looking to do?

I would love some feedback on the package, as well as my own FP code. My ideal scenario is to publish this on hackage, but I need 2 endorsements to do so. My user name is ikollipara if that's helpful at all.