feed-repeat can now be run and hosted on Github: https://abhin4v.github.io/feed-repeat/hosting-on-github-pages.html
This is a quick and easy way to get it up and running.
#feeds #rss #haskell
abhin4v.github.io
Hashtag
1,762 posts tagged with this hashtag.
feed-repeat can now be run and hosted on Github: https://abhin4v.github.io/feed-repeat/hosting-on-github-pages.html
This is a quick and easy way to get it up and running.
#feeds #rss #haskell
abhin4v.github.io
feed-repeat can now be run and hosted on Github: https://abhin4v.github.io/feed-repeat/hosting-on-github-pages.html
This is a quick and easy way to get it up and running.
#feeds #rss #haskell
abhin4v.github.io
Ever since I figured out how to build static executables for #Haskell code, I've being deploying all my Haskell projects as static binaries. I can't believe how much disk space it saves in some cases. The SSG that builds my website used to take more than 5GB; now it takes about 80MB!
feed-repeat now has a (simple) website: https://abhin4v.github.io/feed-repeat/
abhin4v.github.io
Announcing feed-repeat v1.0, a self-hostable tool that repeats old blog posts in new feeds, for you to reread the old gems or to remember the past: https://abhinavsarkar.net/notes/2026-feed-repeat/
abhinavsarkar.net
Announcing feed-repeat v1.0
feed-repeat now has a (simple) website: https://abhin4v.github.io/feed-repeat/
abhin4v.github.io
Announcing feed-repeat v1.0, a self-hostable tool that repeats old blog posts in new feeds, for you to reread the old gems or to remember the past: https://abhinavsarkar.net/notes/2026-feed-repeat/
abhinavsarkar.net
Announcing feed-repeat v1.0
Readings shared June 5, 2026. https://jaalonso.github.io/vestigium/posts/2026/06/05-readings_shared_06-05-26 #AI4Math #Agda #Autoformalization #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #RacketLang
jaalonso.github.io
The readings shared in Bluesky on 5 June 2026 are: A formal proof of the Ramanujan-Nagell theorem in Lean 4. ~ Barinder S. Banwait. #LeanProver #ITP #AI4Math Certificate-based verification of derivat
I scored 10 / 12 on "Extension Or Imitation"
https://doscienceto.it/extension-or-imitation
Try it out?
via @hungryjoe
#Haskell #HaskellLanguageExtensionOrImitation
doscienceto.it
Can you tell the real Haskell Language Extensions from the Imitations?
In #haskell, I have "load :: Bool -> Bool -> Struct" where "data Struct = Struct (Maybe X) (Maybe Y)" (where the booleans specify whether X and Y are loaded and are "Just"). If the two booleans are more or less known at compile-time, can I improve on this, ditching the Maybe?
I scored 8 / 12 on "Extension Or Imitation"
https://doscienceto.it/extension-or-imitation
Try it out?
via @hungryjoe
#Haskell #HaskellLanguageExtensionOrImitation
doscienceto.it
Can you tell the real Haskell Language Extensions from the Imitations?
I scored 10 / 12 on "Extension Or Imitation"
https://doscienceto.it/extension-or-imitation
Try it out?
via @hungryjoe
#Haskell #HaskellLanguageExtensionOrImitation
doscienceto.it
Can you tell the real Haskell Language Extensions from the Imitations?
I scored 8 / 12 on "Extension Or Imitation"
https://doscienceto.it/extension-or-imitation
Try it out?
via @hungryjoe
#Haskell #HaskellLanguageExtensionOrImitation
doscienceto.it
Can you tell the real Haskell Language Extensions from the Imitations?
I've been working on continually exporting #Haskell's stack traces to pprof format, making GHC compatible with existing tools, e.g. Pyroscope, Speedscope, etc.
Simple tests give it about a 2% overhead on a silly Scotty/HTTP example app.
That brings it in line with other languages. For Atlassian Marketplace, I used AWS CodeGuru Profiler for the Scala code, and it was invaluable. For Obsidian Systems we've been using Grafana Pyroscope on some Go code.
Announcing the June #Bangalore #FPIndia #Meetup!
Our first talk is Type-level Programming in #Haskell, presented by @abnv!
Like always, meet fellow FP heads, have great conversations, all skill levels welcome!
RSVP https://hasgeek.com/fpindia/bangalore-fp-june-2026-meetup/
hasgeek.com
Bangalore FP June 2026 meetup
Announcing the June #Bangalore #FPIndia #Meetup!
Our first talk is Type-level Programming in #Haskell, presented by @abnv!
Like always, meet fellow FP heads, have great conversations, all skill levels welcome!
RSVP https://hasgeek.com/fpindia/bangalore-fp-june-2026-meetup/
hasgeek.com
Bangalore FP June 2026 meetup
Practical uses of monads in Haskell. ~ Antoine Leblanc. https://nauths.fr/en/2026/05/28/practical-use-of-monads.html #Haskell #FunctionalProgramming
nauths.fr
On the “haskellquestions” subreddit, a user recently asked for some help with monads in Haskell. In their post, they wrote (slightly paraphrased):
Extension or Imitation? Can you tell the valid Haskell Language Extensions, from the Impostors? by @hungryjoe https://lobste.rs/s/r7by0p #haskell
https://doscienceto.it/extension-or-imitation/
doscienceto.it
Can you tell the real Haskell Language Extensions from the Imitations?
Announcing Mutation Testing in Haskell via @abnv https://lobste.rs/s/xwhlul #haskell
https://cs-syd.eu/posts/2026-06-03-mutation-testing-in-haskell
cs-syd.eu
Mutation testing is now generally available in sydtest. This is a major step towards a saner development workflow in the age of AI-generated code.
The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities.
There is no #Haskell without the trans people who have shaped it through the years.
This June is a month of celebrations, but the struggle continues. ✊🏳️⚧️λ
The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities.
There is no #Haskell without the trans people who have shaped it through the years.
This June is a month of celebrations, but the struggle continues. ✊🏳️⚧️λ
The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities.
There is no #Haskell without the trans people who have shaped it through the years.
This June is a month of celebrations, but the struggle continues. ✊🏳️⚧️λ
The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities.
There is no #Haskell without the trans people who have shaped it through the years.
This June is a month of celebrations, but the struggle continues. ✊🏳️⚧️λ
Finally got a good use-case for property-based tests (PBT) in #haskell. Had a function that really enforced an invariant. Given a number, using test to be tested function will output a string that's less than 'n' chars long. And wow did PBT help!
Stealing from Biologists to Compile Haskell Faster https://lobste.rs/s/hio1um #haskell
https://iankduncan.com/engineering/2026-05-30-stealing-from-biologists-to-compile-haskell-faster/
iankduncan.com
The trick that makes GHC’s ApplicativeDo optimization faster is structurally identical to how biologists predict RNA folding.
Stealing from Biologists to Compile Haskell Faster https://lobste.rs/s/hio1um #haskell
https://iankduncan.com/engineering/2026-05-30-stealing-from-biologists-to-compile-haskell-faster/
iankduncan.com
The trick that makes GHC’s ApplicativeDo optimization faster is structurally identical to how biologists predict RNA folding.
Request For Comments:
H2JVM - A #Haskell Library for writing #JVM Bytecode
https://discourse.haskell.org/t/h2jvm-a-haskell-library-for-writing-jvm-bytecode/14182
discourse.haskell.org
Hi everyone! I have been working on a new library for writing JVM bytecode with Haskell in a nice, high level way and I’d love some feedback on it! The motivation here is for compilers to the JVM so they can focus on the actual code generation, meanwhile H2JVM takes care of all the messy details like StackMapTable analysis, label/offset resolution, etc. Here is a quick example taken from the readme. It generates a simple class file with a single method static int add(int, int) which adds 2 num...
H2JVM - A Haskell Library for writing JVM Bytecode https://lobste.rs/s/8043lu #haskell #java
https://discourse.haskell.org/t/h2jvm-a-haskell-library-for-writing-jvm-bytecode/14182
discourse.haskell.org
Hi everyone! I have been working on a new library for writing JVM bytecode with Haskell in a nice, high level way and I’d love some feedback on it! The motivation here is for compilers to the JVM so they can focus on the actual code generation, meanwhile H2JVM takes care of all the messy details like StackMapTable analysis, label/offset resolution, etc. Here is a quick example taken from the readme. It generates a simple class file with a single method static int add(int, int) which adds 2 num...
Serokell’s Work on GHC: Dependent Types, Part 5
https://serokell.io/blog/serokell-s-work-on-ghc-dependent-types-part-5
serokell.io
This article continues the fine tradition of Serokell's GHC team sharing their progress on bringing dependent types to Haskell. A lot has happened since the last report, and there is plenty to cover. In this edition, Vladislav Zavialov presents three major contributions and a host of smaller improvements that push Dependent Haskell closer to becoming a practical reality.
Request For Comments:
H2JVM - A #Haskell Library for writing #JVM Bytecode
https://discourse.haskell.org/t/h2jvm-a-haskell-library-for-writing-jvm-bytecode/14182
discourse.haskell.org
Hi everyone! I have been working on a new library for writing JVM bytecode with Haskell in a nice, high level way and I’d love some feedback on it! The motivation here is for compilers to the JVM so they can focus on the actual code generation, meanwhile H2JVM takes care of all the messy details like StackMapTable analysis, label/offset resolution, etc. Here is a quick example taken from the readme. It generates a simple class file with a single method static int add(int, int) which adds 2 num...
Data types à la carte (2008) https://lobste.rs/s/8ukphx #haskell #plt
https://www.cambridge.org/core/journals/journal-of-functional-programming/article/data-types-a-la-carte/14416CB20C4637164EA9F77097909409
cambridge.org
Data types à la carte - Volume 18 Issue 4
Profunctors in Haskell (2011) https://lobste.rs/s/tibn5s #pdf #haskell #plt
https://github.com/dpiponi/StableBlog/blob/main/Profunctors/Profunctors.pdf
Over the weekend, I spent a couple of hours #reading through Patrick Thomson's series of blog posts on Recursion Schemes with #Haskell https://blog.sumtypeofway.com/posts/recursion-schemes-part-6.html, and it has been most helpful in understanding the topic. I have tried reading the docs of the eponymous package before, to no avail. That's why I love reading (and writing) #programming tutorials.
I downloaded the posts and converted them to an e-book for offline reading. It was over a hundred pages but it was so engrossing, I couldn't put it down! There are not many blog posts that I could say the same about. Definitely a recommended read if you are interested in #RecursionSchemes and #FunctionalProgramming.
blog.sumtypeofway.com
OpenTelemetry 1.0 release!!
https://discourse.haskell.org/t/ann-opentelemetry-1-0-release/14168
discourse.haskell.org
Hello, all! After a number of years and false starts on trying to wrap my head around the metrics spec, I’m pleased to announce the release of the 1.0 edition of the hs-opentelemetry-* ecosystem! OpenTelemetry is an open source observability framework that provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. The reason this is 1.0 and not yet another 0.x is that it is a big bang release with a number of break...
After 15 years of writing #Haskell code, I think I am finally ready to understand Lenses and Optics.
A demonstration deployment of Haskell on AWS Lambda https://lobste.rs/s/3rfye9 #devops #haskell
https://git.sr.ht/~jack/lambda-on-lambda
git.sr.ht
"Lambda on Lambda: Serverless Haskell on AWS" by Jack Kelly http://jackkelly.name/blog/archives/2026/06/24/lambda_on_lambda_serverless_haskell_on_aws/index.html
jackkelly.name
Took me a couple of months in total, but finally I've released Haskeletor v2.0.0 — an #IntelliJ plugin for #Haskell projects!
This time, in v2.0.0, it is really an IntelliJ plugin — no longer bound to IDEA, compatible with all the IDEs from the family!
There are a lot of plans how to move farther (e.g. rely on HLS instead of the current tool set), but for now I've released it and plan to switch to other tasks — the ones that made me to implement Haskell tooling in the first place.
"Lambda on Lambda: Serverless Haskell on AWS" by Jack Kelly http://jackkelly.name/blog/archives/2026/06/24/lambda_on_lambda_serverless_haskell_on_aws/index.html
jackkelly.name
Took me a couple of months in total, but finally I've released Haskeletor v2.0.0 — an #IntelliJ plugin for #Haskell projects!
This time, in v2.0.0, it is really an IntelliJ plugin — no longer bound to IDEA, compatible with all the IDEs from the family!
There are a lot of plans how to move farther (e.g. rely on HLS instead of the current tool set), but for now I've released it and plan to switch to other tasks — the ones that made me to implement Haskell tooling in the first place.
Announcing feed-repeat v1.0, a self-hostable tool that repeats old blog posts in new feeds, for you to reread the old gems or to remember the past: https://abhinavsarkar.net/notes/2026-feed-repeat/
abhinavsarkar.net
Announcing feed-repeat v1.0
Announcing feed-repeat v1.0, a self-hostable tool that repeats old blog posts in new feeds, for you to reread the old gems or to remember the past: https://abhinavsarkar.net/notes/2026-feed-repeat/
abhinavsarkar.net
Announcing feed-repeat v1.0
Announcing feed-repeat v1.0, a self-hostable tool that repeats old blog posts in new feeds, for you to reread the old gems or to remember the past: https://abhinavsarkar.net/notes/2026-feed-repeat/
abhinavsarkar.net
Announcing feed-repeat v1.0
PenroseKiteDart user guide. ~ Chris Reade. https://readerunner.wordpress.com/2024/04/08/penrosekitedart-user-guides/ #Haskell #FunctionalProgramming
readerunner.wordpress.com
Introduction (Updated September 2025 for PenroseKiteDart version 1.5.1) PenroseKiteDart is a Haskell package with tools to experiment with finite tilings of Penrose’s Kites and Darts. It uses…
RFC: Sunsetting i386 bindists?
i386 has been a source of pain for a while with musl libc. Should it be retired, or should the bindings switch to glibc and be less portable?
discourse.haskell.org
i386 has been a source of pain for a while. More specifically: Something seems wrong with ghcup installing bindist for i386 on debian 12 · Issue #1107 · haskell/ghcup-hs · GitHub Test failures on 32bit linux (alpine/musl) · Issue #11049 · haskell/cabal · GitHub https://gitlab.haskell.org/ghc/ghc/-/issues/25945 And currently blocking Cabal CI because alex --version segfaults. It also so happens that I build the alpine 32bit GHC variant for every single release manually. I think it’s beyond r...
Haskell Foundation 2026 Update https://lobste.rs/s/9qfw9k #haskell
https://discourse.haskell.org/t/haskell-foundation-2026-update/14136
discourse.haskell.org
The Haskell Foundation has been at the center of a flurry of changes, all of which I’d like to share with the community today. First, José, our executive director for the past few years, has decided to step away from his role in June 2026. José has been the longest-serving executive director at the Haskell Foundation, spending his time interacting with and supporting the community in many ways, often away from public view. Through personal sacrifices, José has allowed the Haskell Foundation to ...
Speaking of #haskell, this tool here, especially for those who use #freebsd, #openbsd (BSDs in general), can be extremely useful: https://github.com/koalaman/shellcheck
github.com
ShellCheck, a static analysis tool for shell scripts - koalaman/shellcheck
Speaking of #haskell, this tool here, especially for those who use #freebsd, #openbsd (BSDs in general), can be extremely useful: https://github.com/koalaman/shellcheck
github.com
ShellCheck, a static analysis tool for shell scripts - koalaman/shellcheck
Functional Programming - Humble Tech Book Bundle
https://www.humblebundle.com/books/ultimate-functional-programming-pragmatic-programmers-books
humblebundle.com
Pay what you want for a curated collection of functional programming courses by Pragmatic Programmers and help support Save the Children with your purchase!
Functional Programming - Humble Tech Book Bundle
https://www.humblebundle.com/books/ultimate-functional-programming-pragmatic-programmers-books
humblebundle.com
Pay what you want for a curated collection of functional programming courses by Pragmatic Programmers and help support Save the Children with your purchase!
Speaking of #haskell, this tool here, especially for those who use #freebsd, #openbsd (BSDs in general), can be extremely useful: https://github.com/koalaman/shellcheck
github.com
ShellCheck, a static analysis tool for shell scripts - koalaman/shellcheck
Haskell Foundation 2026 Update
https://discourse.haskell.org/t/haskell-foundation-2026-update/14136
discourse.haskell.org
The Haskell Foundation has been at the center of a flurry of changes, all of which I’d like to share with the community today. First, José, our executive director for the past few years, has decided to step away from his role in June 2026. José has been the longest-serving executive director at the Haskell Foundation, spending his time interacting with and supporting the community in many ways, often away from public view. Through personal sacrifices, José has allowed the Haskell Foundation to ...
Haskell Foundation 2026 Update
https://discourse.haskell.org/t/haskell-foundation-2026-update/14136
discourse.haskell.org
The Haskell Foundation has been at the center of a flurry of changes, all of which I’d like to share with the community today. First, José, our executive director for the past few years, has decided to step away from his role in June 2026. José has been the longest-serving executive director at the Haskell Foundation, spending his time interacting with and supporting the community in many ways, often away from public view. Through personal sacrifices, José has allowed the Haskell Foundation to ...
The Ultimate Functional Programming Humble Bundle features two excellent #Haskell books by Rebecca Skinner
* Effective Haskell
* Haskell Brain Teasers
Check it out! https://www.humblebundle.com/books/ultimate-functional-programming-pragmatic-programmers-books
humblebundle.com
Pay what you want for a curated collection of functional programming courses by Pragmatic Programmers and help support Save the Children with your purchase!
Check out the current job offers for #Haskell jobs on Beyond Tabs:
beyond-tabs.com
Browse curated, highly specialized software development jobs in the Haskell category
In an alternative timeline where #FunctionalProgramming is the norm instead of Object-oriented programming, and #Haskell is the most popular #ProgrammingLanguage instead of #Java, there is a list of tutorials trying to explain what Objects are to programmers in terms of FP concepts, the most popular of which is, “Objects are Comonads”.
However, we don't live in that timeline, so we'll have to be content with the inverse article, “Comonads are Objects” https://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html .
haskellforall.com
Haskell programmers popularized the use of monads to structure imperative computations, complete with syntactic sugar in the form of do not...
Wrote some #CSS in #Haskell as an #EDSL using the Clay library. Gotta say, writing type-safe CSS is a really nice experience. #programming
```haskell
pageStyle = do
body ? do
header ? do
textAlign center
main_ ** article ? do
small ? do
fontSize $ em 0.5
marginLeft $ em 0.3
".meta" ? do
display flex
justifyContent spaceBetween
ul # ".tags" ? do
paddingLeft $ em 0
li ? do
display inlineBlock
backgroundColor $ rgb 230 230 250
color $ rgb 34 34 34
margin (em 0.2) (em 0.1) (em 0.2) (em 0.1)
padding (em 0.1) (em 0.5) (em 0.1) (em 0.5)
whiteSpace nowrap
fontSizeCustom smaller
query CM.screen [CM.prefersColorScheme CM.dark] $ do
backgroundColor $ rgb 72 57 165
color $ rgb 217 216 220
footer ? do
textAlign center
fontSizeCustom smaller
borderTop 1 dashed black
```
In January 2027, I will teach the first instalment of the new BSc course "Functional Programming: continuation course" (joint between Chalmers and UGOT). https://share.google/int8wna1Pjo9T1tGE
Within a month or so, I need to decide on the course literature. I'd be very happy to receive thoughts, suggestions, warnings, etc. about what you think would work, or not.
More details below:
Learning outcomes:
Knowledge and understanding:
+ Explain and apply fundamental abstractions in functional programming, including lazy/strict evaluation, functors, & monads, and describe how these abstractions can be used to handle state, exceptions, and I/O in a purely functional way.
+ Explain how algebraic properties such as associativity and commutativity enable divide-and-conquer and parallel evaluation in pure functional programs, and discuss how purity and referential transparency support the design of compositional embedded domain-specific languages (EDSLs).
Skills and abilities:
+ Design, structure, and implement functional programs and small EDSLs using appropriate type classes, algebraic operators, and data structures for efficient and, where appropriate, parallel computation.
+ Apply functional techniques such as recursion schemes, memoization, and algebraic composition to implement and reason about non-trivial algorithms.
+ Use relevant tools and libraries to develop, test, and document maintainable programs, including performance analysis and identification of common inefficiencies.
+ Structure and solve real-world programming problems in a functional style, integrating abstraction, testing, and reasoning for correctness and efficiency.
Judgement and approach:
+ Critically assess the suitability of abstractions and algebraic structures for specific programming problems, through reflection on the trade-offs between abstraction, performance, and resource use.
+ Evaluate program design decisions and correctness using property-based testing, algebraic properties, and equational reasoning.
+ Demonstrate responsibility in program design and collaboration, ensuring modularity, clear documentation, and maintainability.
chalmers.se
"linear-locks: locking primitives free of deadlocks"
If you encounter STM's limitations when it comes to lock-free synchronisation, then Linear Haskell-backed locks maybe the solution you want!
https://discourse.haskell.org/t/ann-linear-locks-locking-primitives-free-of-deadlocks/14112
discourse.haskell.org
linear-locks provides locking primitives that are statically guaranteed not to lead to deadlocks. It achieves this by breaking one of the Coffman conditions for deadlocks: the “circular wait” condition. linear-locks ensures locks are always acquired in a consistent order. tl;dr: Each lock is assigned a “level”, tracked at the type level. When you enter a “lock scope”, you’re given a key that can acquire locks of level 0 or above. When you acquire a lock of level n, the key is consumed and you’...
In January 2027, I will teach the first instalment of the new BSc course "Functional Programming: continuation course" (joint between Chalmers and UGOT). https://share.google/int8wna1Pjo9T1tGE
Within a month or so, I need to decide on the course literature. I'd be very happy to receive thoughts, suggestions, warnings, etc. about what you think would work, or not.
More details below:
Learning outcomes:
Knowledge and understanding:
+ Explain and apply fundamental abstractions in functional programming, including lazy/strict evaluation, functors, & monads, and describe how these abstractions can be used to handle state, exceptions, and I/O in a purely functional way.
+ Explain how algebraic properties such as associativity and commutativity enable divide-and-conquer and parallel evaluation in pure functional programs, and discuss how purity and referential transparency support the design of compositional embedded domain-specific languages (EDSLs).
Skills and abilities:
+ Design, structure, and implement functional programs and small EDSLs using appropriate type classes, algebraic operators, and data structures for efficient and, where appropriate, parallel computation.
+ Apply functional techniques such as recursion schemes, memoization, and algebraic composition to implement and reason about non-trivial algorithms.
+ Use relevant tools and libraries to develop, test, and document maintainable programs, including performance analysis and identification of common inefficiencies.
+ Structure and solve real-world programming problems in a functional style, integrating abstraction, testing, and reasoning for correctness and efficiency.
Judgement and approach:
+ Critically assess the suitability of abstractions and algebraic structures for specific programming problems, through reflection on the trade-offs between abstraction, performance, and resource use.
+ Evaluate program design decisions and correctness using property-based testing, algebraic properties, and equational reasoning.
+ Demonstrate responsibility in program design and collaboration, ensuring modularity, clear documentation, and maintainability.
chalmers.se
hpgsql, a PostgreSQL driver written in pure #Haskell
https://discourse.haskell.org/t/ann-hpgsql-a-pure-haskell-postgresql-driver-no-libpq/14101
discourse.haskell.org
It’s a pleasure to announce hpgsql, a PostgreSQL driver written in pure Haskell (no libpq), with an API largely inspired by the great postgresql-simple library, but featuring: Usage of PostgreSQL’s binary protocol Query arguments passed via the protocol instead of being escaped into the query string Pipelining Prepared statements Ability to stream query results directly from the socket (not just with cursors) Interruption safety, except for very specific (and documented) edge cases Thread safe...
RE: https://functional.cafe/@hungryjoe/116558180680357762
Amazing work by @hungryjoe to display 3D solids in GHCi with the ratty terminal
https://fosstodon.org/@hungryjoe@functional.cafe/116558182359836348
functional.cafe
This quote was not authorized by the quoted post's author.
Exception Annotations: Lay of the Land https://lobste.rs/s/slndvk #haskell
https://well-typed.com/blog/2026/05/lay-annotation-land/
well-typed.com
Production Haskell by Matt Parsons is on sale on Leanpub! Its suggested price is $40.00; get it for $22.50 with this coupon: https://leanpub.com/production-haskell/c/LeanPublishingDaily20260507 #haskell
leanpub.com
This book will help you succeed with Haskell in your industrial endeavors.
Readings shared May 9, 2026. https://jaalonso.github.io/vestigium/posts/2026/05/10-readings_shared_05-09-26 #AI4Math #ATP #Aristotle #CompSci #CoqProver #FunctionalProgramming #Haskell #History #ITP #IsabelleHOL #LeanProver #Logic #Math #Mizar #Ocaml #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 9 May 2026 are: A shallow embedding of Datalog in Lean. ~ Ramy Shahin. #LeanProver #ITP Bennett's conjecture in Lean 4: Counter-models for the PSR-reducibility of Sp
I wanted a #Haskell function to efficiently compute the conjugate of an integer partition. I think I know how to write it, but it's fiddly. There's a nice, succinct functional specification:
conjugate = reverse . map length . transpose . map (`replicate` ())
but it's slow. Now I'm wondering whether it's possible to derive an efficient version from this specification, #Bird-Meertens style. Anyone know of previous work along these lines? Or should I add it to my list of interesting projects?
Exception annotations: Lay of the Land. ~ Edsko de Vries. https://well-typed.com/blog/2026/05/lay-annotation-land/ #Haskell #FunctionalProgramming
well-typed.com
MicroHs in the browser. ~ Lennart Augustsson. https://augustss.github.io/MicroHs/web-mhs/ #Haskell #FunctionalProgramming
augustss.github.io
Exception Annotations: Lay of the Land https://well-typed.com/blog/2026/05/lay-annotation-land/
well-typed.com
"Exception Annotations: Lay of the Land" by Edsko de Vries.
TL;DR: Use ghc 9.12, don’t call throwIO on an argument of type SomeException, and use your own function instead of displayException if you want to see all exception annotations.
well-typed.com
You can now try MicroHS in the browser! Check it out:
https://augustss.github.io/MicroHs/web-mhs/
Discourse: https://discourse.haskell.org/t/microhs-in-the-browser/14055
discourse.haskell.org
You can now run interactive mhs in your browser. Try it! It currently only has the base package included, but it is trivial to make a version that has arbitrary packages (well, those that mhs can compile) embedded in the system. The site consist of a small index.html (4K) and a rather hefty mhs-embed.js (2.3M). The latter contains the compiler, runtime system, and base package. It is built by emscripten to compile the C code to JS and Wasm. Currently, you cannot access the local file syste...
You can now try MicroHS in the browser! Check it out:
https://augustss.github.io/MicroHs/web-mhs/
Discourse: https://discourse.haskell.org/t/microhs-in-the-browser/14055
discourse.haskell.org
You can now run interactive mhs in your browser. Try it! It currently only has the base package included, but it is trivial to make a version that has arbitrary packages (well, those that mhs can compile) embedded in the system. The site consist of a small index.html (4K) and a rather hefty mhs-embed.js (2.3M). The latter contains the compiler, runtime system, and base package. It is built by emscripten to compile the C code to JS and Wasm. Currently, you cannot access the local file syste...
The Tokyo #Haskell Meetup will happen on the 19th of May with speakers Luite Stegeman and Farhad Mehta
Discourse: https://discourse.haskell.org/t/haskell-meetup-in-tokyo-19-may/14051
Meetup: https://www.meetup.com/tokyo-haskell-meetup/events/314624400
meetup.com
Join us for an exciting evening of Haskell discussions in Tokyo! We're thrilled to welcome **Luite Stegeman** and **Elliot Potts** as speakers. **Talks** (English): **The
The Lambda Nantes Meetup will happen on the 21st of May, with speakers @clementd and @etorreborre as speakers
https://discourse.haskell.org/t/lambda-nantes-meetup-21-may/14053
discourse.haskell.org
Hello, The Lambda Nantes Meetup is back in May, the 21st, with not one but TWO talks: Clément Delafargue (@clementd.wtf) will demonstrate that everything boils down to traverse Eric Torreborre (@etorreborre.bloh) will share some new ideas about Compositional Programming Please note that talks will be in French 🇫🇷 ! Registration and location/time details on Mobilizon: Programmation compositionnelle et traversabilité - Mobilizon Lambda Nantes is not a Haskell-only meetup, it’s dedicate...
Categorical transformers. ~ Marco Perone. https://marcosh.github.io/post/2026/05/08/categorical-transformers.html #Haskell #FunctionalProgramming
marcosh.github.io
Categorical transformers
Brisbane Functional Programming Group #BFPG May 12: Tim Lamberton will teach us about data type derivatives and zippers, and Carlo will introduce Datastar, his new #Haskell framework for interactive web apps. Be there or a be a lambda cube! https://luma.com/72tqx0nh
luma.com
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: What is the derivative of a data type? - Tim…
The #Haskell Paris Spring Meetup will happen on the 27th of May at ENS Ulm.
See the announcement here: https://discourse.haskell.org/t/haskell-paris-meetup/14040
Register here: https://www.meetup.com/haskell-paris/events/314645669
meetup.com
(English 🇮🇪 below) Le meetup Haskell parisien reviens pour le printemps en partenariat avec HackENS, le hackerspace de l'ENS Ulm. Cela sera l'occasion de se revoir, par
Readings shared May 5, 2026. https://jaalonso.github.io/vestigium/posts/2026/05/05-readings_shared_05-25-26 #AI4Math #Agda #FunctionalProgramming #Haskell #HoTT #ITP #IsabelleHOL #LeanProver #Lisp #LogicProgramming #Math #Programming #Prolog #Python #Scheme
jaalonso.github.io
The readings shared in Bluesky on 4 May 2026 are: Compfiles: Catalog of math problems formalized in Lean. ~ David Renshaw et als. #LeanProver #ITP #Math Primitive pythagorean triples in lean and redu
Pure Borrow: Linear #Haskell Meets #Rust-Style Borrowing
Announcement post:
https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
First release on Hackage: https://discourse.haskell.org/t/ann-pure-borrow-0-0-0-0/14037
discourse.haskell.org
We are pleased to announce the first release of Pure Borrow: Linear Haskell Meets Rust-Style Borrowing 🎉 Although the implementation is in somewhat usable stage, but it is still under heavy development. See the previous post on Discourse for the detailed explanation. This release covers API described in our original paper, plus some experimental feature like record borrow splitting or generalized reborrows. Feeedbacks are always welcome! Happy Linear Haskelling! 🍭
Pure Borrow: Linear #Haskell Meets #Rust-Style Borrowing
Announcement post:
https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
First release on Hackage: https://discourse.haskell.org/t/ann-pure-borrow-0-0-0-0/14037
discourse.haskell.org
We are pleased to announce the first release of Pure Borrow: Linear Haskell Meets Rust-Style Borrowing 🎉 Although the implementation is in somewhat usable stage, but it is still under heavy development. See the previous post on Discourse for the detailed explanation. This release covers API described in our original paper, plus some experimental feature like record borrow splitting or generalized reborrows. Feeedbacks are always welcome! Happy Linear Haskelling! 🍭
A Tale of Two Handles and a Segfault – Adventures in tackling race conditions and flaky tests in HLS by Curtis Chin Jen Sem
crtschin.com
Adventures in tackling race conditions and flaky tests in HLS.
#Haskell Language Server 2.14 release announcement: https://blog.haskell.org/hls-2-14-0-0/
Quality of life improvements, bug fixes, and what is to expect for this year's Google Summer of Code!
blog.haskell.org
Wow, it's been too long since I read a really good #haskell blog post.
https://blog.haskell.org/a-couple-million-lines-of-haskell/
Putting this away to enjoy later, I was up at 6 am working out how to winch a huge hot water heater from a pickup truck onto my porch. Which we succeeded at eventually..
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
Wow, it's been too long since I read a really good #haskell blog post.
https://blog.haskell.org/a-couple-million-lines-of-haskell/
Putting this away to enjoy later, I was up at 6 am working out how to winch a huge hot water heater from a pickup truck onto my porch. Which we succeeded at eventually..
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
A Tale of Two Handles and a Segfault – Adventures in tackling race conditions and flaky tests in HLS by Curtis Chin Jen Sem
crtschin.com
Adventures in tackling race conditions and flaky tests in HLS.
Wow, it's been too long since I read a really good #haskell blog post.
https://blog.haskell.org/a-couple-million-lines-of-haskell/
Putting this away to enjoy later, I was up at 6 am working out how to winch a huge hot water heater from a pickup truck onto my porch. Which we succeeded at eventually..
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
A monadic implementation of functional logic programs. ~ Michael Hanus, Kai-Oliver Prott, Finn Teegen. https://arxiv.org/abs/2604.27863v1 #Haskell #FunctionalProgramming

arxiv.org
Functional logic languages are a high-level approach to programming by combining the most important declarative features. They abstract from small-step operational details so that programmers can concentrate on the logical aspects of an application. This is supported by appropriate evaluation strategies. Demand-driven evaluation from functional programming is amalgamated with non-determinism from logic programming so that solutions or values are computed whenever they exist. This frees the programmer from considering the influence of an operational strategy on the success of a computation, but it is a challenge to the language implementer. A non-deterministic demand-driven strategy might duplicate unevaluated choices of an expression, which could duplicate the computational effort. In recent implementations, this problem has been tackled by adding a kind of memoization of non-deterministic choices to the expression under evaluation. Since this has been implemented in imperative target languages, it was unclear whether this could also be supported in a functional programming environment like Haskell. This paper presents a solution to this challenge by transforming functional logic programs into a monadic representation. Although this transformation is not new, we present an implementation of the monadic interface which supports memoization in non-deterministic branches. Additionally, we include more advanced features of functional logic languages, namely functional patterns and encapsulated search, in our approach. By optimizing our implementation for purely functional computations with both a static and dynamic approach, we are able to achieve a promising performance that outperforms current compilers for Curry.
Arboretum.hs: Symbolic manipulation for algebras of graphs. ~ Eugen Bronasco, Jean-Luc Falcone, Gilles Vilmart. https://arxiv.org/abs/2604.25879v1 #Haskell #FunctionalProgramming

arxiv.org
We design the Arboretum$.$hs package for symbolic computations with algebras of trees and more general graphs in Haskell. Thanks to the declarative nature of functional programming, the package's implementation closely follows mathematical definitions, making the code intuitive and transparent for users working with algebraic and combinatorial structures. To assist with current mathematical research, Arboretum$.$hs supports experimentation by facilitating the introduction of new algebraic operations, as well as providing functionality for rendering trees and forests through LaTeX integration. Compared to recent imperative implementations in languages such as Julia or Python, Arboretum$.$hs offers greater flexibility for manipulating and extending tree-based structures. Its use of Haskell enables safe programming and strong compile-time guarantees, serving both as a practical computational tool and a foundation for further research in algebraic combinatorics, beyond the setting of trees usually considered in the implementation of Butcher series, which are a fundamental tool for the analysis of numerical integrators.
Why I still reach for Scheme and Lisp instead of Haskell. ~ Josep Bigorra. https://jointhefreeworld.org/blog/articles/lisps/why-i-still-reach-for-scheme-instead-of-haskell #Haskell #Scheme #Lisp #FunctionalProgramming
jointhefreeworld.org
Readings shared April 29, 2026. https://jaalonso.github.io/vestigium/posts/2026/04/30-readings_shared_04-29-26 #AI4Math #Agda #Emacs #FormalMethods #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 29 April 2026 are: A Lean companion to «Conceptual mathematics». ~ David Kinkead. #LeanProver #ITP #Math A milestone in formalization: The sphere packing problem in
Would people be interested in a series of #blog posts where I implement the C #compiler from "Writing a C Compiler" book by Nora Sandler in #Haskell? I'd focus on Haskell specific libraries and techniques with some additional bits not present in the book.
Functional Programmers need to take a look at Zig https://lobste.rs/s/b57uhm #haskell #zig
https://pure-systems.org/posts/2026-04-29-functional-programmers-need-to-take-a-look-at-zig.html
pure-systems.org
Some type constructors are tensor products. ~ Dan Piponi (sigfpe). https://blog.sigfpe.com/2026/04/introduction-i-want-to-return-to.html #Haskell #FunctionalProgramming
blog.sigfpe.com
Introduction I want to return to something I've mentioned a couple of times in the past - the fact that applying certain type constructo...
Tries for polynomials. ~ Donnacha Oisín Kidney. https://doisinkidney.com/posts/2026-04-28-poly-trie.html #Haskell #FunctionalProgramming #Math
doisinkidney.com
Why I Still Reach for Lisp (& Scheme) Instead of Haskell https://lobste.rs/s/tzqafn #haskell #lisp #programming
https://jointhefreeworld.org/blog/articles/lisps/why-i-still-reach-for-scheme-instead-of-haskell/index.html
jointhefreeworld.org
tasty-cache: Nix-style test caching for Haskell https://lobste.rs/s/xaodm9 #haskell
https://github.com/silky/tasty-cache
github.com
Cache tests based on their source dependency tree; only re-run when source meaningfully changed. - silky/tasty-cache
Torsten Grust on The Haskell Interlude https://lobste.rs/s/eliuli #audio #databases #haskell
https://haskell.foundation/podcast/81/
haskell.foundation
Mike and Andres sat down with Torsten Grust, who is a professor of DB systems at the University of Tübingen. Even though Torsten loves SQL, he's used functional programming and Haskell to inform his work on query language design and compilation. We talked about the best way to program databases, how to bridge the gap between regular programming languages and databases, and compiling just about everything to SQL.
Over the weekend I wrote a blog post about #testing a programmatic #CAD library
https://doscienceto.it/blog/posts/2026-04-27-golden-testing-cad.html
doscienceto.it
In which it takes me three years to get round to testing my code
Over the weekend I wrote a blog post about #testing a programmatic #CAD library
https://doscienceto.it/blog/posts/2026-04-27-golden-testing-cad.html
doscienceto.it
In which it takes me three years to get round to testing my code
Pure Borrow: Linear Haskell Meets Rust-Style Borrowing https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
discourse.haskell.org
TL;DR You can now use Rust-style mutable and shared borrows in Linear Haskell, within ST-like linear monad, BO, with pure, type-safe, and leak-freedom support of mutation and concurrency! It comes with flexible feature of multiple aliasing of shared borrows, delimiting lifetime regions, etc! We are really pleased to announce the acceptance of our work, Pure Borrow, at PLDI 2026 🎉 Paper (Extended Version): [2604.15290] Pure Borrow: Linear Haskell Meets Rust-Style Borrowing Implementation:...
Botan: Project Recap and Major Ergonomics Changes https://discourse.haskell.org/t/botan-bindings-devlog/6855/202
discourse.haskell.org
Botan: Project Recap and Major Ergonomics Changes I have been a little quiet on the forums, and you know what that means - I’ve been working on something sizeable, and all my energy has been put towards ‘doing’ rather than ‘talking’. I do tend to cycle between focuses, it helps keep things interestnig, and stops me from getting too far into the weeds, as I am often wont to do. This last month’s focus has been botan, and I am happy to report some significant progress. A quick summary, I’d estima...
Readings shared April 24, 2026. https://jaalonso.github.io/vestigium/posts/2026/04/25-readings_shared_04-24-26 #AI4Math #Autoformalization #CompSci #CoqProver #FunctionalProgramming #HOL #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Nqthm #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 24 April 2026 are: Deep Vision: A formal proof of Wolstenholmes theorem in Lean 4. ~ Alexandre Linhares. #LeanProver #ITP #AI4Math Discover and prove: An open-source
The tiny but complete #JSON #parser that I wrote in #Haskell years ago is now featured in the 200-and-change collection of programs by @dubroy: https://pdubroy.github.io/200andchange
pdubroy.github.io
Unfolder Episode 54: Not quite monads. https://www.youtube.com/live/Yt2E1vrgP_E ~ Edsko de Vries, Andres Löh. #Haskell #FunctionalProgramming
youtube.com
Monads are a very powerful abstraction: sometimes too powerful. We discusswhy we might not always want the full generality of monads, and what we canuse inst...
The lead designer of Haskell on Daniel's podcast! #scala #haskell
https://youtu.be/xv-WApd-pSY
youtube.com
Simon Peyton Jones is a computer scientist in the true sense of the word, and the lead designer of the Haskell programming language and the GHC. He's a fello...
Pure Borrow: Linear Haskell Meets Rust-Style Borrowing https://lobste.rs/s/esidgp #haskell #plt #rust
https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
discourse.haskell.org
TL;DR You can now use Rust-style mutable and shared borrows in Linear Haskell, within ST-like linear monad, BO, with pure, type-safe, and leak-freedom support of mutation and concurrency! It comes with flexible feature of multiple aliasing of shared borrows, delimiting lifetime regions, etc! We are really pleased to announce the acceptance of our work, Pure Borrow, at PLDI 2026 🎉 Paper (Extended Version): [2604.15290] Pure Borrow: Linear Haskell Meets Rust-Style Borrowing Implementation:...
The lead designer of Haskell on Daniel's podcast! #scala #haskell
https://youtu.be/xv-WApd-pSY
youtube.com
Simon Peyton Jones is a computer scientist in the true sense of the word, and the lead designer of the Haskell programming language and the GHC. He's a fello...
Pure Borrow: Linear #Haskell Meets #Rust-Style Borrowing
https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
discourse.haskell.org
TL;DR You can now use Rust-style mutable and shared borrows in Linear Haskell, within ST-like linear monad, BO, with pure, type-safe, and leak-freedom support of mutation and concurrency! It comes with flexible feature of multiple aliasing of shared borrows, delimiting lifetime regions, etc! We are really pleased to announce the acceptance of our work, Pure Borrow, at PLDI 2026 🎉 Paper (Extended Version): [2604.15290] Pure Borrow: Linear Haskell Meets Rust-Style Borrowing Implementation:...
After a somewhat longer break, we're finally back with a new #Haskell #Unfolder episode. Tomorrow, 2026-04-22, at 18:30 UTC, Edsko and I will talk about selective applicative functors. https://www.youtube.com/watch?v=Yt2E1vrgP_E&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=54
youtube.com
Monads are a very powerful abstraction: sometimes too powerful. We discusswhy we might not always want the full generality of monads, and what we canuse inst...
corpus: self-hosted listenbrainz and last.fm frontend https://lobste.rs/s/qxhzxh #elm #haskell #vibecoding
https://github.com/mtmn/corpus
github.com
self-hosted listenbrainz and last.fm frontend. Contribute to mtmn/corpus development by creating an account on GitHub.
Optimizing xreferee with elemIndex https://lobste.rs/s/uxjpyz #haskell
https://brandonchinn178.github.io/posts/2026/04/17/optimizing-xreferee-with-elemindex/
brandonchinn178.github.io
xreferee is a linter that checks that every @(ref:foo) reference in a git repository corresponds to a #(ref:foo) anchor somewhere in the repository. It delegates most of the search to git grep, but there's some parsing logic to parse git grep's output. In a recent PR, I was able to get a 5x speedup with two changes:
Trying to debug a memory leak in #haskell be like:
remembering that time I tried to implement arbitrary precision arithmetic in #Haskell with precision in the type, only some operations actually used higher precision before rounding. the resulting unbounded recursion led to a heap profile graph that was an ever growing wedge of Num dictionary until heap exhaustion (and nothing worked).
JSON is probably the most used standard file format for storing and transmitting data on the Internet in recent times. It has a simple syntax with only four scalar data types and two composite data types. So, writing a parser for #JSON is a great exercise for learning the basics of parsing.
That's exactly what I did: I wrote a JSON #parser from scratch in #Haskell. Read my #blog post to learn about basics of parsing, nuances of the JSON syntax, and parser combinators and property-based #testing in Haskell: https://abhinavsarkar.net/posts/json-parsing-from-scratch-in-haskell/
Readings shared April 14, 2026. https://jaalonso.github.io/vestigium/posts/2026/04/15-readings_shared_04-14-26 #AI4Math #Autoformalization #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #LogicProgramming #Math #Prolog #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 14 April 2026 are: A formal proof of the Ramanujan-Nagell theorem in Lean 4. ~ Barinder S. Banwait. #LeanProver #ITP #AI4Math Formalization of De Giorgi-Nash-Moser t
Single Module Lambda Calculus from Simply Typed to Martin Lof Type Theory https://lobste.rs/s/fwvw1q #haskell #plt
https://github.com/solomon-b/lambda-calculus-hs
github.com
Single file Lambda Calculus implementations demonstrating various type system features and interpretation techniques - solomon-b/lambda-calculus-hs
Imagine being able to install binary distributions of your favourite #Haskell tools:
$ ghcup install pandoc
$ ghcup install hlint
$ ghcup install fourmolu
$ ghcup install shellcheck
Well, imagine no more! GHCup 0.2.0.0 will bring a new installer DSL to allow third-party projects to maintain their distribution channel! The more feedback the better!
Try it out at https://discourse.haskell.org/t/ann-ghcup-0-2-0-0-rc-or-beta-maybe/13930
discourse.haskell.org
This is maybe more of a BETA than a RELEASE CANDIDATE, but anyway. With support from IOG, I have implemented some form of Intaller DSL · Issue #141 · haskell/ghcup-hs · GitHub It’s not really a DSL though, but rather an “install specification”. That means GHCup can now install arbitrary tools. This moved us a bit on the “installer vs package manager” design spectrum. But it’s still an installer (for several reasons). How to test You may want to back up your ~/.ghcup directory, especially if y...
Imagine being able to install binary distributions of your favourite #Haskell tools:
$ ghcup install pandoc
$ ghcup install hlint
$ ghcup install fourmolu
$ ghcup install shellcheck
Well, imagine no more! GHCup 0.2.0.0 will bring a new installer DSL to allow third-party projects to maintain their distribution channel! The more feedback the better!
Try it out at https://discourse.haskell.org/t/ann-ghcup-0-2-0-0-rc-or-beta-maybe/13930
discourse.haskell.org
This is maybe more of a BETA than a RELEASE CANDIDATE, but anyway. With support from IOG, I have implemented some form of Intaller DSL · Issue #141 · haskell/ghcup-hs · GitHub It’s not really a DSL though, but rather an “install specification”. That means GHCup can now install arbitrary tools. This moved us a bit on the “installer vs package manager” design spectrum. But it’s still an installer (for several reasons). How to test You may want to back up your ~/.ghcup directory, especially if y...
A simple switch makes code differentiable. ~ Dan Piponi (sigfpe). https://blog.sigfpe.com/2026/04/a-simple-switch-makes-code.html #Haskell #FunctionalProgramming
blog.sigfpe.com
Any appetite in the crowd for "A CTO's Guide to Adopting #Haskell"? If so, there would be things like:
* Observability
* Domain Design
* Just Enough Haskell To Be Dangerous™
* Library recommendations for your HTTP/gRPC/DB needs
* SBOM
What else would you like to see?
Anyone knows a good Machine Yearning library in #Haskell?
@aoristdual yeah .. on the flip side, the documentation is really good in general and the compiler gives very good hints and error messages (in general).
I don't think I would have succeeded at any #Rust (or #Haskell) learning without IDE support -- these languages are what made me make LSP work correctly, finally :)
Type-level programming is still programming. ~ Michael Chavinda. https://mchav.github.io/type-level-programming-is-still-programming/ #Haskell #FunctionalProgramming
mchav.github.io
I was showing a friend the typed dataframe API. The whole pitch was: look, you derive a schema from your data, and then the compiler catches column name typos, type mismatches, all the stuff that would otherwise blow up at runtime. I had a nice demo ready using the Kaggle credit card fraud dataset (about 284,000 rows, 31 columns).
Howl (Haskell Open Wolfram Language interpreter); an implementation of a microscopic subset of the Wolfram Language (which powers Mathematica), in Haskell. ~ David Simmons-Duffin. https://github.com/davidsd/howl #Haskell #FunctionalProgramming
github.com
An implementation of a small subset of the Wolfram language in Haskell - davidsd/howl
remembering that time I tried to implement arbitrary precision arithmetic in #Haskell with precision in the type, only some operations actually used higher precision before rounding. the resulting unbounded recursion led to a heap profile graph that was an ever growing wedge of Num dictionary until heap exhaustion (and nothing worked).
Comparing the chart of #Monad tutorials by year[1] with the Gartner hype cycle graph, it seems like we are almost at the Peak of Inflated Expectations phase now.
[1]: From the list of Monad tutorials (https://wiki.haskell.org/Monad_tutorials_timeline).
In my lifetime, I hope to see the Slope of Enlightenment phase when people stop asking what a Monad is, and the further Plateau of Productivity phase when everyone knows what it is.
I finished Make A #Lisp in C++20 in about 2600 lines of code. I learned a lot about modern #CPP and managed to write the whole #interpreter without writing a single C-style macro or pointer arithmetic or type casting.
Compared to my usual choice #Haskell, C++ is way more verbose. I feel I can write the same interpreter in (idiomatic) Haskell in less than 800 LOCs. But it’ll probably be much slower.
Some time later in the year, I want to attempt writing a compiler for MAL in Haskell via QBE.
I wrote the third part of my #blog post series: “Implementing Co, a Small Language With Coroutines #3: Adding #Coroutines”. https://abhinavsarkar.net/posts/implementing-co-3/
Reply to this toot to post comments on the article.
#programming #programminglanguages #plt #compilers #haskell #concurrency
abhinavsarkar.net
We implement Co, a small language with coroutines and channels.
🚀 Performance on a completely different level:
Written in #Haskell with the Warp HTTP server. JSON gets serialized directly in SQL. Connection pooling via Hasql. Subsecond response times at 2000 req/sec — even on free tier hosting.
🔐 Security is built in, not bolted on:
Auth runs via JWT. Authorization is controlled directly in the database through roles. One single declarative source of truth for security. The server assumes the identity of the authenticated user.
Might #GHC 9.14 be the first release that does not break anything (except for bounds bumps)? If you find anything, report it here:
https://discourse.haskell.org/t/was-any-breakage-caused-by-9-14/13902?u=jaror
discourse.haskell.org
Did anyone’s build break when they updated to GHC 9.14? That is, was any non-trival (not just bound bumps) change required to upgrade Haskell code that worked with GHC 9.12 to GHC 9.14? I haven’t found any examples but it’s possible I haven’t been paying close enough attention. For the last coupule of years I’ve been keeping a breakage inventory of such breakage. The amount of breakage has been declining over that period. Has it really hit zero? If you know of some such breakage please let me...
Might #GHC 9.14 be the first release that does not break anything (except for bounds bumps)? If you find anything, report it here:
https://discourse.haskell.org/t/was-any-breakage-caused-by-9-14/13902?u=jaror
discourse.haskell.org
Did anyone’s build break when they updated to GHC 9.14? That is, was any non-trival (not just bound bumps) change required to upgrade Haskell code that worked with GHC 9.12 to GHC 9.14? I haven’t found any examples but it’s possible I haven’t been paying close enough attention. For the last coupule of years I’ve been keeping a breakage inventory of such breakage. The amount of breakage has been declining over that period. Has it really hit zero? If you know of some such breakage please let me...
I wrote the fifth part of my #blog series “Implementing Co, a small programming language with #coroutines”. This time, we add support for sleep in #Co for time-based executions. https://abhinavsarkar.net/posts/implementing-co-5/
#Programming #PLT #ProgrammingLanguages #Compilers #Haskell #concurrency
abhinavsarkar.net
We implement Co, a small language with coroutines and channels.
Rethinking Typed Template Haskell https://gitlab.haskell.org/ghc/ghc/-/wikis/Rethinking-TTH https://discourse.haskell.org/t/ghc-community-update-march-2026/13870
discourse.haskell.org
Thank you for the positive feedback on our last post. The GHC community update consists of three sections: Call for contributions: The GHC team asks for contributions - these range from issues that are simple and fun to solve to issues that require an expert pair of eyes that we have too few of. Call for opinions: The GHC team asks for your opinion on some matter regarding GHC - these are issues about often contentious matters where community input is highly valued. We ask that you engage in ...
GHC community update March 2026
by @mangoiv
https://discourse.haskell.org/t/ghc-community-update-march-2026/13870
discourse.haskell.org
Thank you for the positive feedback on our last post. The GHC community update consists of three sections: Call for contributions: The GHC team asks for contributions - these range from issues that are simple and fun to solve to issues that require an expert pair of eyes that we have too few of. Call for opinions: The GHC team asks for your opinion on some matter regarding GHC - these are issues about often contentious matters where community input is highly valued. We ask that you engage in ...
24 hours until the CfP for "Lambda World" closes: https://confeti.app/events/lambda-world-2026
some wise words about operations and reliability in this #haskell https://blog.haskell.org/a-couple-million-lines-of-haskell/ article which basically isn't even really about haskell
(it's really good you know the stuff we liked before and then bookmarked it even)
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
Brisbane Functional Programming Group #BFPG April meetup, Tue 14th. Jack will present about using #Haskell with #AWS Lambda. And we will have a Hack Day review where people will demo or share what they did at Hack Day. Be there or be a lambda cube!
luma.com
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Lambda on Lambda: Running Haskell on AWS's…
Brisbane Functional Programming Group #BFPG April meetup, Tue 14th. Jack will present about using #Haskell with #AWS Lambda. And we will have a Hack Day review where people will demo or share what they did at Hack Day. Be there or be a lambda cube!
luma.com
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Lambda on Lambda: Running Haskell on AWS's…
some wise words about operations and reliability in this #haskell https://blog.haskell.org/a-couple-million-lines-of-haskell/ article which basically isn't even really about haskell
(it's really good you know the stuff we liked before and then bookmarked it even)
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
24 hours until the CfP for "Lambda World" closes: https://confeti.app/events/lambda-world-2026
The editors of the #Haskell Blog are happy to announce a new series of articles called "Haskellers from the trenches", where we invite experienced engineers to talk about their subjects of expertise, best practices, and production tales.
Our first guest is @iankduncan.com with "A Couple Million Lines of Haskell: Production Engineering at Mercury"
blog.haskell.org
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
GHC Proposal 744 "Branch weight support" by @iankduncan.com is looking for feedback! Manually annotating the likelyhood of a branch helps the compiler with code layout and optimisations.
github.com
Rendered
I'm writing a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The second post of the series that focuses on writing the #compiler is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm-compiler
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
I wrote a note about implementing A* #algorithm in #Haskell https://notes.abhinavsarkar.net/2022/astar
#programming
"Compiler and runtime support for continuation marks" (PLDI 2020) https://dl.acm.org/doi/10.1145/3385412.3385981
"Continuation marks enable dynamic binding and context inspection in a language with proper handling of tail calls and first-class, multi-prompt, delimited continuations."
GHC proposal: "scoped thread-locals" https://github.com/ghc-proposals/ghc-proposals/pull/751
"efficient storage and lookup for immutable context
attached to the current Haskell thread, which is inherited by child threads."
github.com
This is a proposal for introducing scoped thread-locals into GHC Haskell. Scoped thread-locals provide efficient storage and lookup for immutable context attached to the current Haskell thread, whi...
Added a new recipe to my #Hakyll grimoire: https://frasertweedale.github.io/blog-fp/posts/2026-03-28-hakyll-pages-from-haskell-source.html #Haskell
frasertweedale.github.io
In typical use, Hakyll programs convert external content files into HTML pages. But what if your content is defined in Haskell source files that are part of the Hakyll program? That can work—but you need a trick or two. In this post I’ll show you how.
Added a new recipe to my #Hakyll grimoire: https://frasertweedale.github.io/blog-fp/posts/2026-03-28-hakyll-pages-from-haskell-source.html #Haskell
frasertweedale.github.io
In typical use, Hakyll programs convert external content files into HTML pages. But what if your content is defined in Haskell source files that are part of the Hakyll program? That can work—but you need a trick or two. In this post I’ll show you how.
The Glorious Glasgow #Haskell Compiler version 9.12.4 is now available! This 4th patch release fixes critical codegen regression, crashes and brings improved backtrace supports.
See the release notes https://downloads.haskell.org/~ghc/9.12.4/docs/users_guide/9.12.4-notes.html
downloads.haskell.org
Two more sleeps until the first #BFPG Hack Day of 2026! See yas there, curious minds!
#FP #Haskell #OCaml #Idris #Gleam #Lean #Scala #Erlang #Elixir #FSharp #Clojure #Lisp #Agda #Rocq #Rust #Scheme #Racket
functional.cafe
Functional programmers and #FP curious people in Brisbane: don't miss #BFPG Hack Day this Saturday 28 March at UQ: https://luma.com/uu28az9h
Functional programmers and #FP curious people in Brisbane: don't miss #BFPG Hack Day this Saturday 28 March at UQ: https://luma.com/uu28az9h
luma.com
Come to BFPG Hack Day for some wholesome fun hacking on side projects, tackling tutorials, grinding axes and shaving yaks! Work together or independently.…
Readings shared March 24, 2026. https://jaalonso.github.io/vestigium/posts/2026/03/25-readings_shared_02-24-26 #AI4Math #Autoformalization #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 24 March 2026 are: Synthetic differential geometry in Lean. ~ Riccardo Brasca, Gabriella Clemente. #LeanProver #ITP #Math The spectral comb and the Riemann hypothesi
I wrote the fourth part of my #blog series “Implementing Co, a small programming language with #coroutines”. And this time, we add support for channels in #Co for inter-coroutine communication. https://abhinavsarkar.net/posts/implementing-co-4/
#Programming #PLT #ProgrammingLanguages #Compilers #Haskell #concurrency
abhinavsarkar.net
We implement Co, a small language with coroutines and channels.
Liberator: A drag-and-drop visual programming environment for Haskell. ~ Miles Berry. https://github.com/milesberry/liberator #Haskell #FunctionalProgramming
github.com
A drag-and-drop visual programming environment for Haskell, designed for teaching AQA A-Level Computer Science. Build programs by connecting nodes on a canvas instead of writing text — then evaluat...
Guys, I realized I was doing #Haskell development stone-age style.
You _need_ to try this, these new tools are absolute game-changers, unlocking 2x to 10x productivity.
I know this is not a popular opinion, but look, we need to keep pace with the changes of times. It might feel hard at first, or at least feel alien, but, we need to part from our old, sluggish, slow ways.
So, enable the DuplicateRecordFields and OverloadedRecordDot extensions, now!
Packages like `text` reach into the unstable bowels of #GHC to avoid allocating intermediate structures when reading IO.
But it is possible to do fusible lazy IO:
```
produce :: IO [Char]
produce = IO $ \s0 ->
(# s0 , build $ \c n ->
let go s = case runIO getChar s of
(# s' , x #) -> c x (go s')
in go s0
#)
```
Perhaps GHC could expose something like that and the text package could use it.
Packages like `text` reach into the unstable bowels of #GHC to avoid allocating intermediate structures when reading IO.
But it is possible to do fusible lazy IO:
```
produce :: IO [Char]
produce = IO $ \s0 ->
(# s0 , build $ \c n ->
let go s = case runIO getChar s of
(# s' , x #) -> c x (go s')
in go s0
#)
```
Perhaps GHC could expose something like that and the text package could use it.
New qjanno release v1.0.1.0! Please see the changelog here: https://github.com/poseidon-framework/qjanno/releases/tag/v1.0.1.0 #aDNA #OpenData #Haskell
This is a maintenance release to bring qjanno in sync with Poseidon v3.0.0. It comes with a new column order template for .janno files, featuring the new columns introduced with the v3.0.0 schema r...
New qjanno release v1.0.1.0! Please see the changelog here: https://github.com/poseidon-framework/qjanno/releases/tag/v1.0.1.0 #aDNA #OpenData #Haskell
This is a maintenance release to bring qjanno in sync with Poseidon v3.0.0. It comes with a new column order template for .janno files, featuring the new columns introduced with the v3.0.0 schema r...
A blog post by Brandon "jberryman" Simmons “Linking Smaller Haskell Binaries” (2023) https://brandon.si/code/linking-smaller-haskell-binaries/
brandon.si
Haskell binaries can get quite large (think ~100MB), especially for projects with many transitive dependencies. Here are two strategies that can help at link time, the latter being more experimental. I used the test-pandoc binary from pandoc on GHC 9.2.5 below. This was nice because obviously it was easy to test if linking broke anything (just run the tests). -split-sections and --gc-sections You can instruct ghc to emit code in individual minimal sections, allowing the linker to easily find and remove dead code. This looks like, in your cabal.project:
Today is a great day for some major news!
DataFrame v1.0.0.0 has been officially released! Step up your exploratory data analysis in #Haskell with Typed data frames, direct connection to HuggingFace data sets, and Python integration through Apache Arrow.
discourse.haskell.org
It’s been roughly two years of work on this and I think things are in a good enough state that it’s worth calling this v1. Features Typed dataframes We got there eventually and I think we got there in a way that still looks nice. There is now a DataFrame.Typed API that tracks the entire schema of the dataframe - column names, misapplied operations etc are now compile time failures and you can easily move between exploratory and pipeline work. This is in large part thanks to maxigit and mcoady (...
Wot?
```
• Couldn't match expected type ‘bytestring-0.11.5.3:Data.ByteString.Internal.Type.ByteString’
with actual type ‘bytestring-0.11.5.3:Data.ByteString.Lazy.Internal.ByteString’
```
I ported @mattmight’s #CPS conversion code (https://matt.might.net/articles/cps-conversion/) to #Haskell and after some fighting with the type system, it worked! To make the #interpreters work with the Cont monad, I had to remove recursive lets and hence, functions being able to call themselves recursively, but the rest works fine.
The attached images show the conversion of the Fibonacci function into the CPS version.
![Fibonacci function in Lisp:
(let
([fib
(λ (n)
(let
([fib'
(λ (n f)
(if (= n 0)
0
(if (= n 1)
1
(+ (f (- n 1) f) (f (- n 2) f)))))])
(fib' n fib')))])
(fib 10))](https://media.social.fedify.dev/media/01952bcb-0660-7c05-b6f5-2fa50a09a1aa/thumbnail.webp)
Fibonacci function in Lisp: (let ([fib (λ (n) (let ([fib' (λ (n f) (if (= n 0) 0 (if (= n 1) 1 (+ (f (- n 1) f) (f (- n 2) f)))))]) (fib' n fib')))]) (fib 10))
![Fibonacci function in Lisp:
(let
([fib
(λ (n)
(let
([fib'
(λ (n f)
(if (= n 0)
0
(if (= n 1)
1
(+ (f (- n 1) f) (f (- n 2) f)))))])
(fib' n fib')))])
(fib 10))](https://media.social.fedify.dev/media/01952bcb-068d-7eb6-a364-0640325502b9/thumbnail.webp)
Fibonacci function in Lisp: (let ([fib (λ (n) (let ([fib' (λ (n f) (if (= n 0) 0 (if (= n 1) 1 (+ (f (- n 1) f) (f (- n 2) f)))))]) (fib' n fib')))]) (fib 10))
![CPS version of Fibonacci function in Lisp:
(let
([fib
(λ (n k0)
(let
([fib'
(λ (n f k1)
((λ (k2)
((λ (v3)
(if v3
(k2 0)
((λ (k4)
((λ (v5)
(if v5
(k4 1)
((λ (v9)
(f v9 f
(λ (v6)
((λ (v8)
(f v8 f
(λ (v7)
(k4 (+ v6 v7)))))
(- n 2)))))
(- n 1))))
(= n 1)))
k2)))
(= n 0)))
k1))])
(fib' n fib' k0)))])
(fib 10 return))](https://media.social.fedify.dev/media/01952bcb-0c68-70ae-8bba-611b570a7062/thumbnail.webp)
CPS version of Fibonacci function in Lisp: (let ([fib (λ (n k0) (let ([fib' (λ (n f k1) ((λ (k2) ((λ (v3) (if v3 (k2 0) ((λ (k4) ((λ (v5) (if v5 (k4 1) ((λ (v9) (f v9 f (λ (v6) ((λ (v8) (f v8 f (λ (v7) (k4 (+ v6 v7))))) (- n 2))))) (- n 1)))) (= n 1))) k2))) (= n 0))) k1))]) (fib' n fib' k0)))]) (fib 10 return))
![CPS version of Fibonacci function in Lisp:
(let
([fib
(λ (n k0)
(let
([fib'
(λ (n f k1)
((λ (k2)
((λ (v3)
(if v3
(k2 0)
((λ (k4)
((λ (v5)
(if v5
(k4 1)
((λ (v9)
(f v9 f
(λ (v6)
((λ (v8)
(f v8 f
(λ (v7)
(k4 (+ v6 v7)))))
(- n 2)))))
(- n 1))))
(= n 1)))
k2)))
(= n 0)))
k1))])
(fib' n fib' k0)))])
(fib 10 return))](https://media.social.fedify.dev/media/01952bcb-0c1f-7742-bf0b-f5befc03739c/thumbnail.webp)
CPS version of Fibonacci function in Lisp: (let ([fib (λ (n k0) (let ([fib' (λ (n f k1) ((λ (k2) ((λ (v3) (if v3 (k2 0) ((λ (k4) ((λ (v5) (if v5 (k4 1) ((λ (v9) (f v9 f (λ (v6) ((λ (v8) (f v8 f (λ (v7) (k4 (+ v6 v7))))) (- n 2))))) (- n 1)))) (= n 1))) k2))) (= n 0))) k1))]) (fib' n fib' k0)))]) (fib 10 return))
Thanks to Sirius-beta Labs who are once again sponsoring lunch for #BFPG Hack Day. UQ St Lucia, Saturday 28 March. Be there or be a lambda cube!
#FP #Haskell #OCaml #Idris #Gleam #Lean #Scala #Erlang #Elixir #FSharp #Clojure #Lisp #Agda #Rocq #Rust #Scheme #Racket
luma.com
Come to BFPG Hack Day for some wholesome fun hacking on side projects, tackling tutorials, grinding axes and shaving yaks! Work together or independently.…
I'm starting a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The first post of the series that focuses on writing the #parser is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm-parser/
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
I've created a PR in #Nixkell, a simple #Nix #Haskell setup framework, to add support for easy building of statically-linked executables (https://github.com/pwm/nixkell/pull/50). I'd appreciate it if any Nixkell users gives it a try for their projects. I've been using this code for a couple of my projects, and it works fine for me, but I'd like to have more working examples.
github.com
This PR adds support for easily building statically-linked executable using Nixkell and Nix. Majorly, it: adds an overlays-static.nix file that configures GHC and Haskell packages for building sta...
After seven years of meticulously formatting and aligning all the source code of my #Haskell static site generator by hand, I finally moved to an auto-formatter today (Ormolu).
#haskell ghcid supports cabal scripts now (3 years after I filed the feature request! :-)) 🎉
#haskell ghcid supports cabal scripts now (3 years after I filed the feature request! :-)) 🎉
And of course, no disk defragmentation solution is complete without a proper visualization. #Haskell #adventofcode #programming #visualization
GHC 9.12.4-rc1 is available for testing! Please try it out on your projects and give feedback! It is available today on the GHCup pre-release channel. See the installation instructions: https://discourse.haskell.org/t/ghc-9-12-4-rc1-is-now-available/13786
discourse.haskell.org
The GHC developers are very pleased to announce the availability of the release candidate for GHC 9.12.4. Binary distributions, source distributions, and documentation are available at downloads.haskell.org and via GHCup. GHC 9.12.4 is a bug-fix release fixing many issues of a variety of severities and scopes, including: Fixed a critical code generation regression where sub-word division produced incorrect results (#26711, #26668), similar to the bug fixed in 9.12.2 Numerous fixes for re...
Every year I try to solve some problems from the #AdventOfCode competition in a not straightforward way. This year I solved the day 19 problem “Aplenty” by compiling the problem input to an executable file.
A new #blog post: https://abhinavsarkar.net/posts/compiling-aoc23-aplenty/
abhinavsarkar.net
We solve Advent of Code '23 'Aplenty' by compiling the problem input.
Guys, I realized I was doing #Haskell development stone-age style.
You _need_ to try this, these new tools are absolute game-changers, unlocking 2x to 10x productivity.
I know this is not a popular opinion, but look, we need to keep pace with the changes of times. It might feel hard at first, or at least feel alien, but, we need to part from our old, sluggish, slow ways.
So, enable the DuplicateRecordFields and OverloadedRecordDot extensions, now!
Guys, I realized I was doing #Haskell development stone-age style.
You _need_ to try this, these new tools are absolute game-changers, unlocking 2x to 10x productivity.
I know this is not a popular opinion, but look, we need to keep pace with the changes of times. It might feel hard at first, or at least feel alien, but, we need to part from our old, sluggish, slow ways.
So, enable the DuplicateRecordFields and OverloadedRecordDot extensions, now!
Readings shared March 09, 2026. https://jaalonso.github.io/vestigium/posts/2026/03/10-readings_shared_02-09-26 #AI #AI4Math #CategoryTheory #CoqProver #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LambdaCalculus #LeanProver #Lisp #Math #Physics #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 9 March 2026 are: Fantastic simprocs and how to write them. ~ Yaël Dillies, Paul Lezeau. #LeanProver #ITP Formalization in Lean of faithfully flat descent of project
The floor is magma. ~ Alexandre Esteves. https://github.com/alexfmpe/semantic-satiation/blob/main/posts/003-the-floor-is-magma.md #Haskell #FunctionalProgramming
github.com
Contribute to alexfmpe/semantic-satiation development by creating an account on GitHub.
Writing an #interpreter for #Brainfuck is almost a rite of passage for any programming language implementer, and it’s my turn now. In this post, I write not one but four Brainfuck #interpreters in #Haskell: https://abhinavsarkar.net/posts/brainfuck-interpreter/
Please boost for reach. If you have any questions or comments, please reply to this post.
abhinavsarkar.net
We write a few Brainfuck interpreters in Haskell.
Category theory for programming. ~ Benedikt Ahrens, Kobe Wullaert. https://arxiv.org/abs/2209.01259v1 #CategoryTheory #Haskell #LeanProver #FunctionalProgramming

arxiv.org
In these lecture notes, we give a brief introduction to some elements of category theory. The choice of topics is guided by applications to functional programming. Firstly, we study initial algebras, which provide a mathematical characterization of datatypes and recursive functions on them. Secondly, we study monads, which give a mathematical framework for effects in functional languages. The notes include many problems and solutions.
Do you want to learn how to create beautiful and useful #REPL for your #ProgrammingLanguages written in #Haskell? I wrote a Haskeline tutorial just for you: https://abhinavsarkar.net/posts/repling-with-haskeline/
#blog #programming
abhinavsarkar.net
We use Haskeline to create a REPL for our new programming language.
Type-level literals + GADTs = Type-safe AST representation for #nanopass #compilers in #Haskell? 🤔
After a gap of 1.5 years since the last part, I have finally finished writing the third part of my post series on implementing Co. Planning to publish it this weekend. #haskell #programminglanguages #blog
@badrihippo modern frameworks like React, Vue, and Van.js are all very similar, but I have not seen a consistent name for this family of frameworks. I have heard it called “The Elm Architecture,” because they are loosely based on how the Elm programming language originally did GUI programming in the browser. I have also heard it called the Model-View-Update paradigm. But most people just call it “React-like” or “Reactive Programming” because they are all similar to the very popular “React.js” framework.
Note that this should not be confused with Functional Reactive Programming (FRP), although the two are not completely different. As I understand it, React-like GUIs and FRP can both be implemented on top of a more powerful and more general computation model called “propagators” (here is the PDF of the original Propagators paper).
@dthompson wrote a really good blog post about FRP, propagators, and React-like frameworks.
I hope that helps, but I am not as well-versed in the theory of this stuff as I should be.
Oh, and I should say, before React-like took over the world wide web, GUI programming was mostly intertwined with Object Oriented Programming and design, so a good place to start might be to read up on Smalltalk OOP and GUI design.
#tech #software #GUI #ReactiveProgramming #FRP #Scheme #Haskell #SchemeLang #Propagators #ElmArchitecture #ReactJS #Smalltalk #OOP #ObjectOriented
fe.disroot.org
New blog post on adding Lua scripting support to Haskell applications: https://agentultra.com/blog/scripting-haskell-applications-with-lua/
agentultra.com
Readings shared March 04, 2026. https://jaalonso.github.io/vestigium/posts/2026/03/05-readings_shared_02-04-26 #AI #AI4Math #CoqProver #FunctionalProgramming #Haskell #ITP #LeanProver #Math #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 4 March 2026 are: When AI writes the world’s software, who verifies it? ~ Leonardo de Moura. #AI #LeanProver #ITP Formalising sphere packing in Lean. ~ Chris Birkbec
New blog post on adding Lua scripting support to Haskell applications: https://agentultra.com/blog/scripting-haskell-applications-with-lua/
agentultra.com
Monuses and heaps. ~ Donnacha Oisín Kidney. https://doisinkidney.com/posts/2026-03-03-monus-heaps.html #Haskell #FunctionalProgramming
doisinkidney.com
Layoutz! Zero-dep Elm-style TUI’s for #Haskell - now w/ terminal plots & more
discourse.haskell.org
Hello! Layoutz has quite some improvements including built-in granite-esque plots. Thanks for your great feedback thus far … sure you will find some more rough edges.
I wrote a new note: "Reading Time Estimates for #Pandoc Based Blog Generators" https://notes.abhinavsarkar.net/2025/pandoc-reading-time
abhinavsarkar.net
Please consider applying for the #Haskell Foundation Board of Directors: https://discourse.haskell.org/t/call-for-applications-to-the-haskell-foundation-board-of-directors/13694
Deadline is one week from now.
discourse.haskell.org
The Haskell Foundation’s directors are pleased to announce the nomination process for seats on the Foundation’s board of directors. The Haskell Foundation is a non-profit organization whose mission is to support industrial users of Haskell. The board is the ultimate decision-making body of the Foundation and provides its strategic leadership. It ensures that the Foundation is working toward achieving its mission, and it appoints and supervises senior members of the Foundation’s staff. Followi...
Notorious mad lad
@iankduncan.com has opened a GHC Proposal to add hints to guide branch prediction! https://github.com/ghc-proposals/ghc-proposals/pull/744
This may be key to better register allocation and code layout.
github.com
Rendered
It's there folks! The results of the State of #Haskell 2025 survey have been published
https://discourse.haskell.org/t/state-of-haskell-2025-results/13755
discourse.haskell.org
At the end of 2025, the Haskell Foundation re-started the Haskell Yearly Survey. I’d like to thank Taylor Fausak for being supportive of our effort in conducting these surveys. The last survey was conducted in 2022 and the post discussing those results is here: https://taylor.fausak.me/2022/11/18/haskell-survey-results/ The full results are available here: State of Haskell 2025 Raw Results - Google Drive. If you’d like a CSV to play around with, that has been made available as well: 2025 Surv...
I always enjoy giving this lecture 😃 #haskell
It is a good day to unleash the agent of chaos. #Haskell #programming

Screenshot of the documentation of the Haskell function accursedUnutterablePerformIO: accursedUnutterablePerformIO :: IO a -> a This "function" has a superficial similarity to unsafePerformIO but it is in fact a malevolent agent of chaos. It unpicks the seams of reality (and the IO monad) so that the normal rules no longer apply. It lulls you into thinking it is reasonable, but when you are not looking it stabs you in the back and aliases all of your mutable buffers. The carcass of many a seasoned Haskell programmer lie strewn at its feet. Witness the trail of destruction: https://github.com/haskell/bytestring/commit/71c4b438c675aa360c79d79acc9a491e7bbc26e7 https://github.com/haskell/bytestring/commit/210c656390ae617d9ee3b8bcff5c88dd17cef8da https://github.com/haskell/aeson/commit/720b857e2e0acf2edc4f5512f2b217a89449a89d https://ghc.haskell.org/trac/ghc/ticket/3486 https://ghc.haskell.org/trac/ghc/ticket/3487 https://ghc.haskell.org/trac/ghc/ticket/7270 https://gitlab.haskell.org/ghc/ghc/-/issues/22204 Do not talk about "safe"! You do not know what is safe! Yield not to its blasphemous call! Flee traveller! Flee or you will be corrupted and devoured!
Brillo 2.0 - Production ready 2D graphics
https://discourse.haskell.org/t/brillo-2-0-production-ready-2d-graphics/13747
Pandoc is written in #Haskell (https://haskell.org), an advanced, purely functional programming language. It was chosen for its great parser support, which was ahead of its time when pandoc was born in 2006. The language is also uniquely suited for a long-lived project, as the strong typing helps tremendously to keep things maintainable.
#pandoc
haskell.org
The Haskell purely functional programming language home page.
Pandoc is written in #Haskell (https://haskell.org), an advanced, purely functional programming language. It was chosen for its great parser support, which was ahead of its time when pandoc was born in 2006. The language is also uniquely suited for a long-lived project, as the strong typing helps tremendously to keep things maintainable.
#pandoc
haskell.org
The Haskell purely functional programming language home page.
Readings shared February 24, 2026. https://jaalonso.github.io/vestigium/posts/2026/02/25-readings_shared_02-24-26 #AI4Math #ATP #Agda #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Reasoning #Vampire
jaalonso.github.io
The readings shared in Bluesky on 24 February 2026 are: Formalizing Gröbner basis theory in Lean. ~ Junyu Guo, Hao Shen, Junqi Liu, Lihong Zhi. #LeanProver #ITP #Math Integral curves and flows on Ban
Check out my series of #blog posts about writing a fast #Sudoku solver in #Haskell, starting with this post: https://abhinavsarkar.net/posts/fast-sudoku-solver-in-haskell-1/
Comments, boosts and likes appreciated.
Haskell meets Evariste. ~ Paulo R. Pereira, Jose N. Oliveira. https://arxiv.org/abs/2602.16809v1 #Haskell #FunctionalProgramming

arxiv.org
Since its birth as a new scientific body of knowledge in the late 1950s, computer programming has become a fundamental skill needed in many other disciplines. However, programming is not easy, it is prone to errors and code re-use is key for productivity. This calls for high-quality documentation in software libraries, which is quite often not the case. Taking a few Haskell functions available from the Hackage repository as case-studies, and comparing their descriptions with similar functions in other languages, this paper shows how clarity and good conceptual design can be achieved by following a so-called easy-hard-split formal strategy that is quite general and productive, even if used informally. This strategy is easy to use in functional programming and can be applied to both program analysis and synthesis.
Exported for tests only: Precise control over API visibility with custom warnings
tech.scrive.com
This article describes a pattern made possible by recent advances in GHC 9.8, to allow library authors to control how internal data constructors can be labelled as unsafe for human consumption, while needing to be exported for test suites. Making invalid states unrepresentable One of the mantras of strongly-typed
New #Haskell Debugger Release: v0.12
https://discourse.haskell.org/t/new-haskell-debugger-release-v0-12/13732
discourse.haskell.org
I’m happy to announce a new release of the new modern step-through interactive debugger (haskell-debugger). You can find installation instructions in GHC Debugger. Here’s the changelog for haskell-debugger-0.12 Improved exceptions support! Break-on-exception breakpoints now provide source locations And exception callstacks based on the ExceptionAnnotation mechanism. Introduced stacktraces support! Stack frames decoded from interpreter frames with breakpoints are displayed Stack frames dec...
Sabela - A reactive Notebook for #Haskell by the #DataHaskell project
Announcement: https://discourse.haskell.org/t/ann-sabela-a-reactive-notebook-for-haskell/13728
Github Repository: https://github.com/DataHaskell/sabela
github.com
A reactive notebook for Haskell. Contribute to DataHaskell/sabela development by creating an account on GitHub.
Iced-hs, a #Haskell wrapper for the #Rust GUI library iced-rs, has been updated to iced 0.14.
Read more details at https://discourse.haskell.org/t/updated-iced-hs-to-iced-0-14/13715
discourse.haskell.org
Initially announced here, iced-hs is a Haskell wrapper for iced Rust library. It provides an Elm-like way to build desktop apps. Currently, there’s a segfault with new Rust versions. Yet, I felt there’s still a value in updating the wrapper to latest iced version. You can use it with Rust 1.89.
"the N+1 problem creeps back in through the cracks of composition"
https://www.iankduncan.com/engineering/2026-02-20-haskell-postgresql-without-suffering
iankduncan.com
How to eliminate the three performance taxes that make database queries slow: encoding overhead, round-trip latency, and N+1 query patterns.
[ANN] kdl-hs 1.0.0 released with v2 support
kdl-hs is a parser for the #KDL configuration language, now compliant with the v2 standard.
https://discourse.haskell.org/t/ann-kdl-hs-1-0-0-released-with-v2-support/13712
discourse.haskell.org
kdl-hs is a parser for the KDL configuration language, providing both monadic and arrow-based decoding functionality. v1.0.0 reimplements the parser to be v2 compliant. The parser now preserves format information, so KDL.render is now implemented and outputs the same format the user provided. The parser can now also be configured to include span information, which is attached to each element in the tree. https://hackage.haskell.org/package/kdl-hs-1.0.0
"the N+1 problem creeps back in through the cracks of composition"
https://www.iankduncan.com/engineering/2026-02-20-haskell-postgresql-without-suffering
iankduncan.com
How to eliminate the three performance taxes that make database queries slow: encoding overhead, round-trip latency, and N+1 query patterns.
"If any CPS remains at runtime, the overheads are eye-watering"
https://www.reddit.com/r/haskell/comments/1raoz6m/comment/o6ml33l/
reddit.com
I've written a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The third and final post of the series that focuses on writing the virtual machine is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm/
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
Why has no one written a Fediverse server in Haskell?
I would love to be wrong about this, obviously, but I've looked, and I can't find anything that speaks ActivityPub in Haskell.
Is Haskell just a bad language to use for something like this, and if so then why, or what's the reason if not that?
Linking Smaller Haskell Binaries via @hongminhee https://lobste.rs/s/xeerdn #haskell
https://brandon.si/code/linking-smaller-haskell-binaries/
brandon.si
Haskell binaries can get quite large (think ~100MB), especially for projects with many transitive dependencies. Here are two strategies that can help at link time, the latter being more experimental. I used the test-pandoc binary from pandoc on GHC 9.2.5 below. This was nice because obviously it was easy to test if linking broke anything (just run the tests). -split-sections and --gc-sections You can instruct ghc to emit code in individual minimal sections, allowing the linker to easily find and remove dead code. This looks like, in your cabal.project:
Readings shared February 19, 2026. https://jaalonso.github.io/vestigium/posts/2026/02/20-readings_shared_02-19-26 #AI4Math #ATP #CSLib #CompSci #Dedukti #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Mizar #RocqProver #Vampire
jaalonso.github.io
The readings shared in Bluesky on 19 February 2026 are: Hennessy-Milner logic in CSLib, the Lean computer science library. ~ Fabrizio Montesi, Marco Peressotti, Alexandre Rademaker. #LeanProver #ITP
#Exercitium: Mínimo número de cambios para igualar una lista. https://jaalonso.github.io/exercitium/posts/2015/02/23-minimo_numero_de_cambios_para_igualar_una_lista/ #Haskell #FunctionalProgramming
So, you've heard of the new hotness that is #Nix, for creating reproducible and isolated development environments, and want to use it for your new #Haskell project? But you are unclear about how to get started? Then this is the guide you are looking for: https://abhinavsarkar.net/posts/nix-for-haskell/
abhinavsarkar.net
A guide to easily get started with Nix for Haskell projects.
One Open-source Project Daily
A terminal interface for Tetris
https://github.com/samtay/tetris
#1ospd #opensource #brick #game #haskell #terminalgame #tetris #tui #vty
github.com
A terminal interface for Tetris. Contribute to samtay/tetris development by creating an account on GitHub.
One Open-source Project Daily
A terminal interface for Tetris
https://github.com/samtay/tetris
#1ospd #opensource #brick #game #haskell #terminalgame #tetris #tui #vty
github.com
A terminal interface for Tetris. Contribute to samtay/tetris development by creating an account on GitHub.
#Haskell's documentation generation tool Haddock failed me so I wrote some regexes. Published new note: “Generating Standalone Haddock Docs for a Multi-package Haskell Project” https://notes.abhinavsarkar.net/2023/standalone-haddock
abhinavsarkar.net
#Exercitium: Diagonales secundarias de una matriz. https://jaalonso.github.io/exercitium/posts/2015/02/20-diagonales_secundarias/ #Haskell #FunctionalProgramming #Math
I have an algebraic data type for an AST, which takes a type parameter for the type of expression that the AST holds. I’m writing a function which walks the AST, transforming certain nodes, but always keeping the types of the nodes the same. For example, I can provide this function a function for transforming identifiers (like for renaming them), but the transformer has to return another identifier. The outer structure of the AST stays the same. This is important because I only want to specify transformation functions for the “interesting” cases, and allow the majority of cases to use a default transformer which does nothing more than traverse down the node’s children.
What would you name such a thing? I wouldn’t call it “map” because it doesn’t change the type parameter. It’s not “fold” because it doesn’t have the ability to vary the return type at all. It might be a special case of some other morphism, which would be helpful, but I’m not seeing it.
#Exercitium: Densidades de números abundantes, perfectos y deficientes. https://jaalonso.github.io/exercitium/posts/2015/02/19-densidad_de_numeros_abundantes/ #Haskell #FunctionalProgramming #Math
Readings shared February 14, 2026. https://jaalonso.github.io/vestigium/posts/2026/02/15-readings_shared_02-14-26 #AI4Math #Agda #Clojure #CoqProver #FunctionalProgramming #Haskell #ITP #LeanProver #Lisp #Logic #Math #Minlog #Prolog #RustLang
jaalonso.github.io
The readings shared in Bluesky on 14 February 2026 are: Formalization of the Golay-Hopf machine: A unified algebraic framework for Hida, Iwasawa, and Yang-Baxter structures. ~ Yoshihiro Hasegawa. #IT
LISP, Prolog and evolution. ~ Sami Badawi. https://blog.samibadawi.com/2013/05/lisp-prolog-and-evolution.html #FunctionalProgramming #Lisp #Prolog #Haskell #Clojure
blog.samibadawi.com
#Exercitium: Sumas de divisores propios. https://jaalonso.github.io/exercitium/posts/2015/02/18-sumas_de_divisores_propios/ #Haskell #FunctionalProgramming #Math
#Exercitium: Parejas de números y divisores. https://jaalonso.github.io/exercitium/posts/2015/02/17-parejas_de_numeros_y_divisores/ #Haskell #FunctionalProgramming #Math
#AmeriHac 2026 retrospective by @jmct
https://discourse.haskell.org/t/amerihac-2026-retrospective/13682
discourse.haskell.org
This past weekend we held the first ever AmeriHac, a ZuriHac-style hackathon for the North American Haskell community. When I first proposed the idea of a North American event to the HF board, my criterion for success was simple: 100 attendees. We had 110, so by that measure we succeeded. But numbers are only part of the story, of course. The Event Jane Street hosted us at their offices in New York, it’s difficult to overstate how much we appreciate their generosity. The food was exemplary, the...
#Exercitium: Sucesión de sumas de dos números abundantes. https://jaalonso.github.io/exercitium/posts/2015/02/13-sumas_de_dos_abundantes/ #Haskell #FunctionalProgramming #Math
“Well-Typed are delighted to announce a release preview of hs-bindgen, a tool for automatic Haskell binding generation from C header files”
Go try it out and give feedback!
well-typed.com
“Well-Typed are delighted to announce a release preview of hs-bindgen, a tool for automatic Haskell binding generation from C header files”
Go try it out and give feedback!
well-typed.com
“Well-Typed are delighted to announce a release preview of hs-bindgen, a tool for automatic Haskell binding generation from C header files”
Go try it out and give feedback!
well-typed.com
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
abhinavsarkar.net
We solve the Advent of Code 2020 “Seating System” challenge in Haskell using comonads and stencils.
It's ON!
fosstodon.org
ZuriHac 2026 - Registrations are open! ZuriHac is the biggest Haskell community event in the world: a completely free, three-day grassroots coding festival co-organized by the Zürich Friends of Haskell and the OST Eastern Switzerland University of Applied Science. It is not your standard conference with papers and presentations, but features fantastic keynotes, hands-on tracks, hacking on many of your favourite projects, and of course lots of socializing! Register now: https://zureg.zfoh.ch/register
ZuriHac 2026 - Registrations are open!
ZuriHac is the biggest Haskell community event in the world: a completely free, three-day grassroots coding festival co-organized by the Zürich Friends of Haskell and the OST Eastern Switzerland University of Applied Science. It is not your standard conference with papers and presentations, but features fantastic keynotes, hands-on tracks, hacking on many of your favourite projects, and of course lots of socializing!
Register now: https://zureg.zfoh.ch/register
zureg.zfoh.ch
#Exercitium: Mayor producto de n dígitos consecutivos de un número. https://jaalonso.github.io/exercitium/posts/2015/02/12-mayor_producto_de_n_digitos_consecutivos_de_un_numero/ #Haskell #FunctionalProgramming #Math
a lot of "it was traverse" (not complaining) but not enough "it was unfold"
Hello, Haskell: Getting started in 2026. ~ Lukasz Tymoszczuk. https://lukastymo.com/posts/025-hello-haskell-a-hands-on-lab-for-2026/ #Haskell #FunctionalProgramming
lukastymo.com
Read this if you want to: see beginner examples that link Haskell’s syntax to its underlying mental models – types, pattern matching, declarative style and do see examples of Haskell’s distinctive syntax in practice learn what Robin Milner’s work changed in functional programming write and run code as you go Introduction In the current AI era, Rust and Python draw the most attention from learners and employers. Haskell, by contrast, remains niche: it trends lower on Google Trends and has far fewer job listings on LinkedIn. When roles do appear, the bar can be high enough that newcomers struggle to get started.
"Five-Point Haskell": Total depravity (and defensive typing). ~ Justin Le. https://blog.jle.im/entry/five-point-haskell-part-1-total-depravity.html #Haskell #FunctionalProgramming
blog.jle.im
I have thought about distilling the principles by which I program Haskell, and how I’ve been able to steer long-lived projects over years of growth, refactorings, and changes in demands. I find myself coming back to a few distinct and helpful “points” (“doctrines”, if you may allow me to say) that have yet to lead me astray. With a new age of software development coming, what does it even mean to write good, robust, correct code? It is long overdue to clarify the mindset we use to define “good” coding principles. In this series, Five-Point Haskell, I’ll set out to establish a five-point framework for typed functional programming (and Haskell-derived) design that aims to produce code that is maintainable, correct, long-lasting, extensible, and beautiful to write and work with. We’ll reference real-world case studies with actual examples when we can, and also attempt to dispel thought-leader sound bites that have become all too popular on Twitter (“heresies”, so to speak). Let’s jump right into point 1: the doctrine of Total Depravity, and why Haskell is perfectly primed to make living with it as frictionless as possible. Total Depravity: If your code’s correctness depends on keeping complicated interconnected structure in your head, a devastating incident is not a matter of if but when.Therefore, delegate these concerns to tooling and a sufficiently powerful compiler, use types to guard against errors, and free yourself to only mentally track the actual important things.
#Exercitium: Diagonales principales de una matriz. https://jaalonso.github.io/exercitium/posts/2015/02/11-diagonales_principales/ #Haskell #FunctionalProgramming #Math
#Exercitium: Segmentos de longitud dada. https://jaalonso.github.io/exercitium/posts/2015/02/10-segmentos_de_longitud_dada/ #Haskell #FunctionalProgramming
#Exercitium: Reconocimiento de potencias de 2. https://jaalonso.github.io/exercitium/posts/2015/02/09-reconocimiento_de_grandes_potencias_de_2/ #Haskell #FunctionalProgramming #Math
#Exercitium: Menor número triangular con más de n divisores. https://jaalonso.github.io/exercitium/posts/2015/02/06-menor_numero_triangular_con_mas_de_n_divisores/ #Haskell #FunctionalProgramming #Math
#Exercitium: Particiones de enteros positivos. https://jaalonso.github.io/exercitium/posts/2015/02/05-particiones_de_enteros_positivos/ #Haskell #FunctionalProgramming #Math
haskell.foundation
Haskell Foundation is proud to announce the inaugural AmeriHac, a two day haskell hackathon in New York City! Jane Street has kindly offered to host the Haskell Foundation's first North American Haskell event.
Looking for work as a software developer. Lots of #Haskell experience, including in industry. #Linux #OpenSource
https://codeberg.org/dinofp https://github.com/dino-
cv: http://www.ui3.info/d/cv-DinoMorelli.pdf
An new proposal for passing implicit parameters to #Haskell functions: https://github.com/ghc-proposals/ghc-proposals/pull/741
Done the right way; as opposed to the existing ImplicitParams extension, which is practically useless.
github.com
This proposal introduces NominalImplicitParams, a new GHC extension that provides first-class support for dynamic scoping with robust and predictable semantics. Rendered
An new proposal for passing implicit parameters to #Haskell functions: https://github.com/ghc-proposals/ghc-proposals/pull/741
Done the right way; as opposed to the existing ImplicitParams extension, which is practically useless.
github.com
This proposal introduces NominalImplicitParams, a new GHC extension that provides first-class support for dynamic scoping with robust and predictable semantics. Rendered
"Haskell Language Server 2.13.0.0 release" on the #Haskell blog!
blog.haskell.org
#Exercitium: Mayor capicúa producto de dos números de n cifras. https://jaalonso.github.io/exercitium/posts/2015/02/03-mayor_capicua_producto_de_dos_numeros_de_n_cifras/ #Haskell #FunctionalProgramming #Math
#Exercitium: Siguiente elemento en una lista. https://jaalonso.github.io/exercitium/posts/2015/02/02-siguiente_elemento_en_una_lista/ #Haskell #FunctionalProgramming
Join us tonight, 2026-01-21 at 1930 UTC, for the first new #Haskell #Unfolder episode of 2026, on static pointers.
https://www.youtube.com/watch?v=Mc3liw0EoIY&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=53
youtube.com
"Static pointers" are references to statically known values, and can serialized independent of the type of the value (even if that value is a function), so t...
Case Study: Automating Type Safety for Mission-Critical Industrial Systems, by Stack Builders
stackbuilders.com
Plow Technologies, a U.S. leader in oil and gas well site automation with over a decade of field experience, delivers custom control systems that make even complex industrial challenges manageable. Now part of PakEnergy, Plow continues driving innovation across critical industries.
Readings shared January 19, 2026. https://jaalonso.github.io/vestigium/posts/2026/01/20-readings_shared_01-19-26 #AI #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Prolog #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 19 January 2026 are: Broken proofs and broken provers. ~ Lawrence Paulson. #ITP #IsabelleHOL #RocqProver #LeanProver A formalization of Borel determinacy in Lean. ~
Logic programming with extensible types. ~ Ivan Perez, Angel Herranz. https://arxiv.org/abs/2601.03836v1 #Haskell #FunctionalProgramming #Prolog #LogicProgramming

arxiv.org
Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by other paradigms and languages. This paper proposes a novel way to incorporate logic programming in an existing codebase in a typed functional programming language. Our approach integrates with the host language without sacrificing static typing, and leverages strengths of typed functional programming such as polymorphism and higher-order. We do so by combining three ideas. First, we use the extensible types technique to allow values of the host language to contain logic variables. Second, we implement a unification algorithm that works for any data structure that supports certain operations.Third, we introduce a domain-specific language to define and query predicates. We demonstrate our proposal via a series of examples, and provide aids to make the notation convenient for users, showing that the proposed approach is not just technically possible but also practical. Our ideas have been implemented in the language Haskell with very good results.
#Exercitium: Posición del primer falso en un vector. https://jaalonso.github.io/exercitium/posts/2015/01/29-posicion_del_primer_falso_en_un_vector/ #Haskell #FunctionalProgramming
This is so niche and yet so relevant to my interests: "Kip is an experimental programming language that combines Turkish grammar rules with a type system. Case endings, vowel harmony, and other Turkish morphological features are an integral part of Kip's type-checking process."
github.com
A programming language in Turkish where grammatical case and mood are part of the type system. - kip-dili/kip
This is so niche and yet so relevant to my interests: "Kip is an experimental programming language that combines Turkish grammar rules with a type system. Case endings, vowel harmony, and other Turkish morphological features are an integral part of Kip's type-checking process."
github.com
A programming language in Turkish where grammatical case and mood are part of the type system. - kip-dili/kip
Aztecs v0.15: A functional, archetypal ECS for #Haskell game engines
discourse.haskell.org
I’m really excited to announce the latest version of Aztecs, an ECS for Haskell. An ECS is a modern approach to organizing your application state as a database. import Aztecs.ECS import qualified Aztecs.ECS.Access as A import qualified Aztecs.ECS.Query as Q import qualified Aztecs.ECS.System as S import Control.Monad.IO.Class import Data.Function ((&)) newtype Position = Position Int deriving (Show) instance Component Position newtype Velocity = Velocity Int deriving (Show) instance Compone...
#Exercitium: División según una propiedad. https://jaalonso.github.io/exercitium/posts/2015/01/28-division_segun_una_propiedad/ #Haskell #FunctionalProgramming
I wrote the fifth part of my #blog series “Implementing Co, a small programming language with #coroutines”. This time, we add support for sleep in #Co for time-based executions. https://abhinavsarkar.net/posts/implementing-co-5/
#Programming #PLT #ProgrammingLanguages #Compilers #Haskell #concurrency
abhinavsarkar.net
We implement Co, a small language with coroutines and channels.
#Exercitium: Particiones en listas de segmentos. https://jaalonso.github.io/exercitium/posts/2015/01/27-particiones_en_listas_de_segmentos/ #Haskell #FunctionalProgramming
Hyperbole 0.6, the #Haskell web framework for interactive applications with minimal JS, has been released! See it in action on https://hyperbole.live
Announcement: https://discourse.haskell.org/t/ann-hyperbole-0-6-viewstate-server-push-concurrency-controls-fancy-docs/13543
discourse.haskell.org
Hello fellow Javascript-avoidant Haskellers! Hyperbole has a new release! The examples site https://hyperbole.live is now the official documentation. It’s been painstakingly updated to include longer-form docs, including code snippets and live examples with source code links. I think it’s pretty. Fun new stuff: Server actions can use pushUpdate to update arbitrary HyperViews, enabling all sorts of shenanigans with long-running actions Control overlapping updates with Concurrency = Replac...
Readings shared January 14, 2026. https://jaalonso.github.io/vestigium/posts/2026/01/15-readings_shared_01-14-26 #AI #Autoformalization #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Mizar #RocqProver
jaalonso.github.io
The readings shared in Bluesky on 14 January 2026 are: A lambda-superposition tactic for Isabelle/HOL. ~ Massin Guerdi. #ITP #IsabelleHOL Adding sorts to an Isabelle formalization of superposition. ~
#Exercitium: Números naturales separados por ceros. https://jaalonso.github.io/exercitium/posts/2015/01/26-numeros_naturales_separados_por_ceros/ #Haskell #FunctionalProgramming #Math
State of DataHaskell Q1 2026
https://www.datahaskell.org/blog/2026/01/12/state-of-datahaskell-q1-2026.html
datahaskell.org
As the new year gets into swing and the holiday slump wears off we figured it would be a good time to take stock of things: share what we’ve learned, what we...
State of DataHaskell Q1 2026
https://www.datahaskell.org/blog/2026/01/12/state-of-datahaskell-q1-2026.html
datahaskell.org
As the new year gets into swing and the holiday slump wears off we figured it would be a good time to take stock of things: share what we’ve learned, what we...
The #Haskell ecosystem survey closes in two days! Make your voice heard so that we know where to invest our resources: https://www.surveymonkey.com/r/6M3Z6NV
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
#Exercitium: Enumeración de los números enteros. https://jaalonso.github.io/exercitium/posts/2015/01/23-enumeracion_de_los_enteros/ #Haskell #FunctionalProgramming #Math
#Exercitium: Triparticiones de una lista. https://jaalonso.github.io/exercitium/posts/2015/01/21-triparticiones_de_una_lista/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función triparticiones :: [a] -> [([a],[a],[a])] tal que (triparticiones xs) es la lista de las ternas (xs1,xs2,xs3) tales que su concatenación es xs. Por ejemplo, λ> triparticiones "abc"
"DataFrame January 2026 Updates"
https://discourse.haskell.org/t/dataframe-january-2026-updates/13512
discourse.haskell.org
DataFrame update dump (0.3.1.1 → 0.4.0.5): faster, safer, and a lot more expressive I’ve been heads-down shipping a pile of improvements to DataFrame over the last few releases, and I wanted to share a “why you should care” summary (with some highlights + a couple examples). Highlights Ecosystem You can now read SQL tables using the dataframe-persistent (written by @junjihashimoto) Convert DataFrames into hasktorch tensors and back with dataframe-hasktorch. Symbolic regression (based...
-fno-show-error-context
"Controls whether GHC displays information about the context in which an error occurred"
https://downloads.haskell.org/ghc/latest/docs/users_guide/using.html#ghc-flag-fshow-error-context
downloads.haskell.org
"The Hazy Haskell Compiler" on Discourse
https://discourse.haskell.org/t/the-hazy-haskell-compiler/13497
discourse.haskell.org
I’m proud to showcase Hazy, my Haskell compiler. This is a project I have been working on in private for 3 years. It’s unfortunately not finished but it’s at the point where it’s fairly interesting. The type checker largely works and it’s able to generate Javascript. Though I haven’t tested the generated code yet. My main goal with this is to explore how I can make Haskell more performant. I plan to implement lifetimes, linear types, levity polymorphism etc, like I did with my toy language Aith....
Recommendation request.
Any interesting #Haskell programming channels in 2025?
#Exercitium: Suma de una lista de vectores. https://jaalonso.github.io/exercitium/posts/2015/01/19-suma_de_un_lista_de_vectores/ #Haskell #ProgramaciónFuncional #Matemáticas
Got so furious while trying to get this HasField instance to compile that I bashed my face against the keyboard, inserting letters like k s t u v m a b wholly at random. Lo and behold, now it typechecks:

Code that defines a "HasField" instance for the Optic type from the "optics-core" library. The idea is to be able use OverloadedRecordDot to compose optics, with the "the" identity optic as the start of the composition. {-# LANGUAGE UndecidableInstances #-} module Optics.Lens.Dot where import GHC.Records import GHC.TypeLits import Optics.Core instance (GField (name :: Symbol) u v a b, JoinKinds k A_Lens m, AppendIndices is NoIx ks) => HasField name (Optic k is s t u v) (Optic m ks s t a b) where getField = (% gfield @name) the :: Iso a b a b the = equality
#Exercitium: Ordenación según una función. https://jaalonso.github.io/exercitium/posts/2015/01/16-ordenacion_segun/ #Haskell #ProgramaciónFuncional #Matemáticas
New article on the #Haskell Blog: "A Comment-Preserving Cabal Parser" by Léana Jiang
blog.haskell.org
"Write Yourself a Scheme in 48 Hours: An Introduction to Haskell through Example", Tang (2007)
https://upload.wikimedia.org/wikipedia/commons/a/aa/Write_Yourself_a_Scheme_in_48_Hours.pdf
I'm well and truly miffed—until this moment, I'd never come across this little jewel of a free ebook.🤦♂️
This book teaches practical #Haskell #programming (like monadic parsing) through an implementation of a large subset of R5RS #Scheme interpreter, all in just 138 pp. An experienced FP #programmer, even one who is unfamiliar with Haskell and Scheme (although I’ve not met such a person), can plough through this text, in one sitting.
It's brilliant!
#Exercitium: Mezcla de infinitas listas infinitas. https://jaalonso.github.io/exercitium/posts/2015/01/15-mezcla_de_infinitas_listas_infinitas/ #Haskell #ProgramaciónFuncional #Matemáticas
Communication from the #Haskell Cryptography Group: "A vulnerability in #libsodium 's validation of ed25519 elliptic curve points: You are likely not affected"
https://haskell-cryptography.org/blog/libsodium-vulnerability-ed25519-valid-points/
haskell-cryptography.github.io
#Exercitium: Conjuntos de puntos enteros en regiones rectangulares. https://jaalonso.github.io/exercitium/posts/2015/01/14-conjuntos_de_puntos_enteros_en_regiones_rectangulares/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los puntos de una cuadrícula se puede representar mediante pares de números enteros type Punto = (Int,Int) y las regiones rectangulares mediante el siguiente tipo de dato data Region = Rectangulo Pu
"Write Yourself a Scheme in 48 Hours: An Introduction to Haskell through Example", Tang (2007)
https://upload.wikimedia.org/wikipedia/commons/a/aa/Write_Yourself_a_Scheme_in_48_Hours.pdf
I'm well and truly miffed—until this moment, I'd never come across this little jewel of a free ebook.🤦♂️
This book teaches practical #Haskell #programming (like monadic parsing) through an implementation of a large subset of R5RS #Scheme interpreter, all in just 138 pp. An experienced FP #programmer, even one who is unfamiliar with Haskell and Scheme (although I’ve not met such a person), can plough through this text, in one sitting.
It's brilliant!
The best #Haskell pretty-printing library `prettyprinter` is looking for maintainers to help out! https://github.com/quchen/prettyprinter/issues/272
github.com
@quchen and I have been largely inactive in this project for the past ~3 years. It would be great if some new people would take better care of it. Regarding qualifications: You should be somewhat r...
#Exercitium: Máxima suma de los segmentos. https://jaalonso.github.io/exercitium/posts/2015/01/13-maxima_suma_de_segmentos/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared December 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/30-readings_shared_12-29-25 #AI #Agda #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #OCaml #Rocq #SMT
jaalonso.github.io
The readings shared in Bluesky on 29 December 2025 are: Hint-based SMT proof reconstruction. ~ Joshua Clune, Haniel Barbosa, Jeremy Avigad. #ITP #LeanProver #SMT The biggest controversy in maths coul
Advent of Code 2025: Haskell solution reflections for all 12 days. ~ Justin Le. https://blog.jle.im/entry/advent-of-code-2025.html #Haskell #FunctionalProgramming
blog.jle.im
Merry Christmas all! This is my annual Advent of Code post! Advent of Code is a series of (this year) 12 daily Christmas-themed programming puzzles that are meant to be fun diversions from your daily life, help you find a bit of whimsy in your world, give you a chance to explore new ideas and program together with your friends. I always enjoy discussing creative ways to solve these puzzles every day, and it’s become a bit of an annual highlight for me and a lot of others. My favorite part about these puzzles is that they are open ended enough that there are usually many different interesting ways to solve them — it’s not like a stressful interview question where you have to recite the obscure incantation to pass the test. In the past I’ve leveraged group theory, galilean transformations and linear algebra, and more group theory. Haskell is especially fun for these because if you set up your abstractions in just the right way, the puzzles seem to solve themselves. It’s a good opportunity every year to get exposed to different parts of the Haskell ecosystem! Last year, I moved almost all of my Haskell code to an Advent of Code Megarepo, and I also write up my favorite ways to solve each one in the megarepo wiki. All of this year’s 12 puzzles are here, but I’ve also included links to each individual one in this post. I’m also considering expanding some of these into full on blog posts, so be on the look out, or let me know if there are any that you might want fully expanded! And if you haven’t, why not try these out yourself? Be sure to drop by the libera-chat ##advent-of-code channel to discuss any fun ways you solve them, or any questions! Thanks again to Eric for a great new fresh take on the event this year! * Day 1 - Secret Entrance — The classic Day 1 scanl * Day 2 - Gift Shop — The super efficient IntSet * Day 3 - Lobby — StateT + [] = backtracking search monad * Day 4 - Printing Department — 2D cellular automata * Day 5 - Cafeteria — The power of the data-interval library * Day 6 - Trash Compactor — Data.List manipulations * Day 7 - Laboratories — Tying the knot * Day 8 - Playground — Iterative Clustering * Day 9 - Movie Theater — IntervalSet and IntervalMap * Day 10 - Factory — Guassian Elimation, Type-safe Mutable Vectors * Day 11 - Reactor — More Knot Tying and DP! * Day 12 - Christmas Tree Farm — Counting
Carnap: a free and open software framework written in Haskell for teaching and studying formal logic. https://carnap.io/ #Haskell #FunctionalProgramming #Logic
carnap.io
I wrote a #blog post about implementing a small #interpreted #programming language with #coroutines: https://abhinavsarkar.net/posts/implementing-co-1/
#ProgrammingLanguages #plt #haskell
abhinavsarkar.net
We implement Co, a small language with coroutines and channels.
Running a #haskell program (or trying to) is very late 90's nostalgic, very
configure && make && make install
.. then wait for 16 hours and realize it failed after 14 of them. The error messages was easier to understand in the 90's though, and autoconf fixed a lot of shite.
Readings shared December 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/25-readings_shared_12-24-25 #AI #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 24 December 2025 are: From zero to QED: An informal introduction to formality with Lean 4. ~ Stephen Diehl. #ITP #LeanProver A verified implementation of the Misra a
#Exercitium: 2015 y los números pitagóricos. https://jaalonso.github.io/exercitium/posts/2015/01/08-2015_y_los_numeros_pitagoricos/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Simplificación de expresiones proposicionales. https://jaalonso.github.io/exercitium/posts/2015/01/02-simplificacion_de_expresiones_proposicionales/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: 2015 y los números con factorización capicúa. https://jaalonso.github.io/exercitium/posts/2015/01/01-2015_y_los_numeros_con_factorizacion_capicua/ #Haskell #ProgramaciónFuncional #Matemáticas
"Haskell ecosystem activities report: September–November 2025" by Well-Typed
https://www.well-typed.com/blog/2025/12/haskell-ecosystem-report-september-november-2025/
well-typed.com
Read about the latest Haskell development and maintenance activity from Well-Typed in this report on work funded by Haskell Ecosystem Support Packages.
"The Subtle Footgun of TVar (Map _ _)" by Matt Parsons
https://www.parsonsmatt.org/2025/12/17/the_subtle_footgun_of_tvar_(map____).html
parsonsmatt.org
How coarse-grained STM containers can livelock under load
"A different way to do concurrency — #Haskell 's STM monad" by Elisabeth Stenholm
youtube.com
Looking for a way to do concurrency without locks? Then you have come to the right talk.Software Transactional Memory (STM) is an abstraction that allows the...
#Exercitium: Enumeración de los pares de números naturales. https://jaalonso.github.io/exercitium/posts/2014/12/29-enumeracion_de_pares_de_naturales/ #Haskell #ProgramaciónFuncional #Matemáticas
Liskell - Haskell Semantics with Lisp Syntax https://lobste.rs/s/dhvobg #pdf #api #haskell #lisp
http://clemens.endorphin.org/ILC07-Liskell-draft.pdf
#Exercitium: Puntos en regiones rectangulares. https://jaalonso.github.io/exercitium/posts/2014/12/24-puntos_en_regiones_rectangulares/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared December 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/15-readings_shared_12-14-25 #AI #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 14 December 2025 are: A rose tree is blooming (Proof Pearl). ~ Joomy Korkut. #ITP #Rocq A modular Lean 4 framework for confluence and strong normalization of lambda
#Exercitium: Desemparejamiento de listas. https://jaalonso.github.io/exercitium/posts/2014/12/23-desemparejamiento-de-listas/ #Haskell #ProgramaciónFuncional
The Haskell Unfolder Episode 52: Bidirectional parsing and printing (of JSON). ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/z9V59Y0VDcg #Haskell #FunctionalProgramming
youtube.com
Parsers and printers go hand in hand. When we want to parse unstructured data into a more structured syntax tree, we often also want to render syntax trees b...
🎉 Release 1.0.0 of ClickHaskell, the #Haskell implementation of ClickHouse DBMS Native protocol, has been published! See https://github.com/KovalevDima/ClickHaskell/releases/tag/v1.0.0 and https://clickhaskell.dev/
clickhaskell.dev
A high-performance Haskell implementation of the ClickHouse Native protocol
"Easy Type-Level Flags In #Haskell" by Grégoire Locqueville
glocq.github.io
I wrote a new #haskell blog post! This one is about a neat trick I found to conditionally exclude some branches from your data types at compile-time, in a totally standard and portable way (no compiler extensions, no Template Haskell, nothing fishy :) )
glocq.github.io
#Exercitium: 2015 y los números tales que la suma de sus dígitos es igual al número de sus divisores. https://jaalonso.github.io/exercitium/posts/2014/12/22-2015_y_los_numeros_cuya_suma_de_digitos_es_su_numero_de_divisores/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: 2015 como raíz cuadrada de la suma de tres cubos. https://jaalonso.github.io/exercitium/posts/2014/12/19-2015-como-raiz-cuadrada-de-la-suma-de-tres-cubos/ #Haskell #ProgramaciónFuncional #Matemáticas
I solved #AdventOfCode day 7 in #Haskell with #parsers, #zippers and #interpreters, and wrote a note about it: https://notes.abhinavsarkar.net/2022/aoc-7
abhinavsarkar.net
The State of #Haskell 2025 survey is out! Please take ~10 minutes to fill this out and share it with friends/colleagues/coworkers, whether or not they are users of Haskell.
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
Readings shared December 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/11-readings_shared_12-10-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 10 December 2025 are: Complex bounded operators in Isabelle/HOL. ~ Dominique Unruh, José Manuel Rodríguez Caballero. #ITP #IsabelleHOL #Math Formalization of Ausland
The State of #Haskell 2025 survey is out! Please take ~10 minutes to fill this out and share it with friends/colleagues/coworkers, whether or not they are users of Haskell.
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
Koreaboo #Haskell programmers should not forget to add GOCHUJANGLOG.md in the extra-doc-files section of their .cabal file.
https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-extra-doc-files
cabal.readthedocs.io
The State of #Haskell 2025 survey is out! Please take ~10 minutes to fill this out and share it with friends/colleagues/coworkers, whether or not they are users of Haskell.
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
The State of #Haskell 2025 survey is out! Please take ~10 minutes to fill this out and share it with friends/colleagues/coworkers, whether or not they are users of Haskell.
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }
DEFINITIONS ::=
BEGIN
Bar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
```
The State of #Haskell 2025 survey is out! Please take ~10 minutes to fill this out and share it with friends/colleagues/coworkers, whether or not they are users of Haskell.
surveymonkey.com
Take this survey powered by surveymonkey.com. Create your own surveys for free.
#Exercitium: Representaciones de matrices. https://jaalonso.github.io/exercitium/posts/2014/12/16-representaciones_de_matrices/ #Haskell #ProgramaciónFuncional #Matemáticas
Join us for a new episode of the #Haskell #Unfolder, today, 2025-12-10 at 1930 UTC. This time we're discussing bidirectional parsing and printing, using as an example the autodocodec package.
https://www.youtube.com/watch?v=z9V59Y0VDcg&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=52
youtube.com
Parsers and printers go hand in hand. When we want to parse unstructured data into a more structured syntax tree, we often also want to render syntax trees b...
Readings shared December 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/10-readings_shared_12-09-25 #AI #FunctionalProgramming #HOL4 #HOL-Light #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 9 December 2025 are: The equational theories project: Advancing collaborative mathematical research at scale. ~ Terence Tao et als. #ITP #LeanProver #Math Formalized
#Exercitium: Permutación de elementos consecutivos. https://jaalonso.github.io/exercitium/posts/2014/12/15-permutacion_de_consecutivos/ #Haskell #ProgramaciónFuncional
Readings shared December 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/09-readings_shared_12-08-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 8 December 2025 are: Formalizing polynomial laws and the universal divided power algebra. ~ Antoine Chambert-Loir, María Inés de Frutos-Fernández. #ITP #LeanProver #
#Exercitium: Juego de bloques con letras. https://jaalonso.github.io/exercitium/posts/2014/12/12-juego_de_bloques_con_letras/ #Haskell #ProgramaciónFuncional
Readings shared December 7, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/08-readings_shared_12-07-25 #CoqProver #FunctionalProgramming #HOL #Haskell #ITP #IsabelleHOL #LeanProver #LogicProgramming #Math #Prolog #Python
jaalonso.github.io
The readings shared in Bluesky on 7 December 2025 are: 50 years of proof assistants. ~ Lawrence Paulson. #ITP #IsabelleHOL #CoqProver #HOL DeepWiki leanprover-community/mathlib4: A comprehensive data
#Exercitium: Números que sumados a su siguiente primo dan primos. https://jaalonso.github.io/exercitium/posts/2014/12/11-numeros_que_sumados_a_su_siguiente_primo_dan_primos/ #Haskell #ProgramaciónFuncional #Matemáticas
Saint-Exupéry wrote “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
What would you like to see removed from #Haskell to help it achieve perfection?
Saint-Exupéry wrote “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
What would you like to see removed from #Haskell to help it achieve perfection?
Readings shared December 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/06-readings_shared_12-05-25 #ATP #Autoformalization #DataScience #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Rocq #Rstats #SMT #Z3
jaalonso.github.io
The readings shared in Bluesky on 5 December 2025 are: Formalization of Erdős problems. ~ Boris Alexeev. #ITP #LeanProver #Math #Autoformalization A Rocq formalization of monomial and graded orders.
Layoutz – A tiny zero-dep lib for beautiful #Elm-style TUI's in #Haskell 🪶
https://flora.pm/packages/@hackage/layoutz
https://www.reddit.com/r/haskell/comments/1pe3qju/layoutz_020_a_tiny_zerodep_lib_for_beautiful/
discourse.haskell.org
Layoutz lets you snap together compositional String elements: and now comes w/ a runtime to animate these layouts (much like a flipbook), handle keyboard inputs, fire off side effects (basically what you’d expect from en Elm-style runtime) Lmk how it feels, if there are rough edges or missing primitives. Many thanks!
#Exercitium: Normalización de expresiones aritméticas. https://jaalonso.github.io/exercitium/posts/2014/12/10-normalizacion_de_expresiones_aritmetica/ #Haskell #ProgramaciónFuncional #Matemáticas
Haskell is a great language for data science. ~ Jonathan Carroll. https://jcarroll.com.au/2025/12/05/haskell-is-a-great-language-for-data-science/ #Haskell #FunctionalProgramming #DataScience #Rstats
jcarroll.com.au
I’ve been learning Haskell for a few years now and I am really liking a lot of the features, not least the strong typing and functional approach. I thought it was lacking some of the things I missed from R until I found the dataHaskell project. In this post I’ll demonstrate some of the features and explain why I think it makes for a good (great?) data science language.
Readings shared December 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/05-readings_shared_12-04-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver
jaalonso.github.io
The readings shared in Bluesky on 4 December 2025 are: Formal analysis of the sigmoid function and formal proof of the universal approximation theorem. ~ Dustin Bryant, Jim Woodcock, Simon Foster. #I
Perhaps you saw the post series "Python is not a great language for data science"... well, here's
Haskell IS a Great Language for Data Science
https://jcarroll.com.au/2025/12/05/haskell-is-a-great-language-for-data-science/
jcarroll.com.au
I’ve been learning Haskell for a few years now and I am really liking a lot of the features, not least the strong typing and functional approach. I thought it was lacking some of the things I missed from R until I found the dataHaskell project. In this post I’ll demonstrate some of the features and explain why I think it makes for a good (great?) data science language.
#Exercitium: Sin consecutivos repetidos. https://jaalonso.github.io/exercitium/posts/2014/12/09-sin_consecutivos_repetidos/ #Haskell #ProgramaciónFuncional
Readings shared December 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/12/04-readings_shared_12-03-25 #CompSci #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 3 December 2025 are: Simp, made simple. ~ Yaël Dillies Paul Lezeau. #ITP #LeanProver An introduction to formal real analysis (Lecture 23: Uniformity II: continuity).
#Exercitium: Búsqueda en lista de listas de pares. https://jaalonso.github.io/exercitium/posts/2014/12/08-busqueda_en_lista_de_listas_de_pares/ #Haskell #ProgramaciónFuncional
#haskell #recursion A few notes on the Haskell fix function (https://www.unwoundstack.com/blog/haskell-fixpoint-combinator.html)
unwoundstack.com
A few notes on the Haskell fix function
#haskell #recursion A few notes on the Haskell fix function (https://www.unwoundstack.com/blog/haskell-fixpoint-combinator.html)
unwoundstack.com
A few notes on the Haskell fix function
This year, why not do the #AdventOfCode in #Haskell with your polycule?
New post on the #Haskell blog: "Analyzing language extension semantics" from the Stability Working Group.
https://blog.haskell.org/investigating-language-extension-semantics/
blog.haskell.org
Readings shared November 27, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/28-readings_shared_11-27-25 #AI #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 27 November 2025 are: An introduction to formal real analysis (Lecture 22: Uniformity). ~ Alex Kontorovich. #ITP #LeanProver #Math Mathematics: the rise of the machi
#Exercitium: Llanuras de longitud dada. https://jaalonso.github.io/exercitium/posts/2014/12/04-llanuras_de_longitud_dada/ #Haskell #ProgramaciónFuncional
Readings shared November 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/27-readings_shared_11-26-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LambdaCalculus #Math #TypeTheory
jaalonso.github.io
The readings shared in Bluesky on 26 November 2025 are: Verifying numerical methods with Isabelle/HOL. ~ Dustin Bryant, Jonathan Julian Huerta y Munive, Simon Foster. #ITP #IsabelleHOL #Math Introduc
#Exercitium: Expresiones vectoriales. https://jaalonso.github.io/exercitium/posts/2014/12/03-expresiones_vectoriales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
El siguiente tipo de dato define las expresiones vectoriales formadas por un vector, la suma de dos expresiones vectoriales o el producto de un entero por una expresión vectorial. data ExpV = Vec Int
"Google Summer of Code 2025 Wrap-up" on the #Haskell blog! Come see what our students contributed to the ecosystem during their time! https://blog.haskell.org/gsoc-2025/
blog.haskell.org
Lambda calculus and typing. ~ Noam Zeilberger. https://noamz.org/teaching/CSE301/2025/Notes/LambdaNotes.pdf #Haskell #FunctionalProgramming #LambdaCalculus #TypeTheory
Higher-order functions and type classes. ~ Noam Zeilberger. https://noamz.org/teaching/CSE301/2025/Notes/HONotes.pdf #Haskell #FunctionalProgramming
First-order data types and pattern-matching ~ Noam Zeilberger. https://noamz.org/teaching/CSE301/2025/Notes/DataNotes.pdf #Haskell #FunctionalProgramming
Introduction to functional programming. ~ Noam Zeilberger. https://noamz.org/teaching/CSE301/2025/Notes/IntroNotes.pdf #Haskell #FunctionalProgramming
Readings shared November 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/26-readings_shared_11-25-25 #AI #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Programming #Rocq
jaalonso.github.io
The readings shared in Bluesky on 25 November 2025 are: Formalizing computational paths and fundamental groups in Lean. ~ Arthur F. Ramos, Anjolina G. de Oliveira, Ruy J. G. B. de Queiroz, Tiago M. L
"A tale of two kernels" on the DataHaskell blog https://www.datahaskell.org/blog/2025/11/25/a-tale-of-two-kernels.html
datahaskell.org
Overview
#Exercitium: Expresiones aritmética normalizadas. https://jaalonso.github.io/exercitium/posts/2014/12/02-expresiones_aritmeticas_normalizadas/ #Haskell #ProgramaciónFuncional #Matemáticas
Did you know? While not a perfect replacement, `cabal` can use Stackage package sets by importing the version constraints file that is provided by stackage.org. Create a `cabal.project` file and add the lines:
```
packages: ./
import: https://www.stackage.org/lts-24.4/cabal.config
```
🥳
#Haskell
Readings shared November 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/21-readings_shared_11-20-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 20 November 2025 are: Formalization of Auslander-Buchsbaum-Serre criterion in Lean4. ~ Naillin Guan, Yongle Hu. #ITP #LeanProver #Math On small functions (and Haskel
Hyperfunctions: Communicating continuations. ~ Donnacha Oisín Kidney, Nicolas Wu. https://doisinkidney.com/pdfs/hyperfunctions.pdf #Haskell #FunctionalProgramming
On small functions (and Haskell). ~ Alexander Przemysław Kamiński. https://xlii.space/eng/small-functions/ #Haskell #FunctionalProgramming
xlii.space
If you’re one of my 3 stalkers (HEY Y’ALL!), you might’ve noticed that I started to write about Haskell recently. If not, well you know now :) Haskell is a nice language in a way that it teaches one (i.e. me) a new tricks. Tricks from Haskell that I started started wrtiting a piece about. I’m at the trick of small functions but I also recently read an interesting article with which I don’t (in general) agree and decided to follow on –1 Small functions considered harmful.
Readings shared November 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/20-readings_shared_11-19-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math #Programming
jaalonso.github.io
The readings shared in Bluesky on 19 November 2025 are: An introduction to formal real analysis (Lecture 20: Limits and continuity of functions). ~ Alex Kontorovich. #ITP #LeanProver #Math Structurin
#Exercitium: Particiones de longitud fija. https://jaalonso.github.io/exercitium/posts/2014/11/28-particiones_de_longitud_fija/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared November 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/19-readings_shared_11-18-25 #AI #Autoformalization #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Programming #Scheme
jaalonso.github.io
The readings shared in Bluesky on 18 November 2025 are: Teaching real analysis as a game. ~ Alex Kontorovich. #ITP #LeanProver #Math Are automated proof assistants ready for semigroup research? Orien
#Exercitium: Evaluación de árboles de expresiones aritméticas. https://jaalonso.github.io/exercitium/posts/2014/11/27-evaluacion_de_arboles_de_expresiones_aritmeticas/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared November 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/18-readings_shared_11-17-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math #NeuralNetwork
jaalonso.github.io
The readings shared in Bluesky on 17 November 2025 are: An introduction to formal real analysis (Lecture 19: The rearrangement theorems). ~ Alex Kontorovich. #ITP #LeanProver #Math Formalizing neural
#Exercitium: Aplicaciones alternativas. https://jaalonso.github.io/exercitium/posts/2014/11/26-aplicaciones_alternativas/ #Haskell #ProgramaciónFuncional
Pandoc allows to access and modify the Haskell runtime system (RTS) that the program runs on.
E.g., to print memory usage:
pandoc +RTS -s -RTS …
Or to limit the maximum heap size available to pandoc to 2 GB:
pandoc +RTS -M2G -RTS …
See all available options by running:
pandoc +RTS -?
This can be helpful when facing performance issues.
xeus-haskell: a Jupyter kernel for Haskell based on the native implementation of the Jupyter protocol xeus. ~ Masaya Taniguchi. https://github.com/tani/xeus-haskell #Haskell #FunctionalProgramming
github.com
jupyter / jupyterlite kernel for Haskell powered by WebAssembly - tani/xeus-haskell
Readings shared November 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/17-readings_shared_11-16-25 #AI #ATP #Autoformalization #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #SatSolvers
jaalonso.github.io
The readings shared in Bluesky on 16 November 2025 are: To have machines make math proofs, turn them into a puzzle. ~ John Pavlus. #AI #Math #ATP #SatSolvers SITA: A framework for structure-to-instan
#Exercitium: Elemento común en la menor posición. https://jaalonso.github.io/exercitium/posts/2014/11/24-elemento_comun_en_menor_posicion/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared November 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/15-readings_shared_11-14-25 #AI #Agda #AlphaProof #CoqProver #FunctionalProgramming #Haskell #ITP #LeanProver #Math #OCaml #Rocq
jaalonso.github.io
The readings shared in Bluesky on 14 November 2025 are: An introduction to formal real analysis (Lecture 18: Rearrangements). ~ Alex Kontorovich. #ITP #LeanProver #Math Choice trees: Representing and
#Exercitium: Cuantificadores sobre listas. https://jaalonso.github.io/exercitium/posts/2014/11/21-cuantificadores_sobre_listas/ #Haskell #ProgramaciónFuncional
The Haskell Unfolder Episode 51: Typed servers using sop-core. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/3XeIoA0aVLQ #Haskell #FunctionalProgramming
youtube.com
In this episode we consider how we can design a typed client/server interface for a simple API. We will use this as an introduction to some of the foundation...
The Haskell Unfolder Episode 50: Singletons. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/-zxxl-WuwuE #Haskell #FunctionalProgramming
youtube.com
When writing functions involving GADTs in Haskell, we sometimes have to resort to a concept known as singletons. Such singletons build a bridge between the t...
The Haskell Unfolder Episode 49: Shrinking. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/EcV4rb-Czfg #Haskell #FunctionalProgramming
youtube.com
Shrinking is a critical step in property based testing. When we generate random inputs for functions in order to test them, those random inputs often contain...
Patterns and paradoxes: The logic of pattern synonyms. ~ Koz Ross. https://www.mlabs.city/blog/patterns-and-paradoxes #Haskell #FunctionalProgramming
mlabs.city
Learn how Haskell pattern synonyms and view patterns decouple interface from representation, deliver packed-data performance, preserve exhaustiveness, support bidirectional/read-only views, and more.
You could have invented Fenwick trees. ~ Brent Yorgey. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/you-could-have-invented-fenwick-trees/B4628279D4E54229CED97249E96F721D #Haskell #FunctionalProgramming
cambridge.org
You could have invented Fenwick trees - Volume 35
Experiences of early assessment to teach functional programming. ~ Peter Chapman. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/experiences-of-early-assessment-to-teach-functional-programming/667F18D3611D4A3A7C7C6A2A2FA4FB3C #Haskell #FunctionalProgramming
cambridge.org
Experiences of early assessment to teach functional programming - Volume 35
How much is in a square? Calculating functional programs with squares. ~ Jose Nuno Oliveira. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/how-much-is-in-a-square-calculating-functional-programs-with-squares/F48258008F47DC9F53AA2E61B4E511A7 #Haskell #FunctionalProgramming
cambridge.org
How much is in a square? Calculating functional programs with squares - Volume 35
Domain-specific tensor languages. ~ Jean-Philippe Bernardy, Patrik Jansson. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/domainspecific-tensor-languages/19B95794B66C66E117DFCFC7A21E22D5 #Haskell #FunctionalProgramming
cambridge.org
Domain-specific tensor languages - Volume 35
Parallel dual-numbers reverse AD. ~ Tom J. Smeding, Matthijs I.L. Vákár. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/parallel-dualnumbers-reverse-ad/ECFEF5DE72D5CB7C5BBA0AD7C203BF38 #Haskell #FunctionalProgramming
cambridge.org
Parallel dual-numbers reverse AD - Volume 35
Automatically testing console I/O behavior of student submissions in Haskell. ~ Oliver Westphal, Janis Voigtländer. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/automatically-testing-console-io-behavior-of-student-submissions-in-haskell/20BF7DCA6330A2115C2C2B9BA47AB2E0 #Haskell #FunctionalProgramming
cambridge.org
Automatically testing console I/O behavior of student submissions in Haskell - Volume 35
Checking equivalence in a non-strict language. ~ John Charles Kolesar, Ruzica Piskac, William Triest Hallahan. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/checking-equivalence-in-a-nonstrict-language/82D1E4CE7541BDDF5B954B471549C447#supplementary-materials #Haskell #FunctionalProgramming
cambridge.org
Checking equivalence in a non-strict language - Volume 35
Turner, Bird, Eratosthenes: An eternal burning thread. ~ Jeremy Gibbons. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/turner-bird-eratosthenes-an-eternal-burning-thread/32E2EDF5D5EAEC95F13D313BC97B86F0 #Haskell #FunctionalProgramming
cambridge.org
Turner, Bird, Eratosthenes: An eternal burning thread - Volume 35
Readings shared November 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/14-readings_shared_11-13-25 #AI #Education #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 13 November 2025 are: Computer-assisted proofs in Lean4. ~ J. Nijholt. #ITP #LeanProver #Math De la disputatio a la IA: regreso a los orígenes (La universidad como
I'm going to be talking about using #Haskell for #3dPrinting at London #Scala (January 14th)
meetup.com
🎉 Come along to the London Scala Talks! 🎉 In this event you'll hear from Joe Warren and a mysterious speaker. **Agenda** 6:00pm - 🥤 Doors open. Come along and grab a dr
"Composing Event Migrations with Default Implementations" from the Hindsight blog https://hindsight.events/content/posts/composing-event-migrations-with-default-implementations.html
hindsight.events
There's going to be a new episode of the #Haskell #Unfolder today, 2025-11-12, at 1930 UTC. We're going to discuss how to implement (more) type-safe APIs via some type-level programming using the sop-core package.
https://www.youtube.com/watch?v=3XeIoA0aVLQ&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=51
youtube.com
In this episode we consider how we can design a typed client/server interface for a simple API. We will use this as an introduction to some of the foundation...
Welcome to dataHaskell (revived)! https://www.datahaskell.org/blog/2025/11/11/welcome-to-datahaskell.html
by @mchav
datahaskell.org
We’re rebooting dataHaskell! We’ve collected learnings from the previous dataHaskell effort and decided to revive the effort with a simple promise: make doin...
Welcome to dataHaskell (revived)! https://www.datahaskell.org/blog/2025/11/11/welcome-to-datahaskell.html
by @mchav
datahaskell.org
We’re rebooting dataHaskell! We’ve collected learnings from the previous dataHaskell effort and decided to revive the effort with a simple promise: make doin...
Readings shared November 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/11-readings_shared_11-10-25 #AI #FunctionalProgramming #Haskell #Math
jaalonso.github.io
The readings shared in Bluesky on 10 November 2025 are: Apriori knowledge in an era of computational opacity: The Role of AI in mathematical discovery. ~ Eamon Duede, Kevin Davey. #AI #Math #Exerciti
Would people be interested in a series of #blog posts where I implement the C #compiler from "Writing a C Compiler" book by Nora Sandler in #Haskell? I'd focus on Haskell specific libraries and techniques with some additional bits not present in the book.
Brisbane Functional Programming Group #BFPG tonight: Serialisation in #Haskell + #FP in Python. See yas soon, curious minds!
luma.com
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Serializotron: Protobuf‑Backed, Zero‑Boilerplate…
lessgo, short video on basic lambda calculus for learning #haskell
YouTube: https://youtu.be/Z2zV3fr8hEM?si=rrbu0a19KW1jXShN
PeerTube: https://video.mycrowd.ca/w/jtiN7siyVkubnh2XVZHqW9
video.mycrowd.ca
Using the book Haskell Programming from First Principles by Christopher Allen, Julie Moronuki (https://haskellbook.com/) Exercises are allowed to be used according to license Come to my Discord to ...
Readings shared November 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/09-readings_shared_11-08-25 #AI #Agda #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 8 November 2025 are: A new paradigm for mathematical proof? ~ Emily Riehl. #AI #Math #ITP #Agda #LeanProver An introduction to formal real analysis (Lecture 17: Seri
#Exercitium: Pequeño test de inteligencia. https://jaalonso.github.io/exercitium/posts/2014/11/18-pequeno_test_de_inteligencia/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared November 7, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/08-readings_shared_11-07-25 #AI #Agda #AlphaEvolve #FormalVerification #FunctionalProgramming #Haskell #HoTT #ITP #LLM #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 7 November 2025 are: An introduction to formal real analysis (Lecture 16: Completeness of the real numbers). ~ Alex Kontorovich. #ITP #LeanProver #Math The path to a
#Exercitium: Mayores elementos de una matriz. https://jaalonso.github.io/exercitium/posts/2014/11/17-mayores_elementos_de_una_matriz/ #Haskell #ProgramaciónFuncional #Matemáticas
Great lineup for Brisbane Functional Programming Group #BFPG next Tuesday November 11!
- Serializotron: zero-boilerplate serialisation for #Haskell (Carlo Hamalainen)
- tmefunc: syntactic sugar for #FP in #Python (T. Mark Ellison and Siva Kalyan)
This is our final regular session for 2025, with a social event planned for December. Be there or be a lambda cube!
luma.com
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Serializotron: Protobuf‑Backed, Zero‑Boilerplate…
"Patterns and Paradoxes: The Logic of Pattern Synonyms" by @koz https://www.mlabs.city/blog/patterns-and-paradoxes
mlabs.city
Learn how Haskell pattern synonyms and view patterns decouple interface from representation, deliver packed-data performance, preserve exhaustiveness, support bidirectional/read-only views, and more.
"Cheaper: producing a program with less developer time" by Alexandre Esteves: https://github.com/alexfmpe/semantic-satiation/blob/main/src/Posts/002-cheaper.md
github.com
Contribute to alexfmpe/semantic-satiation development by creating an account on GitHub.
Readings shared November 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/06-readings_shared_11-05-25 #AI #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 5 November 2025 are: Formalizing Schwartz functions and tempered distributions. ~ Moritz Doll. #ITP #LeanProver #Math Tree-based premise selection for Lean4. ~ Ziche
#Exercitium: Último dígito no nulo del factorial. https://jaalonso.github.io/exercitium/posts/2014/11/14-ultimo_digito_no_nulo_del_factorial/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Conjunto de primos relativos. https://jaalonso.github.io/exercitium/posts/2014/11/12-conjunto_de_primos_relativos/ #Haskell #ProgramaciónFuncional #Matemáticas
Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.
So I did some digging into #Haskell based programming language projects on Github, and here's what I found (lexer and parser mentioned separately, if different):
- Purescript: handwritten + Happy
- Elm: handwritten
- Agda: Alex + Happy
- Dex: Megaparsec
- Carp: Parsec
- Dhall: Megaparsec
- Grace: Megaparsec + Earley
- Plutus: Megaparsec
- Grin: Megaparsec
- Futhark: Alex + Happy
- Granule / Gerty: Alex + Happy
- Kaleidoscope: Parsec
- Egison: Megaparsec
- Amulet: Alex + Happy
- Paskell: Parsec
- Facet: Handwritten + Parsec
- Eclair: Megaparsec
- Olifant: Megaparsec
- Shellcheck: Parsec
- Nixfmt: Megaparsec
It seems like Megaparsec is the clear winner when it comes to parsing programming languages in Haskell. However, if I focus on projects that parse file formats and network protocols, Attoparsec is the most popular one.
Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.
So I did some digging into #Haskell based programming language projects on Github, and here's what I found (lexer and parser mentioned separately, if different):
- Purescript: handwritten + Happy
- Elm: handwritten
- Agda: Alex + Happy
- Dex: Megaparsec
- Carp: Parsec
- Dhall: Megaparsec
- Grace: Megaparsec + Earley
- Plutus: Megaparsec
- Grin: Megaparsec
- Futhark: Alex + Happy
- Granule / Gerty: Alex + Happy
- Kaleidoscope: Parsec
- Egison: Megaparsec
- Amulet: Alex + Happy
- Paskell: Parsec
- Facet: Handwritten + Parsec
- Eclair: Megaparsec
- Olifant: Megaparsec
- Shellcheck: Parsec
- Nixfmt: Megaparsec
It seems like Megaparsec is the clear winner when it comes to parsing programming languages in Haskell. However, if I focus on projects that parse file formats and network protocols, Attoparsec is the most popular one.
Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.
So I did some digging into #Haskell based programming language projects on Github, and here's what I found (lexer and parser mentioned separately, if different):
- Purescript: handwritten + Happy
- Elm: handwritten
- Agda: Alex + Happy
- Dex: Megaparsec
- Carp: Parsec
- Dhall: Megaparsec
- Grace: Megaparsec + Earley
- Plutus: Megaparsec
- Grin: Megaparsec
- Futhark: Alex + Happy
- Granule / Gerty: Alex + Happy
- Kaleidoscope: Parsec
- Egison: Megaparsec
- Amulet: Alex + Happy
- Paskell: Parsec
- Facet: Handwritten + Parsec
- Eclair: Megaparsec
- Olifant: Megaparsec
- Shellcheck: Parsec
- Nixfmt: Megaparsec
It seems like Megaparsec is the clear winner when it comes to parsing programming languages in Haskell. However, if I focus on projects that parse file formats and network protocols, Attoparsec is the most popular one.
Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.
So I did some digging into #Haskell based programming language projects on Github, and here's what I found (lexer and parser mentioned separately, if different):
- Purescript: handwritten + Happy
- Elm: handwritten
- Agda: Alex + Happy
- Dex: Megaparsec
- Carp: Parsec
- Dhall: Megaparsec
- Grace: Megaparsec + Earley
- Plutus: Megaparsec
- Grin: Megaparsec
- Futhark: Alex + Happy
- Granule / Gerty: Alex + Happy
- Kaleidoscope: Parsec
- Egison: Megaparsec
- Amulet: Alex + Happy
- Paskell: Parsec
- Facet: Handwritten + Parsec
- Eclair: Megaparsec
- Olifant: Megaparsec
- Shellcheck: Parsec
- Nixfmt: Megaparsec
It seems like Megaparsec is the clear winner when it comes to parsing programming languages in Haskell. However, if I focus on projects that parse file formats and network protocols, Attoparsec is the most popular one.
Readings shared November 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/03-readings_shared_11-02-25 #AI #Agda #Automath #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LCF #LLM #LeanProver #Physics #TypeTheory
jaalonso.github.io
The readings shared in Bluesky on 2 November 2025 are: "Why don't you use dependent types?" ~ Lawrence Paulson. #ITP #Automath #LCF #IsabelleHOL #LeanProver #TypeTheory Lean4Physics: Comprehensive re
Property-based testing for asynchronous functional reactive programming using linear temporal logic. ~ Christian Emil Nielsen, Mathias Faber Kristiansen, Patrick Bahr. https://bahr.io/pubs/files/propratt-paper.pdf #Haskell #FunctionalProgramming
Readings shared November 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/02-readings_shared_11-01-25 #Agda #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 1 November 2025 are: An introduction to formal real analysis (Lecture 15: The real numbers). ~ Alex Kontorovich. #ITP #LeanProver #Math Formalization of coverage che
"Case Study: Debugging a Haskell space leak" by Matthew Pickering from Well-Typed https://www.well-typed.com/blog/2025/10/case-study-debugging-space-leak/
well-typed.com
Readings shared October 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/11/01-readings_shared_10-31-25 #AI #Autoformalization #CompSci #Education #FunctionalProgramming #GenAI #Haskell #ITP #LeanProver #Math #Physics
jaalonso.github.io
The readings shared in Bluesky on 31 October 2025 are: Virasoro algebra and Sugawara constructions formally in Lean. ~ Kalle Kytölä. #ITP #LeanProver #Math Derivation of fundamental physical constant
Readings shared October 30, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/31-readings_shared_10-30-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 30 October 2025 are: Formalization of Auslander–Buchsbaum–Serre criterion in Lean4. ~ Naillin Guan, Yongle Hu. #ITP #LeanProver #Math Lists are geometric series. ~ i
After a long wait, GHC 9.14.1-rc1 is now available. This includes an important fix which ensures compatibility with macOS 26 and later. We expect that this same fix will be backported to GHC 9.12 and 9.10 in the coming months.
Happy Haskelling!
https:/ /www.haskell.org/ghc/blog/20251030-ghc-9.14.1-rc1-released.html
After a long wait, GHC 9.14.1-rc1 is now available. This includes an important fix which ensures compatibility with macOS 26 and later. We expect that this same fix will be backported to GHC 9.12 and 9.10 in the coming months.
Happy Haskelling!
https:/ /www.haskell.org/ghc/blog/20251030-ghc-9.14.1-rc1-released.html
Lists are geometric series. ~ iacgm. https://iacgm.com/articles/adts/ #Haskell #FunctionalProgramming
iacgm.com
Taylor Expansions of Recursive Data Types
Readings shared October 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/30-readings_shared_10-29-25 #AI #CompSci #FunctionalProgramming #GenAI #HOL_Light #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Metamath #Mizar #Programming #Python #Rocq
jaalonso.github.io
The readings shared in Bluesky on 29 October 2025 are: Formalizing Schwartz functions and tempered distributions. ~ Moritz Doll. #ITP #LeanProver #Math 1000+ theorems (The spiritual successor of Free
#Exercitium: Suma de todos los anteriores. https://jaalonso.github.io/exercitium/posts/2014/11/05-suma_de_todos_los_anteriores/ #Haskell #ProgramaciónFuncional #Matemáticas
Join us tonight for the 50th (!) episode of the #Haskell #Unfolder, on singletons! Live on YouTube 1930 UTC (note the changed time in some countries due to DST-related fluctuations).
https://www.youtube.com/watch?v=-zxxl-WuwuE&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=50
youtube.com
When writing functions involving GADTs in Haskell, we sometimes have to resort to a concept known as singletons. Such singletons build a bridge between the t...
Announcing Hindsight, an event sourcing library for #Haskell, designed to bring type safety and correctness to event-driven architectures.
https://hindsight.events/content/posts/announcing-hindsight.html
hindsight.events
Readings shared October 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/29-readings_shared_10-28-25 #AI #FormalMethods #FunctionalProgramming #Haskell #ITP #LeanProver #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 28 October 2025 are: Formalization of Walsh-Fourier series. ~ Izabela Maria Mandla. #ITP #LeanProver #Math Towards a verified compiler for Distributed PlusCal. ~ Ghi
#Exercitium: Máximo de una función. https://jaalonso.github.io/exercitium/posts/2014/11/04-maximo_de_una_funcion/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Se considera la siguiente función g :: Integer -> Integer g n = if n < 10 then n*n else n Definir la función max_g :: Integer -> Integer tal que (max_g n) es el punto i del intervalo [0,n] donde g
Readings shared October 27, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/27-readings_shared_10-26-25 #FunctionalProgramming #Haskell #ITP #LLM #LeanProver #RustLang
jaalonso.github.io
The readings shared in Bluesky on 26 October 2025 are: Why formalize mathematics - more than catching errors. ~ Rado Kirov. #ITP #LeanProver #Math Path equivalence and automation for integration cont
#Exercitium: Poner en mayúscula la primera letra y las restantes en minúsculas. https://jaalonso.github.io/exercitium/posts/2014/11/03-mayusculas_inicial/ #Haskell #ProgramaciónFuncional
Stock market shark: More multidimensional DP. ~ James Bowen. https://mmhaskell.com/blog/2025/10/27/stock-market-shark-more-multidimensional-dp #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared October 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/27-readings_shared_10-26-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 26 October 2025 are: Why formalize mathematics - more than catching errors. ~ Rado Kirov. #ITP #LeanProver #Math Path equivalence and automation for integration cont
#Exercitium: Parte impar de un número. https://jaalonso.github.io/exercitium/posts/2014/11/02-parte_impar/ #Haskell #ProgramaciónFuncional #Matemáticas
This is not a drill: GHC (the #Haskell compiler) now runs in your browser. See the announcement (and please report any bugs) here: https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169
discourse.haskell.org
ghc itself can now run purely client-side in the browser, here’s a haskell playground demo. terms and conditions apply, and i’ll write up more detailed explanation some time later, but i thought this is a cool thing to show off how far the ghc wasm backend has advanced 🙂
Readings shared October 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/23-readings_shared_10-22-25 #AI #ChatGPT #FunctionalProgramming #Haskell #ITP #LLM #LeanProver #Math #Physics
jaalonso.github.io
The readings shared in Bluesky on 22 October 2025 are: Formal or not formal? That is the question in AI for theorem proving. ~ Kevin Buzzard. #AI #Math #LLM #ITP #LeanProver Formalisation of the Cald
Call for Servant cookbooks in preparation of v0.21
https://discourse.haskell.org/t/call-for-servant-cookbooks-in-preparation-of-v0-21/13162
discourse.haskell.org
Hi everyone, as a maintainer of Servant, I would like to call to its user base to share some of the techniques that you may have developed in your applications over the years. As you know, Servant is rather principled, and it’s not always easy to reflect the complexity of the outside world in this principled framework. While we are lucky to have recently received contributions from industrial users, like MultiVerb, it remains that more documentation on the techniques that are in use is very we...
Readings shared October 21, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/22-readings_shared_10-21-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 21 October 2025 are: HITrees: Higher-order interaction trees. ~ Amir Mohammad Fadaei Ayyam, Michael Sammler. #ITP #LeanProver Certifying optimal MEV strategies with
Readings shared October 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/21-readings_shared_10-20-25 #ACL2 #Autoformalization #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Logic #Math #Mizar #RustLang
jaalonso.github.io
The readings shared in Bluesky on 20 October 2025 are: Formalizing Wigner’s semicircle law in Lean. ~ Haoyan Jiang et als. #ITP #LeanProver #Math Towards verifying the "Three amigos". ~ Carl Kwan. #I
I've written a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The third and final post of the series that focuses on writing the virtual machine is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm/
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
Spatial DP: Finding the largest square. ~ James Bowen. https://mmhaskell.com/blog/2025/10/20/spatial-dp-finding-the-largest-square #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared October 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/18-readings_shared_10-17-25 #Agda #Autoformalization #CategoryTheory #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math #Rocq #Teaching
jaalonso.github.io
The readings shared in Bluesky on 17 October 2025 are: A formalization of Borel determinacy in Lean. ~ Sven Manthe. #ITP #LeanProver #Math Yalep: An environment for learning proof in high-school. ~ F
Rebound: Efficient, Expressive, and Well-Scoped Binding
https://youtu.be/IlQQElKaFvM?t=1448
https://www.reddit.com/r/haskell/comments/1o7p2z5/rebound_efficient_expressive_and_wellscoped/
https://arxiv.org/abs/2509.13261

arxiv.org
We introduce the Rebound library that supports well-scoped term representations in Haskell and automates the definition of substitution, alpha-equivalence, and other operations that work with binding structures. The key idea of our design is the use of first-class environments that map variables to expressions in some new scope. By statically tracking scopes, users of this library gain confidence that they have correctly maintained the subtle invariants that stem from using de Bruijn indices. Behind the scenes, Rebound uses environments to optimize the application of substitutions, while providing explicit access to these data structures when desired. We demonstrate that this library is expressive by using it to implement a wide range of language features with sophisticated uses of binding and several different operations that use this abstract syntax. Our examples include pi-forall, a tutorial implementation of a type checker for a dependently-typed programming language. Finally, we benchmark Rebound to understand its performance characteristics and find that it produces faster code than competing libraries.
#Exercitium: Actualización de ejercicios del curso 2014-15. https://jaalonso.github.io/exercitium/posts/2025/10/17-actualizacion_de_ejercicios_del_curso_2014-15/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Con la próxima entrada se inicia la actualización de los ejercicios del curso 2014-15. ¿En qué consiste la actualización? Cada ejercicio será mejorado mediante las siguientes acciones: Ampliación de
Bridging category theory and functional programming for enhanced learning. ~ Fethi Kadhi. https://www.mecs-press.org/ijmsc/ijmsc-v11-n3/IJMSC-V11-N3-1.pdf #Haskell #FunctionalProgramming #CategoryTheory
Non-obvious Haskell idiom: Bind to lambda case. ~ kqr. https://entropicthoughts.com/non-obvious-haskell-idiom-bind-to-lambda-case #Haskell #FunctionalProgramming
entropicthoughts.com
Exploring Arrows for sequencing effects. ~ Chris Penner. https://chrispenner.ca/posts/arrow-effects #Haskell #FunctionalProgramming
chrispenner.ca
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Readings shared October 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/17-readings_shared_10-16-25 #AI #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 16 October 2025 are: Most proofs are trivial. ~ Lawrence Paulson. #Math #ITP #IsabelleHOL An introduction to formal real analysis (Lecture 11: The real numbers I). ~
Libro «Exercitium: Ejercicios de programación funcional con Haskell (Volumen 1: curso 2013–14)». https://github.com/jaalonso/Exercitium/raw/main/libros/Exercitium_Vol1.pdf #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared October 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/16-readings_shared_10-15-25 #AI #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #LiquidHaskell #Math #OCaml #Rocq
jaalonso.github.io
The readings shared in Bluesky on 15 October 2025 are: Rely-guarantee verification of queue locks with proof support in Isabelle/HOL. ~ Robert J. Colvin, Scott Heiner, Peter Höfner, Roger C. Su. #ITP
Arrows to arrows, categories to queries. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/arrows-to-arrows/index.html #Haskell #FunctionalProgramming
reasonablypolymorphic.com
Join us today, 2025-10-15, at 1830 UTC, for a new episode of the #Haskell #Unfolder, on the importance of shrinking for property-based testing: https://www.youtube.com/watch?v=EcV4rb-Czfg&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=49
youtube.com
Shrinking is a critical step in property based testing. When we generate random inputs for functions in order to test them, those random inputs often contain...
Verifying the functional correctness of Braun trees with LiquidHaskell. ~ Felipe de León, Alberto Pardo, Marcos Viera. https://systemf.epfl.ch/etc/vstte2025/preprints/Verifying%20the%20Functional%20Correctness%20of%20Braun%20Trees%20with%20LiquidHaskell.pdf #Haskell #FunctionalProgramming #LiquidHaskell
How much is in a square? Calculating functional programs with squares. ~ Jose Nuno Oliveira. https://lmf.di.uminho.pt/Ibex/oliveira25.pdf #Haskell #FunctionalProgramming
Readings shared October 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/15-readings_shared_10-14-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Python #RustLang #SetTheory
jaalonso.github.io
The readings shared in Bluesky on 14 October 2025 are: Formally verified certification of unsolvability of temporal planning problems. ~ David Wang, Mohammad Abdulaziz. #ITP #IsabelleHOL A formalizat
Making change: Array-based dynamic programming. ~ James Bowen. https://mmhaskell.com/blog/2025/10/13/making-change-array-based-dp #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared October 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/14-readings_shared_10-13-25 #Agda #CoqProver #Erlang #FunctionalProgramming #Haskell #ITP #LeanProver #Math #OCaml #PVS #Programming #Python #Rocq
jaalonso.github.io
The readings shared in Bluesky on 13 October 2025 are: PVS formalization of proofs of the infinitude of primes. ~ Bruno Berto de Oliveira Ribeiro. #ITP #PVS #Math Certified decision procedures for wi
Freer arrows and why you need them in Haskell. ~ Grant VanDomelen, Gan Shen, Lindsey Kuper, Yao Li. https://dl.acm.org/doi/10.1145/3759164.3759352 #Haskell #FunctionalProgramming
Lightweight testing of persistent amortized time complexity in the credit monad. ~ Anton Lorenzen. https://dl.acm.org/doi/10.1145/3759164.3759351 #Haskell #FunctionalProgramming
Automatic C bindings generation for Haskell. ~ Travis Cardwell, Sam Derbyshire, Edsko de Vries, Dominik Schrempf. https://dl.acm.org/doi/10.1145/3759164.3759350 #Haskell #FunctionalProgramming
Total type classes. ~ Robert Weingart, Nicolas Wu. https://dl.acm.org/doi/10.1145/3759164.3759349 #Haskell #FunctionalProgramming
Rebound: Efficient, expressive, and well-scoped binding. ~ Noé De Santo, Stephanie Weirich. https://dl.acm.org/doi/10.1145/3759164.3759348 #Haskell #FunctionalProgramming
Plinth: A plugin-powered language built on Haskell. ~ Ziyang Liu, Kenneth MacKenzie, Roman Kireev, Michael Peyton Jones, Philip Wadler, Manuel Chakravarty. https://dl.acm.org/doi/10.1145/3759164.3759347 #Haskell #FunctionalProgramming
The calculated typer (Functional pearl). ~ Zac Garby, Patrick Bahr, Graham Hutton. https://dl.acm.org/doi/10.1145/3759164.3759346 #Haskell #FunctionalProgramming
A Clash course in solving Sudoku (Functional pearl). ~ Gergő Érdi. https://dl.acm.org/doi/10.1145/3759164.3759345 #Haskell #FunctionalProgramming
A tale of two lambdas: A haskeller’s journey into OCaml. ~ Richard A. Eisenberg. https://dl.acm.org/doi/10.1145/3759164.3771264 #Haskell #OCaml #FunctionalProgramming
Staging automatic differentiation with fusion. ~ Samuel Klumpers, Tom Schrijvers. https://dl.acm.org/doi/abs/10.1145/3759164.3759353 #Haskell #FunctionalProgramming
Unification modulo isomorphisms between dependent types for type-based library search. ~ Satoshi Takimoto, Sosuke Moriguchi, Takuo Watanabe. https://dl.acm.org/doi/10.1145/3759538.3759651 #Haskell #FunctionalProgramming
Representing data structures with invariants in Haskell: The cases of BST and AVL. ~ Nicolas Rodriguez, Alberto Pardo, Marcos Viera. https://dl.acm.org/doi/abs/10.1145/3759538.3759652 #Haskell #FunctionalProgramming
Readings shared October 11, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/12-readings_shared_10-11-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 11 October 2025 are: An introduction to formal real analysis (Lecture 9: Finite sums and boundedness of convergent sequences). ~ Alex Kontorovich. #ITP #LeanProver #
Readings shared October 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/10-readings_shared_10-09-25 #AI #CoqProver #Dafny #FormalMethods #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Programming
jaalonso.github.io
The readings shared in Bluesky on 9 October 2025 are: State management in Haskell. ~ Ajeet Grewal. #Haskell #FunctionalProgramming Haskell is the perfect fit for renewable energy tech. ~ Marc Jakobi.
#Exercitium: Sustitución en una expresión aritmética. https://jaalonso.github.io/exercitium/posts/2014/07/24-sustitucion_en_una_expresion/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared October 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/10-readings_shared_10-09-25 #AI #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 9 October 2025 are: State management in Haskell. ~ Ajeet Grewal. #Haskell #FunctionalProgramming Haskell is the perfect fit for renewable energy tech. ~ Marc Jakobi.
Why Haskell is the perfect fit for renewable energy tech. ~ Marc Jakobi. https://mrcjkb.dev/posts/2025-10-08-haskell-for-renewables.html #Haskell #FunctionalProgramming
mrcjkb.dev
State management in Haskell. ~ Ajeet Grewal. https://grewal.dev/posts/haskell-state #Haskell #FunctionalProgramming
grewal.dev
Exploring state management in Haskell
#Exercitium: Clausura de un conjunto respecto de una función. https://jaalonso.github.io/exercitium/posts/2014/07/23-clausura/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared October 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/09-readings_shared_10-08-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Mathlib
jaalonso.github.io
The readings shared in Bluesky on 8 October 2025 are: Growing Mathlib: Maintenance of a large scale mathematical library. ~ Anne Baanen, Matthew Robert Ballard, Johan Commelin, Bryan Gin-ge Chen, Mic
The mad lads have made it: Two Haskellers went to the town of #Haskell, TX. They documented their journey here: https://www.youtube.com/watch?v=9KwWGulBtyA
See on Reddit: https://www.reddit.com/r/haskell/comments/1o1202q/cowboys_from_haskell/
reddit.com
#Exercitium: Cadenas de ceros y unos. https://jaalonso.github.io/exercitium/posts/2014/07/22-cadenas0y1/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared October 7, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/08-readings_shared_10-07-25 #AI_coding #Advent_of_Code #CommonLisp #FunctionalProgramming #Gemini #Haskell #ITP #IsabelleHOL #LLM #Math
jaalonso.github.io
The readings shared in Bluesky on 7 October 2025 are: A formally verified IEEE 754 floating-point implementation of interval iteration for MDPs. ~ Bram Kohlen, Maximilian Schäffeler, Mohammad Abdulaz
#Exercitium: Números con todos sus dígitos primos. https://jaalonso.github.io/exercitium/posts/2014/07/21-numeros_con_digitos_primos/ #Haskell #ProgramaciónFuncional #Matemáticas
The Mondrian introduction to functional optics. ~ Marco Perone. https://marcosh.github.io/post/2025/10/07/the-mondrian-introduction-to-functional-optics.html #Haskell #FunctionalProgramming
marcosh.github.io
The Mondrian introduction to functional optics
Readings shared October 6, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/07-readings_shared_10-06-25 #AI #CoqProver #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #PVS #RustLang
jaalonso.github.io
The readings shared in Bluesky on 6 October 2025 are: An introduction to formal real analysis (Lecture 8: Advanced limit theorems and induction). ~ Alex Kontorovich. #ITP #LeanProver #Math Formal ver
Dynamic programming primer. ~ James Bowen. https://mmhaskell.com/blog/2025/10/6/dynamic-programming-primer #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared October 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/04-readings_shared_10-03-25 #AI #ATP #AlphaProof #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Mathlib
jaalonso.github.io
The readings shared in Bluesky on 03 October 2025 are: Kevin Buzzard and Alex Kontorovich on the future of formal mathematics: A Mathlib initiative interview. ~ Oliver Nash. #ITP #LeanProver #Mathlib
#Exercitium: Inserción en árboles binarios de búsqueda. https://jaalonso.github.io/exercitium/posts/2014/07/17-insercion_en_arboles_binarios_de_busqueda/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared October 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/03-readings_shared_10-02-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Physics
jaalonso.github.io
The readings shared in Bluesky on 02 October 2025 are: Digitalizing physics into Lean 4. ~ Joseph Tooby-Smith. #ITP #LeanProver #Physics #Math A very early history of algebraic data types. ~ Hillel W
The Haskell Unfolder Episode 48: Safe coercions. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/NC0wkFsVPDU #Haskell #FunctionalProgramming
youtube.com
When GHC knows that two types have the same run-time representation, it allows you to use coerce to go from a value of one to a value of the other in a safe ...
Readings shared September 30, 2025. https://jaalonso.github.io/vestigium/posts/2025/10/01-readings_shared_09-30-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 30 September 2025 are: Lean 4 formalizes Mason‑Stothers theorem and polynomial corollaries. #ITP #LeanProver #Math #Exercitium: Producto de matrices como listas de l
After a long summer break, we're finally back for a new episode of the #Haskell #Unfolder: Edsko and I are going to talk about safe coercions, newtype vs data, roles and more ... Today, 2025-10-01, 1830 UTC on YouTube: https://www.youtube.com/watch?v=NC0wkFsVPDU&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=48
youtube.com
When GHC knows that two types have the same run-time representation, it allows you to use coerce to go from a value of one to a value of the other in a safe ...
#Exercitium: Producto de matrices como listas de listas. https://jaalonso.github.io/exercitium/posts/2014/07/16-producto_de_matrices_como_listas_de_listas/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared September 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/30-readings_shared_09-29-25 #Agda #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Rocq #RustLang
jaalonso.github.io
The readings shared in Bluesky on 29 September 2025 are: A new proof for soundness of right-forward closures for termination analysis. ~ René Thiemann. #ITP #IsabelleHOL Core matrix interpretations f
Apply the trie: Word search. ~ James Bowen. https://mmhaskell.com/blog/2025/9/29/apply-the-trie-word-search #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared September 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/29-readings_shared_09-28-25 #AI #ATP #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 28 September 2025 are: Nondeterministic asynchronous dataflow in Isabelle/HOL. ~ Rafael Castro Gonçalves Silva, Laouen Fernet, Dmitriy Traytel. #ITP #IsabelleHOL For
Monads are too powerful: The expressiveness spectrum. ~ Chris Penner. https://chrispenner.ca/posts/expressiveness-spectrum #Haskell #FunctionalProgramming
chrispenner.ca
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Readings shared September 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/26-readings_shared_09-25-25 #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 25 September 2025 are: Formalization of Harder-Narasimhan theory. ~ Yijun Yuan. #ITP #LeanProver #Math Micrograd in Haskell: Evaluation and backward pass. ~ Ajeet Gr
Micrograd in Haskell: Evaluation and backward pass. ~ Ajeet Grewal https://grewal.dev/posts/micrograd-haskell-2 #Haskell #FunctionalProgramming
grewal.dev
Implementing a tiny neural network library inspired by Andrej Karpathy's micrograd using Haskell's functional programming paradigm
Looking for a LaTeX symbol, but don't know the command to produce it?
https://detexify.kirelabs.org can help. Draw the symbol, and the app will produce a list of matching symbols.
Incidentally, the tool is written in #Haskell, just like #pandoc.

Video showing a how the partial differential symbol ∂ is drawn in a box (badly), and with the tool responding with a list of LaTeX commands after a short wait.

Video showing a how the partial differential symbol ∂ is drawn in a box (badly), and with the tool responding with a list of LaTeX commands after a short wait.
Looking for a LaTeX symbol, but don't know the command to produce it?
https://detexify.kirelabs.org can help. Draw the symbol, and the app will produce a list of matching symbols.
Incidentally, the tool is written in #Haskell, just like #pandoc.

Video showing a how the partial differential symbol ∂ is drawn in a box (badly), and with the tool responding with a list of LaTeX commands after a short wait.

Video showing a how the partial differential symbol ∂ is drawn in a box (badly), and with the tool responding with a list of LaTeX commands after a short wait.
Readings shared September 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/25-readings_shared_09-24-25 #FunctionalProgramming #Haskell #Math
jaalonso.github.io
The readings shared in Bluesky on 24 September 2025 are: List of crowdsourced math projects actively seeking participants. ~ Terence Tao et als. #Math PenroseKiteDart user guide. ~ Chris Reade. #Hask
PenroseKiteDart user guide. ~ Chris Reade. https://readerunner.wordpress.com/2024/04/08/penrosekitedart-user-guides/ #Haskell #FunctionalProgramming
readerunner.wordpress.com
Introduction (Updated September 2025 for PenroseKiteDart version 1.5.1) PenroseKiteDart is a Haskell package with tools to experiment with finite tilings of Penrose’s Kites and Darts. It uses…
Readings shared September 23, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/24-readings_shared_09-23-25 #Abella #Agda #CategoryTheory #CoqProver #FunctionalProgramming #HOL4 #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Naproche #Rocq #RustLang
jaalonso.github.io
The readings shared in Bluesky on 23 September 2025 are: Formalising new mathematics in Isabelle: Diagonal Ramsey. ~ Lawrence C. Paulson. #ITP #IsabelleHOL #Math A formal analysis of algorithms for m
Writing our own structure: Tries in Haskell & Rust. ~ James Bowen. https://mmhaskell.com/blog/2025/9/22/writing-our-own-structure-tries-in-haskell-amp-rust #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared September 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/23-readings_shared_09-22-25 #AI #ATP #CompSci #CoqProver #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Logic #Math #Rocq #SMT
jaalonso.github.io
The readings shared in Bluesky on 22 September 2025 are: Formalizing dimensional analysis using the Lean theorem prover. ~ Maxwell P. Bobbin et als. #ITP #LeanProver Computationally-sound symbolic cr
Formalising Graph Algorithms with Coinduction
https://discourse.haskell.org/t/a-haskell-representation-of-graphs/13016/5
discourse.haskell.org
My supervisor and I wrote a paper on functional graphs last year, and in it we advocated for using the simple a → [a] type for graphs ( POPL Paper—Formalising Graph Algorithms with Coinduction - Donnacha Oisín Kidney ). Of course, there are always tradeoffs with different representations, so this representation isn’t perfect for everything (it’s good for simple search algorithms). I think it’s a good default, though. There’s also been a lot of other work over the past few years on graph repres...
#Exercitium: Producto cartesiano de una familia de conjuntos. https://jaalonso.github.io/exercitium/posts/2014/07/11-producto_cartesiano/ #Haskell #ProgramaciónFuncional #Matemáticas
Refinement-types driven development: A study. ~ Facundo Domínguez, Arnaud Spiwack. https://arxiv.org/abs/2509.15005v1 #FunctionalProgramming #Liquid #Haskell #SMT

arxiv.org
This paper advocates for the broader application of SMT solvers in everyday programming, challenging the conventional wisdom that these tools are solely for formal methods and verification. We claim that SMT solvers, when seamlessly integrated into a compiler's static checks, significantly enhance the capabilities of ordinary type checkers in program composition. Specifically, we argue that refinement types, as embodied by Liquid Haskell, enable the use of SMT solvers in mundane programming tasks. Through a case study on handling binder scopes in compilers, we envision a future where ordinary programming is made simpler and more enjoyable with the aid of refinement types and SMT solvers. As a secondary contribution, we present a prototype implementation of a theory of finite maps for Liquid Haskell's solver, developed to support our case study.
Refinement-types driven development: A study. ~ Facundo Domínguez, Arnaud Spiwack. https://arxiv.org/abs/2509.15005v1 #FunctionalProgramming #Liquid #Haskell #SMT

arxiv.org
This paper advocates for the broader application of SMT solvers in everyday programming, challenging the conventional wisdom that these tools are solely for formal methods and verification. We claim that SMT solvers, when seamlessly integrated into a compiler's static checks, significantly enhance the capabilities of ordinary type checkers in program composition. Specifically, we argue that refinement types, as embodied by Liquid Haskell, enable the use of SMT solvers in mundane programming tasks. Through a case study on handling binder scopes in compilers, we envision a future where ordinary programming is made simpler and more enjoyable with the aid of refinement types and SMT solvers. As a secondary contribution, we present a prototype implementation of a theory of finite maps for Liquid Haskell's solver, developed to support our case study.
Readings shared September 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/19-readings_shared_09-18-25 #AI #ATP #Dedukti #FunctionalProgramming #Haskell #ITP #LLMs #Vampire
jaalonso.github.io
The readings shared in Bluesky on 18 September 2025 are: Case study: Verified Vampire proofs in the lambdapi-calculus modulo. ~ Anja Petković Komel, Michael Rawson, Martin Suda. #ATP #Vampire #ITP #D
None of the #haskell regular expression libraries supports named captures? Is the feature that niche?
Readings shared September 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/18-readings_shared_09-17-25 #AI #Autoformalization #CAS #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Macaulay2 #Math #Mathlib #Physics #Rocq #SMT
jaalonso.github.io
The readings shared in Bluesky on 17 September 2025 are: Formalizing dimensional analysis using the Lean theorem prover. ~ Maxwell P. Bobbin, Colin Jones, John Velkey, Tyler R. Josephson. #ITP #LeanP
Plinth: A plugin-powered language built on Haskell (Experience report). ~ Ziyang Liu, Kenneth MacKenzie, Roman Kireev, Michael Peyton Jones, Philip Wadler, Manuel Chakravarty. https://homepages.inf.ed.ac.uk/wadler/papers/plinth/plinth.pdf #Haskell #FunctionalProgramming
Quantum structures and functional programming. ~ Jerzy Karczmarczuk. https://karczmarczuk.users.greyc.fr/TEACH/Semin/quastru.pdf #Haskell #FunctionalProgramming
"Haskell's WebDriver package is back in business" by Tom McLaughlin
https://thomasjm.github.io/posts/webdriver-13/
TL;DR
Readings shared September 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/16-readings_shared_09-15-25 #Haskell #FunctionalProgramming #RustLang
jaalonso.github.io
The readings shared in Bluesky on 15 September 2025 are: Topological sort: Managing mutable structures in Haskell. ~ James Bowen. #Haskell #FunctionalProgramming #RustLang #Exercitium: Elemento más c
Topological sort: Managing mutable structures in Haskell. ~ James Bowen. https://mmhaskell.com/blog/2025/9/15/topological-sort-managing-mutable-structures-in-haskell #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
#Exercitium: Elemento más cercano que cumple una propiedad. https://jaalonso.github.io/exercitium/posts/2014/07/09-mas_cercano_cumpliendo_la_propiedad/ #Haskell #ProgramaciónFuncional
Readings shared September 11, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/12-readings_shared_09-11-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 11 September 2025 are An introduction to Lean 4 (An introduction to formal verification). ~ Enric Cosme Llópez, Lü Gong. #ITP #LeanProver #Math Lean 4 with a Math Te
#Exercitium: Representación de Zeckendorf. https://jaalonso.github.io/exercitium/posts/2014/07/08-representacion_de_zeckendorf/ #Haskell #ProgramaciónFuncional #Matemáticas
Better Haskell stack traces via user annotations. ~ Hannes Siebenhandl, Matthew Pickering. https://www.well-typed.com/blog/2025/09/better-haskell-stack-traces/ #Haskell #FunctionalProgramming
well-typed.com
Haskell equations, thirty-eight years later. ~ Philip Wadler. https://wadler.blogspot.com/2025/09/haskell-equations-thirty-eight-years.html #Haskell #FunctionalProgramming
wadler.blogspot.com
One night, while drifting off to sleep (or failing to), I solved a conundrum that has puzzled me since 1987. Before Haskell there was Orwell...
Readings shared September 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/11-readings_shared_09-10-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 10 September 2025 are An introduction to formal real analysis (Lecture 1: The story of real analysis. Lean tactics (exact, rfl, rewrite, ringnf, use, intro, speciali
Using Haskell in production. ~ Agentultra. https://agentultra.com/blog/using-haskell-in-production/ #Haskell #FunctionalProgramming
agentultra.com
Readings shared September 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/10-readings_shared_09-09-25 #Agda #FunctionalProgramming #Haskell #HoTT #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 9 September 2025 are Higher order differential calculus in Mathlib. ~ Sébastien Gouëzel. #ITP #LeanProver #Math Ordinal exponentiation in homotopy type theory. ~ Tom
#Exercitium: Divide si todos son múltiplos. https://jaalonso.github.io/exercitium/posts/2014/07/04-divide_si_todos_multiplos/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Renombramiento de un árbol. https://jaalonso.github.io/exercitium/posts/2014/07/03-renombra_arbol/ #Haskell #ProgramaciónFuncional
Readings shared September 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/09-readings_shared_09-08-25 #Haskell #FunctionalProgramming #RustLang
jaalonso.github.io
The readings shared in Bluesky on 8 September 2025 are Graph algorithms in board games! ~ James Bowen. #Haskell #FunctionalProgramming #RustLang #Exercitium: Empiezan con mayúscula. #Haskell #Program
Graph algorithms in board games! ~ James Bowen. https://mmhaskell.com/blog/2025/9/8/graph-algorithms-in-board-games #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared September 7, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/08-readings_shared_09-07-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 7 September 2025 are Índice Course: Introduction to real analysis. ~ Alex Kontorovich. #Math #ITP #LeanProver Introduction to formal real analysis (Lecture 1). ~ Ale
Readings shared September 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/06-readings_shared_09-05-25 #AI #FormalVerification #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 5 September 2025 are Program verification is not all-or-nothing. ~ Lawrence Paulson. #FormalVerification The future of math is programming. ~ Ank Yog. #ITP #LeanProv
#Exercitium: Eliminación de n elementos. https://jaalonso.github.io/exercitium/posts/2014/06/30-elimina_n_elementos/ #Haskell #ProgramaciónFuncional
#Exercitium: Intercalación de n copias. https://jaalonso.github.io/exercitium/posts/2014/06/27-intercala_n_copias/ #Haskell #ProgramaciónFuncional
"Monad of No Return: Next Steps" https://discourse.haskell.org/t/monad-of-no-return-next-steps/11443
discourse.haskell.org
The proposal monad of no return has been in the process of being implemented for a while. I’m collecting community feedback on the proposal (and specifically phase 3) in the hopes that as a community we can move forwards in making Haskell a better language. I encourage people to read the proposal above, but I’ll summarise and quote below where relevant. What is this proposal? The proposal outlines that with making Applicative a superclass of Monad (which happened with Functor-Applicative-Monad ...
Better Haskell stack traces via user annotations. ~ Hannes Siebenhandl, Matthew Pickering. https://well-typed.com/blog/2025/09/better-haskell-stack-traces/ #Haskell #FunctionalProgramming
well-typed.com
Readings shared September 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/05-readings_shared_09-04-25 #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #OrgMode
jaalonso.github.io
The readings shared in Bluesky on 4 September 2025 are F91 in Lean. ~ Joachim Breitner. #ITP #LeanProver Lean: First steps. ~ Tariq Rashid. #ITP #LeanProver Acorn and the future of (AI?) theorem prov
"Better #Haskell stack traces via user annotations", on the Well-Typed blog!
https://www.well-typed.com/blog/2025/09/better-haskell-stack-traces/
well-typed.com
"Better #Haskell stack traces via user annotations", on the Well-Typed blog!
https://www.well-typed.com/blog/2025/09/better-haskell-stack-traces/
well-typed.com
Distributors (Unifying parsers, printers & grammars). ~ Eitan Chatav. https://github.com/morphismtech/distributors/blob/main/blog.md #Haskell #FunctionalProgramming
github.com
Distributors - Unifying Parsers, Printers & Grammars - morphismtech/distributors
Readings shared September 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/04-readings_shared_09-03-25 #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 3 September 2025 are Thinking programs (Logical modeling and reasoning about languages, data, computations, and executions). ~ Wolfgang Schreiner. #ITP #IsabelleHOL
#Exercitium: Entero positivo de la cadena. https://jaalonso.github.io/exercitium/posts/2014/06/24-entero_positivo_de_la_cadena/ #Haskell #ProgramaciónFuncional #Matemáticas
Is there a "hlint to GitLab code quality report" tool/plug-in? I can't find one... #haskell
Readings shared September 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/03-readings_shared_09-02-25 #CategoryTheory #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Math
jaalonso.github.io
The readings shared in Bluesky on 2 September 2025 are Aspects of category theory in proof assistants. ~ Luc Chabassier. #ITP #CoqProver #CategoryTheory No-free-lunch theorem for machine learning. ~
New kid on the block: Granite is the new terminal plotting library from @mchav's dataframe project
https://discourse.haskell.org/t/granite-a-terminal-plotting-library/12778
github.com
A library for producing terminal plots. Contribute to mchav/granite development by creating an account on GitHub.
#Exercitium: Actualizaciones de ejercicios. https://jaalonso.github.io/exercitium/posts/2025/08/22-actualizaciones-de-ejercicios/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
He iniciado el proceso de actualización de los ejercicios de programación funcional con Haskell publicados con el fin de que, además del enunciado y sus soluciones, incorporen los siguientes elementos
Readings shared September 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/02-readings_shared_09-01-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Mathlib #RustLang
jaalonso.github.io
The readings shared in Bluesky on 1 September 2025 are Growing Mathlib: maintenance of a large scale mathematical library. ~ Anne Baanen et als. #ITP #LeanProver #Mathlib Starting out with graph algo
Alpha-beta pruning is just minimax in a lattice of clamping functions. ~ Li-yao Xia. https://blog.poisson.chat/posts/2025-09-01-alpha-beta.html #Haskell #FunctionalProgramming
blog.poisson.chat
A blog about functional programming
Starting out with graph algorithms: Basic DFS. ~ James Bowen. https://mmhaskell.com/blog/2025/9/1/starting-out-with-graph-algorithms-basic-dfs #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
#Exercitium: Mayor sucesión del problema 3n+1. https://jaalonso.github.io/exercitium/posts/2014/06/20-mayor_sucesion_3n%2B1/ #Haskell #ProgramaciónFuncional #Matemáticas
“Embedding MicroHs” by Thomas Mahler
https://thma.github.io/posts/2025-08-30-Embedding-MicroHs.html
thma.github.io
Readings shared August 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/09/01-readings_shared_08-31-25 #FunctionalProgramming #Haskell #Math
jaalonso.github.io
The readings shared in Bluesky on 31 August 2025 are #Exercitium: Descomposiciones como sumas de n sumandos. #Haskell #ProgramaciónFuncional #Matemáticas #Exercitium: Selección hasta el primero que f
#Exercitium: Selección hasta el primero que falla inclusive. https://jaalonso.github.io/exercitium/posts/2014/06/18-seleccion_con_fallo/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Selección hasta el primero que falla inclusive. https://jaalonso.github.io/exercitium/posts/2014/06/18-seleccion_con_fallo/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Descomposiciones como sumas de n sumandos. https://jaalonso.github.io/exercitium/posts/2014/06/17-descomposiciones_con_n_sumandos/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared August 30, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/31-readings_shared_08-30-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Math
jaalonso.github.io
The readings shared in Bluesky on 30 August 2025 are Exploiting instantiations from paramodulation proofs in Isabelle/HOL. ~ Lukas Bartl, Jasmin Blanchette, Tobias Nipkow. #ITP #IsabelleHOL Demostrac
#Exercitium: Divisores de un número con final dado. https://jaalonso.github.io/exercitium/posts/2014/06/16-divisores_con_final/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Eliminación de las ocurrencias aisladas. https://jaalonso.github.io/exercitium/posts/2014/06/11-elimina_aisladas/ #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Descomposiciones triangulares. https://jaalonso.github.io/exercitium/posts/2014/06/05-descomposiciones_triangulares/ #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared August 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/30-readings_shared_08-29-25 #Agda #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 29 August 2025 are Tic-tac-toe meets Lean 4. ~ Adolfo Ochagavía. #ITP #LeanProver Continuous and algebraic domains in univalent foundations. ~ Tom de Jong, Martín Hö
The folks at #Kattis finally published the problems from a bunch of old #competitiveprogramming contests that they have hosted over the years, including quite a few that I helped organize. Yay! (I have been bugging them to do this literally for years.) In particular, the list of available problems written by me instantly went from 2 to about 35:
https://open.kattis.com/problem-authors/Brent%20Yorgey
I have solved many (though not all) of them in #Haskell. Give them a try and let me know what you think! 😄
open.kattis.com
Two AMAZING talks for the Brisbane Functional Programming Group #BFPG September 9th meetup:
• Typed Holes and Hole-driven Development (George Wilson) #haskell #fp
• #Gleam's Type-Safe OTP Concurrency: A New Era of Reliable Distributed Programming (Cameron Badman) #erlang #beam #otp
lu.ma
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Typed Holes and Hole-driven Development - George…
The folks at #Kattis finally published the problems from a bunch of old #competitiveprogramming contests that they have hosted over the years, including quite a few that I helped organize. Yay! (I have been bugging them to do this literally for years.) In particular, the list of available problems written by me instantly went from 2 to about 35:
https://open.kattis.com/problem-authors/Brent%20Yorgey
I have solved many (though not all) of them in #Haskell. Give them a try and let me know what you think! 😄
open.kattis.com
#Exercitium: Índices de valores verdaderos. https://jaalonso.github.io/exercitium/posts/2014/06/04-indices_verdaderos/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función indicesVerdaderos :: [Int] -> [Bool] tal que (indicesVerdaderos xs) es la lista infinita de booleanos tal que sólo son verdaderos los elementos cuyos índices pertenecen a la lista
#Exercitium: Código de las alergias. https://jaalonso.github.io/exercitium/posts/2014/06/03-alergias/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Para la determinación de las alergia se utiliza los siguientes códigos para los alérgenos: Huevos ........ 1 Cacahuetes .... 2 Mariscos ...... 4 Fresas ........ 8 Tomates ....... 16 Chocolate
#Exercitium: Pim, Pam, Pum y divisibilidad. https://jaalonso.github.io/exercitium/posts/2014/06/02-pimpampum/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función sonido :: Int -> String tal que (sonido n) escribe "Pim" si n es divisible por 3, además escribe "Pam" si n es divisible por 5 y también escribe "Pum" si n es divisible por 7. Por
#Exercitium: Reiteración de una función. https://jaalonso.github.io/exercitium/posts/2014/05/30-reiteracion_de_funciones/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función reiteracion :: (a -> a) -> Int -> a -> a tal que (reiteracion f n x) es el resultado de aplicar n veces la función f a x. Por ejemplo, reiteracion (+1) 10 5 == 15 reiteracion (+
#Exercitium: Elementos de una matriz con algún vecino menor. https://jaalonso.github.io/exercitium/posts/2014/05/29-algun_vecino_menor/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las matrices puede representarse mediante tablas cuyos índices son pares de números naturales. Su tipo se define por type Matriz = Array (Int,Int) Int Por ejemplo, la matriz |9 4 6 5| |8 1 7 3| |4 2
#Exercitium: Enumeración de árboles binarios. https://jaalonso.github.io/exercitium/posts/2014/05/28-enumera_arbol/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los árboles binarios se pueden representar mediante el tipo Arbol definido por data Arbol a = H a | N (Arbol a) a (Arbol a) deriving Show Por ejemplo, el árbol "B" / \
#Exercitium: Números triangulares con n cifras distintas. https://jaalonso.github.io/exercitium/posts/2014/05/27-triangulares_con_cifras/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los números triangulares se forman como sigue * * * * * * * * * * 1 3 6 La sucesión de los números triangulares se obtiene sumando los números naturales. Así, lo
Readings shared August 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/29-readings_shared_08-28-25 #Haskell #FunctionalProgramming #Math
jaalonso.github.io
The readings shared in Bluesky on 28 August 2025 are Haskell Course: Lesson 21: Reader, Writer, and State Monads. ~ Robertino Martinez. #Haskell #FunctionalProgramming #Exercitium: Alfabeto comenzand
#Exercitium: Trenzado de listas. https://jaalonso.github.io/exercitium/posts/2014/05/26-trenzado_de_listas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función trenza :: [a] -> [a] -> [a] tal que (trenza xs ys) es la lista obtenida intercalando los elementos de xs e ys. Por ejemplo, trenza [5,1] [2,7,4] == [5,2,1,7] trenza [
#Exercitium: Biparticiones de una lista. https://jaalonso.github.io/exercitium/posts/2014/05/23-biparticiones_de_una_lista/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función biparticiones :: [a] -> [([a],[a])] tal que (biparticiones xs) es la lista de pares formados por un prefijo de xs y el resto de xs. Por ejemplo, λ> biparticiones [3,2,5]
#Exercitium: Mayor producto de las ramas de un árbol. https://jaalonso.github.io/exercitium/posts/2014/05/22-mayor_producto_de_las_ramas_de_un_arbol/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los árboles se pueden representar mediante el siguiente tipo de datos data Arbol a = N a [Arbol a] deriving Show Por ejemplo, los árboles 1 3 / \ /|\ 2 3 / |
#Exercitium: Número de pares de elementos adyacentes iguales en una matriz. https://jaalonso.github.io/exercitium/posts/2014/05/21-pares_adyacentes_iguales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Una matriz se puede representar mediante una lista de listas. Por ejemplo, la matriz |2 1 5| |4 3 7| se puede representar mediante la lista [[2,1,5],[4,3,7]] Definir la función numeroParesAdyacent
#Exercitium: Elemento más repetido de manera consecutiva. https://jaalonso.github.io/exercitium/posts/2014/05/20-mas_repetido/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función masRepetido :: Ord a => [a] -> (a,Int) tal que (masRepetido xs) es el elemento de xs que aparece más veces de manera consecutiva en la lista junto con el número de sus apariciones
#Exercitium: Regiones determinadas por n rectas del plano. https://jaalonso.github.io/exercitium/posts/2014/05/19-regiones/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
En los siguientes dibujos se observa que el número máximo de regiones en el plano generadas con 1, 2 ó 3 líneas son 2, 4 ó 7, respectivamente. \ | \5|
#Exercitium: Ampliación de matrices por columnas. https://jaalonso.github.io/exercitium/posts/2014/05/16-amplia_columnas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las matrices enteras se pueden representar mediante tablas con índices enteros: type Matriz = Array (Int,Int) Int Definir la función ampliaColumnas :: Matriz -> Matriz -> Matriz tal que (ampliaCol
#Exercitium: Emparejamiento binario. https://jaalonso.github.io/exercitium/posts/2014/05/15-emparejamiento_binario/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función zipBinario :: [a -> b -> c] -> [a] -> [b] -> [c] tal que (zipBinario fs xs ys) es la lista obtenida aplicando cada una de las operaciones binarias de fs a los correspondientes ele
#Exercitium: Ordenación de estructuras. https://jaalonso.github.io/exercitium/posts/2014/05/14-ordenacion_de_estructuras/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las notas de los dos primeros exámenes se pueden representar mediante el siguiente tipo de dato data Notas = Notas String Int Int deriving (Read, Show, Eq) Por ejemplo, (Notas "Juan" 6 5) represen
#Exercitium: Numeración de las ternas de números naturales. https://jaalonso.github.io/exercitium/posts/2014/05/13-numeracion_de_ternas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las ternas de números naturales se pueden ordenar como sigue (0,0,0), (0,0,1),(0,1,0),(1,0,0), (0,0,2),(0,1,1),(0,2,0),(1,0,1),(1,1,0),(2,0,0), (0,0,3),(0,1,2),(0,2,1),(0,3,0),(1,0,2),(1,1,1),(1,2,0),
#Exercitium: Alfabeto comenzando en un carácter. https://jaalonso.github.io/exercitium/posts/2014/05/12-alfabeto_desde/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función alfabetoDesde :: Char -> String tal que (alfabetoDesde c) es el alfabeto, en minúscula, comenzando en el carácter c, si c es una letra minúscula y comenzando en 'a', en caso contr
Haskell Course: Lesson 21: Reader, Writer, and State Monads. ~ Robertino Martinez. https://youtu.be/RN9Fr7YRt5c #Haskell #FunctionalProgramming
youtube.com
Repo: https://github.com/input-output-hk/haskell-coursePlaylist: https://youtube.com/playlist?list=PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqbOutline:0:00 - Introduct...
Readings shared August 27, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/28-readings_shared_08-27-25 #CategoryTheory #FunctionalProgramming #Haskell #Math
jaalonso.github.io
The readings shared in Bluesky on 27 August 2025 are Basic category theory. ~ Tom Leinster. #eBook #CategoryTheory #Exercitium: Segmentos maximales con elementos consecutivos. #Haskell #ProgramaciónF
#Exercitium: Ramas de un árbol. https://jaalonso.github.io/exercitium/posts/2014/05/09-ramas_de_un_arbol/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los árboles se pueden representar mediante el siguiente tipo de datos data Arbol a = N a [Arbol a] deriving Show Por ejemplo, los árboles 1 3 / \ /|\ 2 3 /
#Exercitium: Valores de polinomios representados con vectores. https://jaalonso.github.io/exercitium/posts/2014/05/08-valor_de_un_polinomio/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los polinomios se pueden representar mediante vectores usando la librería Data.Array. En primer lugar, se define el tipo de los polinomios (con coeficientes de tipo a) mediante type Polinomio a = Arra
#Exercitium: Segmentos maximales con elementos consecutivos. https://jaalonso.github.io/exercitium/posts/2014/05/07-segmentos_consecutivos/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función segmentos :: (Enum a, Eq a) => [a] -> [[a]] tal que (segmentos xss) es la lista de los segmentos de xss formados por elementos consecutivos. Por ejemplo, segmentos [1,2,5,6,4]
Readings shared August 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/27-readings_shared_08-26-25 #ATP #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #Reasoning #Vampire
jaalonso.github.io
The readings shared in Bluesky on 26 August 2025 are Experimental results for Vampire on the equational theories project. ~ Mikoláš Janota. #ATP #Vampire Lean meets theoretical computer science: Scal
#Exercitium: Lista cuadrada. https://jaalonso.github.io/exercitium/posts/2014/05/06-lista_cuadrada/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función listaCuadrada :: Int -> a -> [a] -> [[a]] tal que (listaCuadrada n x xs) es una lista de n listas de longitud n formadas con los elementos de xs completada con x, si no xs no tien
#Exercitium: Máximos locales. https://jaalonso.github.io/exercitium/posts/2014/05/05-maximos_locales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Un máximo local de una lista es un elemento de la lista que es que su predecesor y que su sucesor en la lista. Por ejemplo, 5 es un máximo local de [3,2,5,3,7,7,1,6,2] ya que es mayor que 2 (su prede
#Exercitium: Matrices de Toepliz. https://jaalonso.github.io/exercitium/posts/2014/05/02-matriz_toeplitz/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Una matriz de Toeplitz es una matriz cuadrada que es constante a lo largo de las diagonales paralelas a la diagonal principal. Por ejemplo, |2 5 1 6| |2 5 1 6| |4 2 5 1| |4 2 6 1| |7 4 2 5
Readings shared August 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/26-readings_shared_08-25-25 #Agda #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Logic #Math #Rocq #RustLang #Waterproof
jaalonso.github.io
The readings shared in Bluesky on 25 August 2025 are Visualizing regular expression NFAs in Lean. ~ Krishna Padmasola. #ITP #LeanProver A case study on the effectiveness of LLMs in verification with
#Exercitium: Suma si todos los valores son justos. https://jaalonso.github.io/exercitium/posts/2014/05/01-suma_si_todos_justos/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función sumaSiTodosJustos :: (Num a, Eq a) => [Maybe a] -> Maybe a tal que (sumaSiTodosJustos xs) es justo la suma de todos los elementos de xs si todos son justos (es decir, si Nothing n
#Exercitium: Primos equidistantes. https://jaalonso.github.io/exercitium/posts/2014/04/30-primos_equidistantes/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función primosEquidistantes :: Integer -> [(Integer,Integer)] tal que (primosEquidistantes k) es la lista de los pares de primos cuya diferencia es k. Por ejemplo, take 3 (primosEquidista
Sets & heaps in Haskell and Rust. ~ James Bowen. https://mmhaskell.com/blog/2025/8/25/sets-amp-heaps-in-haskell-and-rust #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared August 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/25-readings_shared_08-24-25 #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 24 August 2025 are LeanGeo: Formalizing competitional geometry problems in Lean. ~ Chendong Song et als. #ITP #LeanProver #Math #LLMs To zip through the cost analysi
#Exercitium: Anagramas. https://jaalonso.github.io/exercitium/posts/2014/04/29-anagramas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Una palabra es una anagrama de otra si se puede obtener permutando sus letras. Por ejemplo, mora y roma son anagramas de amor. Definir la función anagramas :: String -> [String] -> [String] tal que
#Exercitium: Primos consecutivos con media capicúa. https://jaalonso.github.io/exercitium/posts/2014/04/28-primos_consecutivos_con_media_capicua/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función primosConsecutivosConMediaCapicua :: [(Int,Int,Int)] formada por las ternas (x,y,z) tales que x e y son primos consecutivos cuya media, z, es capicúa. Por ejemplo, λ> take 5 primo
#Exercitium: Mastermind. https://jaalonso.github.io/exercitium/posts/2014/04/25-mastermind/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
El Mastermind es un juego que consiste en deducir un numérico formado por una lista de números distintos. Cada vez que se empieza una partida, el programa debe elegir un código, que será lo que el ju
I'm writing a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The second post of the series that focuses on writing the #compiler is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm-compiler
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
To zip through the cost analysis of probabilistic programs. ~ Matthias Hetzenberger, Georg Moser, Florian Zuleger. https://arxiv.org/abs/2508.14249v1 #Haskell #FunctionalProgramming

arxiv.org
Probabilistic programming and the formal analysis of probabilistic algorithms are active areas of research, driven by the widespread use of randomness to improve performance. While functional correctness has seen substantial progress, automated reasoning about expected runtime remains comparatively limited. In this work, we address this challenge by introducing a refinement-typed probability monad in Liquid Haskell. Our monad enables automated reasoning about expected values and costs by encoding probabilistic behaviour directly in types. Initially defined for discrete distributions over finite support, it is extended to support infinite distributions via an axiomatic approach. By leveraging Liquid Haskell's SMT-based refinement type checking, our framework provides a high degree of automation. We evaluate our approach through four case studies: meldable heaps, coupon collector, randomised quicksort, and zip trees. The first two demonstrate automation with minimal annotation overhead. The latter two showcase how our monad integrates with interactive proofs, including the first formal verification of the expected runtime of zip trees.
Readings shared August 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/23-readings_shared_08-22-25 #Agda #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 22 August 2025 are Definite integrals, II: improper integrals. ~ Lawrence Paulson. #ITP #IsabelleHOL #Math Continuous and algebraic domains in univalent foundations.
#Exercitium: Determinación de los elementos minimales. https://jaalonso.github.io/exercitium/posts/2014/04/24-elementosminimales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función minimales :: Eq a => [[a]] -> [[a]] tal que (minimales xss) es la lista de los elementos de xss que no están contenidos en otros elementos de xss. Por ejemplo, minimales [[1,3],[2
#Exercitium: La bandera tricolor. https://jaalonso.github.io/exercitium/posts/2014/04/23-bandera_tricolor/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
El problema de la bandera tricolor consiste en lo siguiente: Dada un lista de objetos xs que pueden ser rojos, amarillos o morados, se pide devolver una lista ys que contiene los elementos de xs, prim
#Exercitium: Ordenación por el máximo. https://jaalonso.github.io/exercitium/posts/2014/04/22-ordenados_por_maximo/ #Haskell #FunctionalProgramming
jaalonso.github.io
Definir la función ordenadosPorMaximo :: Ord a => [[a]] -> [[a]] tal que λ> ordenadosPorMaximo [[3,2],[6,7,5],[1,4]] [[3,2],[1,4],[6,7,5]] λ> ordenadosPorMaximo ["este","es","el","primero"] ["el","p
#Exercitium: Iguales al siguiente. https://jaalonso.github.io/exercitium/posts/2014/04/21-iguales_al_siguiente/ #Haskell #FunctionalProgramming
jaalonso.github.io
Definir la función igualesAlSiguiente :: Eq a => [a] -> [a] tal que (igualesAlSiguiente xs) es la lista de los elementos de xs que son iguales a su siguiente. Por ejemplo, igualesAlSiguiente [1,2,2,
Applicative-wired monad pattern. ~ Chris Done. https://chrisdone.com/posts/applicative-wired-monad #Haskell #FunctionalProgramming
chrisdone.com
The Baby paradox in Haskell. ~ Justin Le. https://blog.jle.im/entry/the-baby-paradox-in-haskell.html #Haskell #FunctionalProgramming #Logic
blog.jle.im
Everybody Loves My Baby is a Jazz Standard from 1924 with the famous lyric: Everybody loves my baby, but my baby don’t love nobody but me. Which is often formalized as: \begin{align} \text{Axiom}_1 . & \forall x. \text{Loves}(x, \text{Baby}) \\ \text{Axiom}_2 . \forall x. & \text{Loves}(\text{Baby}, x) \implies x = me \end{align} Let’s prove in Haskell (in one line) that these two statements, taken together, imply that I am my own baby.
Readings shared August 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/21-readings_shared_08-20-25 #AI #ATP #FunctionalProgramming #Haskell #LLMs #Math #SAT_Solving
jaalonso.github.io
The readings shared in Bluesky on 20 August 2025 are Queen domination by SAT solving. ~ Taha Rostami, Curtis Bright. #ATP #SAT_Solving The price of intelligence (Three risks inherent in LLMs). ~ Mark
#Exercitium: Problemas de programación con Haskell (junio de 2014). https://jaalonso.github.io/exercitium/2014/06 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (julio de 2014). https://jaalonso.github.io/exercitium/2014/07 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (octubre de 2014). https://jaalonso.github.io/exercitium/2014/10 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (noviembre de 2014). https://jaalonso.github.io/exercitium/2014/11 #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared August 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/20-readings_shared_08-19-25 #Haskell #FunctionalProgramming #Math
jaalonso.github.io
The readings shared in Bluesky on 19 August 2025 are Granite: A library for producing terminal plots. It depends only on Haskell's base package so it should be easy to use and install. ~ Michael Chav
The GHC developers are very pleased to announce the availability of the first alpha prerelease of GHC 9.14.1.
Highlights:
* Major improvements to the Specialiser
* SSE/AVX support in the x86 native backend
* Significant improvements in the GHCi debugger
blog.haskell.org
#Exercitium: Problemas de programación con Haskell (diciembre de 2014). https://jaalonso.github.io/exercitium/2014/12 #Haskell #ProgramaciónFuncional #Matemáticas
New kid on the block: Granite is the new terminal plotting library from @mchav's dataframe project
https://discourse.haskell.org/t/granite-a-terminal-plotting-library/12778
github.com
A library for producing terminal plots. Contribute to mchav/granite development by creating an account on GitHub.
Granite: A library for producing terminal plots. It depends only on Haskell's base package so it should be easy to use and install. ~ Michael Chavinda. https://github.com/mchav/granite #Haskell #FunctionalProgramming
github.com
A library for producing terminal plots. Contribute to mchav/granite development by creating an account on GitHub.
Interesting that #haskell's "Alternative" has "some" and "many", but not "atMost", for example. Although it's easy to write.
Readings shared August 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/19-readings_shared_08-18-25 #Agda #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #Math #RustLang
jaalonso.github.io
The readings shared in Bluesky on 18 August 2025 are Formalizing axiomatics for first-order logic. ~ Jørgen Villadsen, Simon Tobias Lund, Anders Schlichtkrull. #ITP #IsabelleHOL #Logic Formal correct
#Exercitium: Problemas de programación con Haskell (enero de 2015). https://jaalonso.github.io/exercitium/2015/01 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (febrero de 2015). https://jaalonso.github.io/exercitium/2015/02 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (marzo de 2015). https://jaalonso.github.io/exercitium/2015/03 #Haskell #ProgramaciónFuncional #Matemáticas
Binary tree BFS: Zigzag order. ~ James Bowen. https://mmhaskell.com/blog/2025/8/18/binary-tree-bfs-zigzag-order #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Readings shared August 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/18-readings_shared_08-17-25 #Abella #Agda #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 17 August 2025 are Beyond booleans. ~ Dan Abramov. #ITP #LeanProver Counterpart-based quantified temporal logics. ~ Fabio Gadducci, Andrea Laretto, Davide Trotta. #I
Invertible syntax without the tuples (Functional Pearl). ~ Mathieu Boespflug, Arnaud Spiwack. https://arxiv.org/abs/2508.09856v1 #Haskell #FunctionalProgramming

arxiv.org
In the seminal paper Functional unparsing, Olivier Danvy used continuation passing to reanalyse printf-like format strings as combinators. In the intervening decades, the conversation shifted towards a concurrent line of work -- applicative, monadic or arrow-based combinator libraries -- in an effort to find combinators for invertible syntax descriptions that simultaneously determine a parser as well as a printer, and with more expressive power, able to handle inductive structures such as lists and trees. Along the way, continuation passing got lost. This paper argues that Danvy's insight remains as relevant to the general setting as it was to the restricted setting of his original paper. Like him, we present three solutions that exploit continuation-passing style as an alternative to both dependent types and monoidal aggregation via nested pairs, in our case to parse and print structured data with increasing expressive power.
Invertible syntax without the tuples (Functional Pearl). ~ Mathieu Boespflug, Arnaud Spiwack. https://arxiv.org/abs/2508.09856v1 #Haskell #FunctionalProgramming

arxiv.org
In the seminal paper Functional unparsing, Olivier Danvy used continuation passing to reanalyse printf-like format strings as combinators. In the intervening decades, the conversation shifted towards a concurrent line of work -- applicative, monadic or arrow-based combinator libraries -- in an effort to find combinators for invertible syntax descriptions that simultaneously determine a parser as well as a printer, and with more expressive power, able to handle inductive structures such as lists and trees. Along the way, continuation passing got lost. This paper argues that Danvy's insight remains as relevant to the general setting as it was to the restricted setting of his original paper. Like him, we present three solutions that exploit continuation-passing style as an alternative to both dependent types and monoidal aggregation via nested pairs, in our case to parse and print structured data with increasing expressive power.
Readings shared August 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/17-readings_shared_08-16-25 #Haskell #FunctionalProgramming #Math
jaalonso.github.io
The readings shared in Bluesky on 16 August 2025 are #Exercitium: Problemas de programación con Haskell (junio de 2015). #Haskell #ProgramaciónFuncional #Matemáticas #Exercitium: Problemas de program
#Exercitium: Problemas de programación con Haskell (abril de 2015). https://jaalonso.github.io/exercitium/2015/04 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (mayo de 2015). https://jaalonso.github.io/exercitium/2015/05 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (junio de 2015). https://jaalonso.github.io/exercitium/2015/06 #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared August 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/16-readings_shared_08-15-25 #AI #ATP #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Math #Rocq #Vampire
jaalonso.github.io
The readings shared in Bluesky on 15 August 2025 are Definite integrals, I: easy cases over finite intervals. ~ Lawrence Paulson. #ITP #IsabelleHOL #Math Revisiting the Fast Fourier Transform in Rocq
"Well-Typed at ZuriHac 2025"
https://well-typed.com/blog/2025/08/zurihac-well-typed-2025/
well-typed.com
#Exercitium: Problemas de programación con Haskell (octubre de 2015). https://jaalonso.github.io/exercitium/2015/10 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (noviembre de 2015). https://jaalonso.github.io/exercitium/2015/11 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (diciembre de 2015). https://jaalonso.github.io/exercitium/2015/12 #Haskell #ProgramaciónFuncional #Matemáticas
"Well-Typed at ZuriHac 2025"
https://well-typed.com/blog/2025/08/zurihac-well-typed-2025/
well-typed.com
Readings shared August 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/15-readings_shared_08-14-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 14 August 2025 are Type inference for plain data. ~ Gabriella Gonzalez. #Haskell #FunctionalProgramming Type-machine (Using Template Haskell to derive the structure
There's not one but TWO articles about optimizing Unison tooling by the illustrious Chris Penner in today's Haskell Weekly newsletter! Check it out!
Unison 💜 #Haskell
https://haskellweekly.news/issue/485.html?utm_source=mastodon
haskellweekly.news
News about the Haskell programming language from 2025-08-14.
#Exercitium: Problemas de programación con Haskell (enero de 2016). https://jaalonso.github.io/exercitium/2016/01 #Haskell #ProgramaciónFuncional #Matemáticas
Using traversals to batch database queries. ~ Chris Penner. https://chrispenner.ca/posts/traversals-for-batching #Haskell #FunctionalProgramming
chrispenner.ca
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Type-machine (Using Template Haskell to derive the structure of records and simulate structural subtyping). ~ Arthur Jamet. https://arthichaud.xyz/posts/type-machine/ #Haskell #FunctionalProgramming
arthi-chaud.github.io
Using Template Haskell to derive the structure of records and simulate structural subtyping
Type inference for plain data. ~ Gabriella Gonzalez. https://www.haskellforall.com/2025/08/type-inference-for-plain-data.html #Haskell #FunctionalProgramming
haskellforall.com
Type inference for plain data using Monoids The context behind this post is that my partner asked me how to ...
Type inference for plain data. ~ Gabriella Gonzalez. https://www.haskellforall.com/2025/08/type-inference-for-plain-data.html #Haskell #FunctionalProgramming
haskellforall.com
Type inference for plain data using Monoids The context behind this post is that my partner asked me how to ...
Readings shared August 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/14-readings_shared_08-13-25 ACL2 #AI #FunctionalProgramming #Haskell #ITP #LeanProver #Logic #Math #RustLang
jaalonso.github.io
The readings shared in Bluesky on 13 August 2025 are In-order traversal in Haskell and Rust. ~ James Bowen. #Haskell #FunctionalProgramming #RustLang First analysis lecture (June 16, 2025). ~ Alex Ko
#Exercitium: Problemas de programación con Haskell (febrero de 2016). https://jaalonso.github.io/exercitium/2016/02 #Haskell #ProgramaciónFuncional #Matemáticas
Super interesting talks at #BFPG tonight - STLC with explicit substitutions + #Nix flakes and #haskell-flake. Thanks to our speakers Donovan and Jack.
Our next session is Tue Sep 9th, with talks on hole-driven development, and #Gleam: https://lu.ma/kukbikp7
#Exercitium: Problemas de programación con Haskell (marzo de 2016). https://jaalonso.github.io/exercitium/2016/03 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (abril de 2016). https://jaalonso.github.io/exercitium/2016/04 #Haskell #ProgramaciónFuncional #Matemáticas
In-order traversal in Haskell and Rust. ~ James Bowen. https://mmhaskell.com/blog/2025/8/11/in-order-traversal-in-haskell-and-rust #Haskell #FunctionalProgramming #RustLang
mmhaskell.com
Brisbane Functional Programming Group #BFPG tomorrow Tue 12th! Explicit Substitutions pt2 (Donovan Crichton) + Overview of #Nix flake-parts and #haskell-flake (Jack Kelly). Be there or be a lambda cube! https://lu.ma/r002tby5
lu.ma
Agenda 18:00: Welcome and setup Presentation #1: Explicit Substitutions Part 2 - Donovan Crichton Presentation #2: Overview of flake-parts and haskell-flake -…
Readings shared August 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/11-readings_shared_08-10-25 #Agda #CategoryTheory #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Math #OCaml
jaalonso.github.io
The readings shared in Bluesky on 10 August 2025 are A practical formalization of monadic equational reasoning in dependent-type theory. ~ Reynald Affeldt, Jacques Garrigue, Takafumi Saikawa, #ITP #
#Exercitium: Problemas de programación con Haskell (mayo de 2016). https://jaalonso.github.io/exercitium/2016/05 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (noviembre de 2016). https://jaalonso.github.io/exercitium/2016/11 #Haskell #ProgramaciónFuncional #Matemáticas
Domain-specific tensor languages. ~ Jean-Philippe Bernardy, Patrik Jansson. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/domainspecific-tensor-languages/19B95794B66C66E117DFCFC7A21E22D5 #Haskell #FunctionalProgramming
cambridge.org
Domain-specific tensor languages - Volume 35
Readings shared August 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/10-readings_shared_08-09-25 #AI #FunctionalProgramming #Haskell #IMO #ITP #IsabelleHOL #LLMs #LeanProver #LogicProgramming #Math #Prolog
jaalonso.github.io
The readings shared in Bluesky on 9 August 2025 are Mission-time Linear Temporal Logic Formula Progression (in Isabelle/HOL). ~ Katherine Kosaian, Zili Wang. #ITP #IsabelleHOL Two-way deterministic f
#Exercitium: Problemas de programación con Haskell (diciembre de 2016). https://jaalonso.github.io/exercitium/2016/12 #Haskell #ProgramaciónFuncional #Matemáticas
Truly functional solutions to the longest uptrend problem (Functional pearl). ~ Alexander Dinges, Ralf Hinze. https://dl.acm.org/doi/pdf/10.1145/3747520 #Haskell #FunctionalProgramming
Teaching introductory functional programming using Haskelite. ~ Pedro Vasconcelos. https://arxiv.org/abs/2508.03640 #Haskell #FunctionalProgramming

arxiv.org
Learning functional programming requires learning a substitution-based computational model. While substitution should be a familiar concept from high-school algebra, students often have difficulty applying it to new settings, such as recursive definitions, algebraic data types and higher-order functions. Step-by-step interpreters have been shown to help beginners by clarifying misconceptions and improving understanding. This paper reports on the experience of using a step-by-step tracing interpreter for a subset of Haskell while teaching an introductory functional programming course at the University of Porto. We describe the use of the interpreter, present some feedback obtained from students, reflect on the lessons learned and point directions for further work.
Truly functional solutions to the longest uptrend problem (Functional pearl). ~ Alexander Dinges, Ralf Hinze. https://dl.acm.org/doi/pdf/10.1145/3747520 #Haskell #FunctionalProgramming
Teaching introductory functional programming using Haskelite. ~ Pedro Vasconcelos. https://arxiv.org/abs/2508.03640 #Haskell #FunctionalProgramming

arxiv.org
Learning functional programming requires learning a substitution-based computational model. While substitution should be a familiar concept from high-school algebra, students often have difficulty applying it to new settings, such as recursive definitions, algebraic data types and higher-order functions. Step-by-step interpreters have been shown to help beginners by clarifying misconceptions and improving understanding. This paper reports on the experience of using a step-by-step tracing interpreter for a subset of Haskell while teaching an introductory functional programming course at the University of Porto. We describe the use of the interpreter, present some feedback obtained from students, reflect on the lessons learned and point directions for further work.
Readings shared August 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/09-readings_shared_08-08-25 #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Logic #Math #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 8 August 2025 are Discrete mathematics with Lean 4. ~ Shrey Vivek./#/g/shreyvivek/gamemaker #ITP #LeanProver #Math Gödel's incompleteness theorem. ~ Thorsten Altenki
#Exercitium: Problemas de programación con Haskell (enero de 2017). https://jaalonso.github.io/exercitium/2017/01 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (febrero de 2017). https://jaalonso.github.io/exercitium/2017/02 #Haskell #ProgramaciónFuncional #Matemáticas
Type-level literals + GADTs = Type-safe AST representation for #nanopass #compilers in #Haskell? 🤔
Readings shared August 6, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/07-readings_shared_08-06-25 #AI #FunctionalProgramming #Haskell #Math #Neurosymbolic
jaalonso.github.io
The readings shared in Bluesky on 6 August 2025 are A comparative study of neurosymbolic AI approaches to interpretable logical reasoning. ~ Michael K. Chen. #Neurosymbolic #AI #Exercitium: Problemas
#Exercitium: Problemas de programación con Haskell (marzo de 2017). https://jaalonso.github.io/exercitium/2017/03 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (abril de 2017). https://jaalonso.github.io/exercitium/2017/04 #Haskell #ProgramaciónFuncional #Matemáticas
I have on occasion lamented that #Haskell isn't used more in scientific computing.
It's puzzling, because you would think that it's more important to a mathematician to understand their programs, than for them to run fast.
#Exercitium: Problemas de programación con Haskell (mayo de 2017). https://jaalonso.github.io/exercitium/2017/05 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (junio de 2017). https://jaalonso.github.io/exercitium/2017/06 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (noviembre de 2017). https://jaalonso.github.io/exercitium/2017/11 #Haskell #ProgramaciónFuncional #Matemáticas
#MULCIA: Haskell software engineer for remote position at IOG (Input Output Global). https://tinyurl.com/23x85sha #Jobs #Haskell #FunctionalProgramming
discourse.haskell.org
Company Overview IOG (Input Output Global) is a pioneering company in blockchain technology, recognized for its scientific and research-driven approach. The organization focuses on advancing decentralized finance (DeFi), digital governance, and identity solutions through peer-reviewed methodologies and secure, scalable, and sustainable blockchain systems. IOG operates as a fully decentralized entity, empowering innovation through a globally distributed team across more than 50 countries. Positi...
Readings shared August 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/05-readings_shared_08-04-25 #AI #CoqProver #FunctionalProgramming #Haskell #ITP #LLMs
jaalonso.github.io
The readings shared in Bluesky on 4 August 2025 are Cobblestone: Iterative automation for formal verification. ~ Saketh Ram Kasibatla, Arpan Agarwal, Yuriy Brun, Sorin Lerner, Talia Ringer, Emily Fir
Reflections on Haskell@Meta. ~ Simon Marlow. https://youtu.be/gEWBHP0PvRw #Haskell #FunctionalProgramming
youtube.com
Readings shared August 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/04-readings_shared_08-03-25 #AI #FunctionalProgramming #Haskell #IMO #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 3 August 2025 are AI at IMO 2025: a round-up. ~ Kevin Buzzard. #AI #LLMs #ITP #LeanProver #Math #IMO Formalization of harmonic analysis in Lean. ~ Wouter Bosse. #ITP
The talks of the 2025 Haskell Implementor's Workshop, also co-located with @zurihac are available on YouTube: https://www.youtube.com/playlist?list=PLQpeDZt0_xQfpBPdVV3hUZ3_pDxmYhsbr
youtube.com
The 17th Haskell Implementors’ Workshop was held on June 6th 2025 alongside ZuriHac and the Haskell Ecosystom Workshop near Zurich. The event was organized b...
The talks of the 2025 Haskell Implementor's Workshop, also co-located with @zurihac are available on YouTube: https://www.youtube.com/playlist?list=PLQpeDZt0_xQfpBPdVV3hUZ3_pDxmYhsbr
youtube.com
The 17th Haskell Implementors’ Workshop was held on June 6th 2025 alongside ZuriHac and the Haskell Ecosystom Workshop near Zurich. The event was organized b...
The talks of the 2025 Haskell Ecosystem Workshop, co-located with @zurihac, are now available on YouTube: https://www.youtube.com/playlist?list=PLQpeDZt0_xQe319u9EdkpxjibYFtGsugc
youtube.com
This workshop is aimed toward industrial practioners that leverage Haskell for non-trivial tools and applications. Navigating the landscape of Haskell featur...
Readings shared August 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/03-readings_shared_08-02-25 #FunctionalProgramming #Haskell #ITP #LLMs #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 2 August 2025 are Solving years-old math problems with Gemini 2.5 Deep Think. ~ Michel van Garrel. #LLMs #Math A formalization of multiplicative proof-nets in Rocq.
"Overloading harms type inference, so undesirable"
"OverloadedLists harms hole-driven development."
https://www.youtube.com/watch?v=CCDz-_aq5g0&t=2032s
I wonder what the presenter thinks about the QualifiedLiterals GHC proposal https://github.com/ghc-proposals/ghc-proposals/pull/698 In a way, that proposal aims to tame Overloaded-type extensions.
I'm starting a series of blog posts, in which I write a #bytecode #compiler and a #virtualMachine for arithmetic in #Haskell. We explore the following topics in the series:
- Parsing arithmetic expressions to ASTs.
- Compiling ASTs to bytecode.
- Interpreting ASTs.
- Efficiently executing bytecode in a VM.
- Disassembling bytecode and decompiling opcodes for debugging and testing.
- Unit testing and property-based testing for our compiler and VM.
- Benchmarking our code to see how the different passes perform.
- All the while keeping an eye on performance.
The first post of the series that focuses on writing the #parser is now out: https://abhinavsarkar.net/posts/arithmetic-bytecode-vm-parser/
abhinavsarkar.net
We write a fast bytecode VM for arithmetic in Haskell.
#Exercitium: Problemas de programación con Haskell (enero de 2018). https://jaalonso.github.io/exercitium/2018/01 #Haskell #ProgramaciónFuncional #Matemáticas
Fixed-point-oriented programming: A concise and elegant paradigm. ~ Yong Qi Foo, Brian Sze-Kai Cheong, Michael D. Adams. https://arxiv.org/abs/2507.21439v1 #Haskell #FunctionalProgramming

arxiv.org
Fixed-Point-Oriented Programming (FPOP) is an emerging paradigm designed to streamline the implementation of problems involving self-referential computations. These include graph algorithms, static analysis, parsing, and distributed computing-domains that traditionally require complex and tricky-to-implement work-queue algorithms. Existing programming paradigms lack direct support for these inherently fixed-point computations, leading to inefficient and error-prone implementations. This white paper explores the potential of the FPOP paradigm, which offers a high-level abstraction that enables concise and expressive problem formulations. By leveraging structured inference rules and user-directed optimizations, FPOP allows developers to write declarative specifications while the compiler ensures efficient execution. It not only reduces implementation complexity for programmers but also enhances adaptability, making it easier for programmers to explore alternative solutions and optimizations without modifying the core logic of their program. We demonstrate how FPOP simplifies algorithm implementation, improves maintainability, and enables rapid prototyping by allowing problems to be clearly and concisely expressed. For example, the graph distance problem can be expressed in only two executable lines of code with FPOP, while it takes an order of magnitude more code in other paradigms. By bridging the gap between theoretical fixed-point formulations and practical implementations, we aim to foster further research and adoption of this paradigm.
Readings shared August 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/02-readings_shared_08-01-25 #Haskell #LeanProver #Math #ProofAssistant
jaalonso.github.io
The readings shared in Bluesky on 1 August 2025 are Unconstrained optimization (in Isabelle/HOL). ~ Dustin Bryant. #ITP #IsabelleHOL #Math Seed-Prover: Deep and broad reasoning for automated theorem
#Exercitium: Problemas de programación con Haskell (febrero de 2018). https://jaalonso.github.io/exercitium/2018/02 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (marzo de 2018). https://jaalonso.github.io/exercitium/2018/03 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (abril de 2018). https://jaalonso.github.io/exercitium/2018/04 #Haskell #ProgramaciónFuncional #Matemáticas
Readings shared July 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/08/01-readings_shared_08-01-25 FunctionalProgramming #Haskell #LeanProver #Math #ProofAssistant
jaalonso.github.io
The readings shared in Bluesky on 31 July 2025 are The math is haunted. ~ Dan Abramov. #ProofAssistant #LeanProver #Math #Exercitium: Problemas de programación con Haskell (julio de 2018). #Haskell #
#Exercitium: Problemas de programación con Haskell (mayo de 2018). https://jaalonso.github.io/exercitium/2018/05 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (junio de 2018). https://jaalonso.github.io/exercitium/2018/06 #Haskell #ProgramaciónFuncional #Matemáticas
#Exercitium: Problemas de programación con Haskell (julio de 2018). https://jaalonso.github.io/exercitium/2018/07 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
The study loan (#HECS) repayment changes are now law. Here's how to calculate your repayment using the #Haskell *tax* library:
```
help = lesserOf ((flat 0.1) (marginal [(67000, 0.15),(125000,0.02)])
due = min helpBalance (getTax help repaymentIncome)
```
https://hackage-content.haskell.org/package/tax
Have fun!
Types and combinators for taxes
#Exercitium: Problemas de programación con Haskell (abril de 2022). https://jaalonso.github.io/exercitium/2022/04 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (mayo de 2022). https://jaalonso.github.io/exercitium/2022/05 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Exciting lineup for Brisbane Functional Programming Group #BFPG August 12 meetup: Explicit Substitutions pt2 (Donovan Crichton) + Overview of #Nix flake-parts and #haskell-flake (Jack Kelly). https://lu.ma/r002tby5
lu.ma
Agenda 18:00: Welcome and setup Presentation #1: Explicit Substitutions Part 2 - Donovan Crichton Presentation #2: Overview of flake-parts and haskell-flake -…
Readings shared July 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/30-readings_shared_07-29-25 #CoqProver #FormalVerification #FunctionalProgramming #Haskell #IMO #ITP #LLMs #LeanProver #MachineLearning #Math #ProofAssistant #Rocq #Rust
jaalonso.github.io
The readings shared in Bluesky on 29 July 2025 are Algorithmic conversion with surjective pairing: A syntactic and untyped approach. ~ Yiyun Liu, Stephanie Weirich. #FormalVerification #ProofAssistan
#Exercitium: Problemas de programación con Haskell (junio de 2022). https://jaalonso.github.io/exercitium/2022/06 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (julio de 2022). https://jaalonso.github.io/exercitium/2022/07 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (noviembre de 2018). https://jaalonso.github.io/exercitium/2018/11 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Comparing codes: Spiral matrix (another matrix layer problem). ~ James Bowen. https://mmhaskell.com/blog/2025/7/28/spiral-matrix-another-matrix-layer-problem #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Readings shared July 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/29-readings_shared_07-28-25 #FormalVerification #FunctionalProgramming #Haskell #LeanProver #Logic #Math #ProofAssistant
jaalonso.github.io
The readings shared in Bluesky on 28 July 2025 are Gödel's first incompleteness theorem (in Lean4). #FormalVerification #ProofAssistant #LeanProver #Logic #Math Formalized formal logic (in Lean4). #F
#Exercitium: Problemas de programación con Haskell (diciembre de 2018). https://jaalonso.github.io/exercitium/2018/12 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (enero de 2019). https://jaalonso.github.io/exercitium/2019/01 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Readings shared July 27, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/28-readings_shared_07-27-25 #AI4Math #Agda #FormalVerification #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #ProofAssistants #Rocq
jaalonso.github.io
The readings shared in Bluesky on 27 July 2025 are Formally verified suffix array construction (in Isabelle/HOL). ~ Louis Cheung, Alistair Moffat, Christine Rizkallah. #FormalVerification #ProofAssis
#Exercitium: Problemas de programación con Haskell (febrero de 2019). https://jaalonso.github.io/exercitium/2019/02 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Formally verified suffix array construction (in Isabelle/HOL). ~ Louis Cheung, Alistair Moffat, Christine Rizkallah. https://link.springer.com/article/10.1007/s10817-025-09735-8 #FormalVerification #ProofAssistants #IsabelleHOL #Haskell #FunctionalProgramming
link.springer.com
Suffix arrays are a data structure with numerous real-world applications. They are extensively used in text retrieval and data compression applications, including query suggestion mechanisms in web search, and in bioinformatics tools for DNA sequencing and matching. This wide applicability means that algorithms for constructing suffix arrays are of great practical importance. The SA-IS algorithm is an efficient but conceptually complex suffix array construction technique, and implementing it requires a deep understanding of its underlying theory. As a critical step towards developing a provably correct and efficient implementation, we have developed the SA-IS algorithm in Isabelle/HOL and formally verified that it is equivalent to a mathematical functional specification of suffix arrays, a task that required verifying a wide range of underlying properties of strings and suffixes. We also used Isabelle’s code extraction facilities to extract an executable Haskell implementation of SA-IS, which albeit is inefficient due to using lists and natural numbers rather than arrays and machine words, demonstrates that our verified HOL implementation of SA-IS can be refined to an executable implementation in its current form.
Readings shared July 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/27-readings_shared_07-26-25 #Emacs #FunctionalProgramming #Haskell #Logic #Math #OrgMode
jaalonso.github.io
The readings shared in Bluesky on 26 July 2025 are Higher order logic. ~ Mark Jago. #Logic My Emacs writing experience. ~ Sacha Chua. #Emacs #Org Finding the shape of my thoughts. ~ Sacha Chua. #Emac
📣『俺々言語にだって型推論が欲しい!』も印刷版が買えるようになりました! #Haskell #型推論 #同人誌 #技術書典 https://kakkun61.booth.pm/items/1317485
kakkun61.booth.pm
型推論器を自作することでそのしくみを理解しようという書籍です。 シンプルな言語を定義し、それに対して型推論する方法を紹介しています。 前半3分の2は理論の説明で、後半3分の1は実装の解説です。 実装には Haskell を用いていますが、理論の説明を読んで各々好きな言語で実装すればよいです。 印刷版には電子版が付属します。
📣『手続き Haskell』も印刷版が買えるようになりました! #Haskell #同人誌 #技術書典 https://kakkun61.booth.pm/items/829369
kakkun61.booth.pm
本書は Haskell における手続きプログラミングについて解説した書籍です。 手続きプログラマーにこそ読んでほしい Haskell の書籍です。 本書の目的には2つあります。 • 1つは、Haskell というと実際以上に関数プログラミングであるという印象の人が多いのでその解消をする。 • もう1つは、Haskell が読めるけど書けないという人への手助けとする。これは関数プログラミング的アプローチを一旦やめることで、Haskell が書けるとすることです。 また、手続きプログラミングから関数プログラミングへの書き換えについても触れています。 印刷版には電子版が付属します。
#Exercitium: Problemas de programación con Haskell (marzo de 2019). https://jaalonso.github.io/exercitium/2019/03 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (abril de 2019). https://jaalonso.github.io/exercitium/2019/04 #Haskell #ProgramaciónFuncional #matematicas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (mayo de 2019). https://jaalonso.github.io/exercitium/2019/05 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell (junio de 2019). https://jaalonso.github.io/exercitium/2019/06 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Readings shared July 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/26-readings_shared_07-25-25 #ACL2 #AI4Math #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 25 July 2025 are A formalization of elementary linear algebra: Part I. ~ David Russinoff. #ITP #ACL2 #Math A formalization of elementary linear algebra: Part II. ~ D
#Exercitium: Problemas de programación con Haskell de noviembre de 2019. https://jaalonso.github.io/exercitium/2019/11 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell de diciembre de 2019. https://jaalonso.github.io/exercitium/2019/12 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
A Liquid Haskell kick-start. ~ Xavier Góngora. https://ninioartillero.github.io/2025/04/15/lh-kickstart.html #Haskell #FunctionalProgramming
ninioartillero.github.io
In this tutorial post, I introduce Liquid Haskell (LH), present a step-by-step installation procedure, and work through a simple example of its use. As a bonus, we will see how to use a local LH build in our projects.
Readings shared July 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/25-readings_shared_07-24-25 #AI #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 24 July 2025 are Formally verifying automata for trusted decision procedures. ~ Zhaobo (Aeacus) Sheng. #ITP #LeanProver Competitive programming in Haskell: sparse ta
#Exercitium: Problemas de programación con Haskell de enero de 2020. https://jaalonso.github.io/exercitium/2020/01 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
あの『モナドドリル』が、ウェブでも印刷版を買えるようになりました! 注文されたら @kakkun61 がちまちま梱包して郵送に出します! 他の同人誌も1週間をめどに追加予定です https://kakkun61.booth.pm/items/7222359 #booth_pm #技術書典 #Haskell #同人誌
kakkun61.booth.pm
モナドの読解力と利用力がつく! 印刷版には PDF が付属します。
Cabal 3.16 is released with numerous quality-of-life improvements! https://blog.haskell.org/cabal-3-16-0-0-release/
blog.haskell.org
The Haskell Unfolder Episode 47: Pure parallelism. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/trDqqZldxQA #Haskell #FunctionalProgramming
youtube.com
"Pure parallelism" refers to the execution of pure Haskell functions on multipleCPU cores, (hopefully) speeding up the computation. Since we are still dealin...
Type-level programming for safer resource management. ~ Fraser Tweedale. https://frasertweedale.github.io/blog-fp/posts/2025-07-19-type-nats-and-constraints.html #Haskell #FunctionalProgramming
frasertweedale.github.io
I find type-level naturals useful for enforcing proper usage of APIs or protocols that involve transactions, locking, memory (de)allocation, and similar concerns. In this post I demonstrate the main idea and discuss some of the shortcomings when using this technique with Haskell.
Cabal 3.16 is released with numerous quality-of-life improvements! https://blog.haskell.org/cabal-3-16-0-0-release/
blog.haskell.org
Inlining in the Glasgow Haskell Compiler: empirical investigation and improvement. ~ Celeste Hollenbeck. https://era.ed.ac.uk/bitstream/handle/1842/43690/Hollenbeck2025.pdf #Haskell #FunctionalProgramming
Four ways of declaring interfaces in Haskell. ~ Marco Perone. https://marcosh.github.io/post/2025/07/22/four-ways-of-declaring-interfaces-in-haskell.html #FunctionalProgramming #haskell
marcosh.github.io
Four ways of declaring interfaces in Haskell
Competitive programming in Haskell: sparse tables. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/07/18/sparse-table.html #Haskell #FunctionalProgramming
byorgey.github.io
Readings shared July 23, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/24-readings_shared_07-23-25 #AI #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 23 July 2025 are Seed-Prover: Reasoning wide and deep for automated math theorem proving. #AI #Math #LLMs #ITP #LeanProver Seed-Prover achieves IMO 2025 silver score
#Exercitium: Problemas de programación con Haskell de febrero de 2020. https://jaalonso.github.io/exercitium/2020/02 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Join us today, 2025-07-23, 1830 UTC, live on YouTube for a new episode of the #Haskell #Unfolder, this time on "pure parallelism".
https://www.youtube.com/watch?v=trDqqZldxQA&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=47
youtube.com
"Pure parallelism" refers to the execution of pure Haskell functions on multipleCPU cores, (hopefully) speeding up the computation. Since we are still dealin...
Readings shared July 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/23-readings_shared_07-22-25 #FunctionalProgramming #Haskell #IMO #ITP #LLMs #Math #Rocq #Rust
jaalonso.github.io
The readings shared in Bluesky on 22 July 2025 are A parametricity-based formalization of semi-simplicial and semi-cubical sets. ~ Hugo Herbelin, Ramkumar Ramachandra. #ITP #Rocq Comparing codes: Ima
Comparing codes: Image rotation (Mutable arrays in Haskell). ~ James Bowen. https://mmhaskell.com/blog/2025/7/21/image-rotation-mutable-arrays-in-haskell #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Readings shared July 21, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/22-readings_shared_07-21-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 21 July 2025 are Representability and formalization of (distributive quasi) relation algebras. ~ Peter Jipsen. #ITP #LeanProver #IsabelleHOL #Rocq #Math #Exercitium:
#Exercitium: Problemas de programación con Haskell de marzo de 2020. https://jaalonso.github.io/exercitium/2020/03 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell de abril de 2020. https://jaalonso.github.io/exercitium/2020/04 #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#haskell pretty print structured data, recommendations? I currently recurse over my structure, tracking indentation level. Works, but is definitely a little clumsy.
Readings shared July 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/20-readings_shared_07-19-25 #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math #Mathlib #Reasoning #Rocq
jaalonso.github.io
The readings shared in Bluesky on 18 July 2025 are Formalization of derived categories in Lean/Mathlib. ~ Joël Riou. #ITP #LeanProver #Math A formalised approach to the composition of processes over
#Exercitium: Problemas de programación con Haskell de mayo de 2020. https://jaalonso.github.io/exercitium/2020/05 #Haskell #FunctionalProgramming #Math
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell de junio de 2020. https://jaalonso.github.io/exercitium/2020/06 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
The calculated typer (Functional Pearl). ~ Zac Garby, Patrick Bahr, Graham Hutton. https://people.cs.nott.ac.uk/pszgmh/typer.pdf #Haskell #FunctionalProgramming
Readings shared July 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/19-readings_shared_07-18-25 #ACL2 #CompSci #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Rocq #Rust #Teaching
jaalonso.github.io
The readings shared in Bluesky on 18 July 2025 are Teaching software specification (Experience report). ~ Cameron Moy, Daniel Patterson. #CompSci #Teaching #ITP #LeanProver #ACL2 CSLib: An open-sourc
Comparing codes: Binary search in a 2D matrix. ~ James Bowen. https://mmhaskell.com/blog/2025/7/14/binary-search-in-a-2d-matrix #Haskell #FunctionalProgramming #Rust
mmhaskell.com
"C is a simple language. This is fact I agree with and appreciate. It is the reason for C's endurance. If someone posts a patch or submits a PR to a codebase written in C, it is easier to review than any other mainstream language. There is no spooky at a distance."
mnvr.in
Without writing a single line of Rust, why I feel it might be right
Readings shared July 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/18-readings_shared_07-17-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 17 July 2025 are Teaching mathematics with Lean: Interactive theorem provers in the classroom. ~ Paola Iannone, Gihan Marasingha, Athina Thoma. #ITP #LeanProver #Mat
#Exercitium: Problemas de programación con Haskell de enero de 2021. https://jaalonso.github.io/exercitium/2021/01 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Readings shared July 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/17-readings_shared_07-16-25 #CoqProver #FunctionalProgramming #Haskell #ITP #LeanProver #Lisa #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 16 July 2025 are Formalization of derived categories in Lean/Mathlib. ~ Joël Riou. #ITP #LeanProver #Math Formalizing zeta and L-functions in Lean. ~ David Loeffler,
FGL: a functional graph library (2002) via @fanf https://lobste.rs/s/jfyek4 #haskell #ml
http://web.engr.oregonstate.edu/~erwig/fgl/
web.engr.oregonstate.edu
#Exercitium: Problemas de programación con Haskell de febrero de 2021. https://jaalonso.github.io/exercitium/2021/02 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Readings shared July 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/16-readings_shared_07-15-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 15 July 2025 are Using Lean like an external SMT solver from Python. ~ Philip Zucker. #ITP #LeanProver IMO 1996 P3: Lean 4 formalization. ~ David Renshaw. #ITP #Lean
GHC will start maintaining an LTS release – https://blog.haskell.org/ghc-lts-releases/ by Andreas Klebinger
blog.haskell.org
GHC will start maintaining an LTS release – https://blog.haskell.org/ghc-lts-releases/ by Andreas Klebinger
blog.haskell.org
GHC will start maintaining an LTS release – https://blog.haskell.org/ghc-lts-releases/ by Andreas Klebinger
blog.haskell.org
#Exercitium: Problemas de programación con Haskell de marzo de 2021. https://jaalonso.github.io/exercitium/2021/03 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Suffering from the scourge of insomnia? Want to fall asleep to the sounds of a Haskell application being assembled component by component?
If so, you're in luck. In this 1-hour video I give a demo of how to use the "cauldron" library to wire all the components of a Haskell application at the composition root.
youtube.com
This is an example of how to use the "cauldron" library for wiring a small Haskell application. The application is structured as a bunch of records-of-functi...
#Exercitium: Problemas de programación con Haskell de abril de 2021. https://jaalonso.github.io/exercitium/2021/04 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell de mayo de 2021. https://jaalonso.github.io/exercitium/2021/05 #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
#Exercitium: Problemas de programación con Haskell de junio de 2021. https://jaalonso.github.io/exercitium/2021/06/ #Haskell #FunctionalProgramming
jaalonso.github.io
Ejercicios de programación con Haskell y Python.
Readings shared July 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/14-readings_shared_07-13-25 #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver
jaalonso.github.io
The readings shared in Bluesky on 13 July 2025 are Formalizing quasi-categories in Lean. ~ Jack McKoen. #ITP #LeanProver A simple AI chatbot (ChatGPT clone) built entirely in Haskell. ~ Tushar Adhatr
A simple AI chatbot (ChatGPT clone) built entirely in Haskell. ~ Tushar Adhatrao. https://github.com/tusharad/ai-chatbot-hs #Haskell #FunctionalProgramming #LLMs
github.com
AI Chatbot using Hyperbole and langchain-hs. Contribute to tusharad/ai-chatbot-hs development by creating an account on GitHub.
Readings shared July 12, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/13-readings_shared_07-12-25 #ASP #ATP #CLP #CategoryTheory #CoqProver #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Prolog #ProofTheory #Prover9
jaalonso.github.io
The readings shared in Bluesky on 12 July 2025 are A formalization of divided powers in Lean. ~ Antoine Chambert-Loir, María Inés de Frutos-Fernández. #ITP #LeanProver #Math Completeness of the decre
After 15 years of writing #Haskell code, I think I am finally ready to understand Lenses and Optics.
Categorical semantics in Haskell. ~ Mohamed Amine Ayari. https://kondylidou.github.io/assets/pdf/BA-mohamed.pdf #Haskell #FunctionalProgramming #CategoryTheory
Generic second-order matching, higher-order preunification and pattern unification - Implementations in Haskell. ~ Nikolai Kudasov et als. https://hal.science/hal-05148806/document #Haskell #FunctionalProgramming
SBV v12.0 "much enhanced interface and support for semi-automated theorem proving"
https://discourse.haskell.org/t/formally-verify-haskell-code/7301/18
https://www.reddit.com/r/haskell/comments/1lrk600/announce_a_new_release_of_sbv_v120_is_released_on/
SMT Based Verification: Symbolic Haskell theorem prover using SMT solving.
Readings shared July 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/11-readings_shared_07-10-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL
jaalonso.github.io
The readings shared in Bluesky on 10 July 2025 are The Haskell Unfolder Episode 46: Developing an application from scratch. ~ Edsko de Vries, Andres Löh. #Haskell #FunctionalProgramming Curso "Razona
Packaging #Haskell code for easy Swift interoperability: easy thanks to these tips: https://alt-romes.github.io/posts/2025-07-05-packaging-a-haskell-library-as-a-swift-binary-xcframework.html @haskell
alt-romes.github.io
Announcing <code>xcframework</code> or: the happy path for wiring a Haskell dependency to your Swift app
To those who could not attend #ZuriHac 2025, we salute you!
The videos of this year's talks are now available https://discourse.haskell.org/t/zurihac-2025-videos-online/12430
discourse.haskell.org
Hi Everyone It was great to see you at ZuriHac 2025. In case you couldn’t attend, or would like to relive the magic, the recordings from the event are now online at: ZuriHac 2025 Playlist – Talks, Panels & Projects from the Haskell Community In this playlist, you’ll find talks on: 🎓 Education, Pedagogy and Community Zoe Kooyman on freedom-preserving software, ethics, and empowering developers through appropriate software licensing Richard Southwell on category theory Tom Ell...
To those who could not attend #ZuriHac 2025, we salute you!
The videos of this year's talks are now available https://discourse.haskell.org/t/zurihac-2025-videos-online/12430
discourse.haskell.org
Hi Everyone It was great to see you at ZuriHac 2025. In case you couldn’t attend, or would like to relive the magic, the recordings from the event are now online at: ZuriHac 2025 Playlist – Talks, Panels & Projects from the Haskell Community In this playlist, you’ll find talks on: 🎓 Education, Pedagogy and Community Zoe Kooyman on freedom-preserving software, ethics, and empowering developers through appropriate software licensing Richard Southwell on category theory Tom Ell...
The Haskell Unfolder Episode 46: Developing an application from scratch. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/5W0ZUY_l1dU #Haskell #FunctionalProgramming
youtube.com
In this episode targeted at beginners, we show the end-to-end application development process, starting from an empty directory. We'll consider package confi...
Readings shared July 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/10-readings_shared_07-09-25 #ACL2 #CAS #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math #Rust #SAT
jaalonso.github.io
The readings shared in Bluesky on 9 July 2025 are Formalising the local compactness of the adele ring. ~ Salvatore Mercuri. #ITP #LeanProver #Math Doing Lean dirty: Lean as a Jupyter notebook replace
To those who could not attend #ZuriHac 2025, we salute you!
The videos of this year's talks are now available https://discourse.haskell.org/t/zurihac-2025-videos-online/12430
discourse.haskell.org
Hi Everyone It was great to see you at ZuriHac 2025. In case you couldn’t attend, or would like to relive the magic, the recordings from the event are now online at: ZuriHac 2025 Playlist – Talks, Panels & Projects from the Haskell Community In this playlist, you’ll find talks on: 🎓 Education, Pedagogy and Community Zoe Kooyman on freedom-preserving software, ethics, and empowering developers through appropriate software licensing Richard Southwell on category theory Tom Ell...
Today, Wednesday, 2025-07-09, at 1830 UTC, there's going to be a new episode of the #Haskell #Unfolder. Edsko and I will show how to develop a small but useful Haskell CLI application completely from scratch.
https://www.youtube.com/watch?v=5W0ZUY_l1dU&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=46
youtube.com
In this episode targeted at beginners, we show the end-to-end application development process, starting from an empty directory. We'll consider package confi...
Comparing codes: Binary search in Haskell and Rust. ~ James Bowen. https://mmhaskell.com/blog/2025/7/7/binary-search-in-haskell-and-rust #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Readings shared July 7, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/08-readings_shared_07-07-25 #Coq #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Maxima
jaalonso.github.io
The readings shared in Bluesky on 7 July 2025 are Lean: a theorem prover and programming language that enables correct, maintainable, and formally verified code. #ITP #LeanProver #FunctionalProgrammi
Better infrastructure, fewer surprises. We’re raising $6K for a dedicated ARM server to support #Haskell’s infrastructure - CI, backups, and more. Let’s build infra you can reliably pattern match on. Every contribution helps!
Donate: https://donorbox.org/infrastructure-independence
Read more: https://discourse.haskell.org/t/infrastructure-independence/12419
discourse.haskell.org
Better Equipped Infrastructure We’re hosting a fundraiser! For the next four weeks, any donations made via Infrastructure Independence | Haskell.org, Inc (Powered by Donorbox), will be used solely for Haskell infrastructure and no other HF related initiatives. Historically, the Haskell community has relied on a mix of cloud providers and self-hosted servers for our core infrastructure (Hackage, Stackage, GHC, CI, etc.). More recently the Haskell Infrastructure team has completed a migration of ...
Exámenes de programación funcional con Haskell (curso 2019-20). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol11/master/Libro/Examenes_de_PF_con_Haskell_Vol11.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2019-20). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-19/ejercicios/ejercicios-I1M-2019.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2019-20). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-19/temas/2019-20-I1M-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2019-20)". https://jaalonso.github.io/cursos/i1m-19 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Better infrastructure, fewer surprises. We’re raising $6K for a dedicated ARM server to support #Haskell’s infrastructure (CI, backups, etc). Let’s build infra you can rely on! Every contribution helps!
Donate: https://donorbox.org/infrastructure-independence
Read more: https://discourse.haskell.org/t/infrastructure-independence/12419
discourse.haskell.org
Better Equipped Infrastructure We’re hosting a fundraiser! For the next four weeks, any donations made via Infrastructure Independence | Haskell.org, Inc (Powered by Donorbox), will be used solely for Haskell infrastructure and no other HF related initiatives. Historically, the Haskell community has relied on a mix of cloud providers and self-hosted servers for our core infrastructure (Hackage, Stackage, GHC, CI, etc.). More recently the Haskell Infrastructure team has completed a migration of ...
Better infrastructure, fewer surprises. We’re raising $6K for a dedicated ARM server to support #Haskell’s infrastructure (CI, backups, etc). Let’s build infra you can rely on! Every contribution helps!
Donate: https://donorbox.org/infrastructure-independence
Read more: https://discourse.haskell.org/t/infrastructure-independence/12419
discourse.haskell.org
Better Equipped Infrastructure We’re hosting a fundraiser! For the next four weeks, any donations made via Infrastructure Independence | Haskell.org, Inc (Powered by Donorbox), will be used solely for Haskell infrastructure and no other HF related initiatives. Historically, the Haskell community has relied on a mix of cloud providers and self-hosted servers for our core infrastructure (Hackage, Stackage, GHC, CI, etc.). More recently the Haskell Infrastructure team has completed a migration of ...
Better infrastructure, fewer surprises. We’re raising $6K for a dedicated ARM server to support #Haskell’s infrastructure - CI, backups, and more. Let’s build infra you can reliably pattern match on. Every contribution helps!
Donate: https://donorbox.org/infrastructure-independence
Read more: https://discourse.haskell.org/t/infrastructure-independence/12419
discourse.haskell.org
Better Equipped Infrastructure We’re hosting a fundraiser! For the next four weeks, any donations made via Infrastructure Independence | Haskell.org, Inc (Powered by Donorbox), will be used solely for Haskell infrastructure and no other HF related initiatives. Historically, the Haskell community has relied on a mix of cloud providers and self-hosted servers for our core infrastructure (Hackage, Stackage, GHC, CI, etc.). More recently the Haskell Infrastructure team has completed a migration of ...
Brisbane Functional Programming Group #BFPG tomorrow 2025-07-08: #Pandoc + #Hakyll. Be there or be a lambda cube! https://lu.ma/waqpteiq #FP #Haskell
lu.ma
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Introduction to Pandoc by Siva Kalyan Presentation #2:…
Oh là là just dropped:
2.5 hour "Introduction To Category Theory"
by Richard Southwell
https://youtu.be/H32kyA4BMz4
#categorytheory #haskell #ZuriHac #ZuriHac2025 #functionalprogramming
HT @zurihac
youtube.com
This is a recording of the 2.5 hour "Introduction To Category Theory" talk I was invited to give at ZuriHac 2025 Haskell conference. In the talk I start fro...
Oh là là just dropped:
2.5 hour "Introduction To Category Theory"
by Richard Southwell
https://youtu.be/H32kyA4BMz4
#categorytheory #haskell #ZuriHac #ZuriHac2025 #functionalprogramming
HT @zurihac
youtube.com
This is a recording of the 2.5 hour "Introduction To Category Theory" talk I was invited to give at ZuriHac 2025 Haskell conference. In the talk I start fro...
Readings shared July 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/06-readings_shared_07-05-25 #AI #CoqProver #FormalMethods #FunctionalProgramming #Haskell #ITP #LeanProver #Math #Maxima #PVS #Rocq
jaalonso.github.io
The readings shared in Bluesky on 5 July 2025 are The filter game (in Lean 4). ~ Kevin Buzzard. #ITP #LeanProver #Math Formal verification of quantum stabiliser codes by stabiliser formalism. ~ Qiuyi
A short video about structuring multiple resource allocations in Haskell using the "Managed" datatype
youtube.com
A small example of using Gabriella Gonzalez's "managed" library to structure a sequence of resource allocations.Correction:13:41 I meant "the Monoid instance...
Exámenes de programación funcional con Haskell (curso 2018-19). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol10/master/Libro/Examenes_de_PF_con_Haskell_Vol10.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2018-19). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-18/ejercicios/ejercicios-I1M-2018.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2018-19). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-18/temas/2018-19-I1M-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2018-19)". https://jaalonso.github.io/cursos/i1m-18 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
A diagrammatic calculus for a functional model of natural language semantics. ~ Matthieu Pierre Boyer. https://arxiv.org/abs/2507.00782v1 #Haskell #FunctionalProgramming

arxiv.org
In this paper, we study a functional programming approach to natural language semantics, allowing us to increase the expressivity of a more traditional denotation style. We will formalize a category based type and effect system, and construct a diagrammatic calculus to model parsing and handling of effects, and use it to efficiently compute the denotations for sentences.
Implementing a type theory with observational equality, using normalisation by evaluation. ~ Matthew Sirman, Meven Lennon-Bertrand, Neel Krishnaswami. https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.TYPES.2024.5 #Haskell #FunctionalProgramming
drops.dagstuhl.de
Readings shared July 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/05-readings_shared_07-04-25 #CategoryTheory #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math #Rust #TypeTheory
jaalonso.github.io
The readings shared in Bluesky on 4 July 2025 are LeanConjecturer: Automatic generation of mathematical conjectures for theorem proving. ~ Naoto Onda et als. #ITP #LeanProver #Math #LLMs An introduct
Reflections on Haskell and Rust. ~ Sibi Prabakaran. https://academy.fpblock.com/blog/rust-haskell-reflections #Haskell #FunctionalProgramming #Rust
tech.fpcomplete.com
Haskell vs. Rust: A production-level comparison of two languages.
Brisbane Functional Programming Group #BFPG next week: #Pandoc + #Hakyll double header! Come learn about these amazing tools (yes, real world #Haskell!). #FP newcomers are always welcome! https://lu.ma/waqpteiq
lu.ma
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: Introduction to Pandoc by Siva Kalyan Presentation #2:…
I'm sorry but couldn't the #haskell people have chosen something less funny than .|. for bitwise OR?
#introduction mreeow! Hi! My name is Momo! I'm a transfemme, and she/they is my preferred pronouns.
I code as a hobby in #rust and #haskell. I also use #nixos as my main daily driver since last year.
I enjoy creating casual game mods in my free time, including Stardew Valley, #twohoursonelife, and various other games.
I also love playing Cataclysm: Bright Nights (#cbn) and #Stardew Valley. Sometimes, #widelands, and #openttd too, because why not? I like the look and feel of these games.
During the weekends, I try to finish reading a fantasy book or two, if I'm feeling reaaaaally cozy
I will be posting about techy stuff that I encounter (mainly #nix and #rust), share my gaming experiences, and rant about random things, ranging from politics to personal life.
And I like to sip a cup of coffee while watching camping videos, too, for some reason.
Feel free to follow me if you want to hear more of my blabbing!
PS: I will put distressing or NSFW posts behind CW.
Readings shared June 30, 2025. https://jaalonso.github.io/vestigium/posts/2025/07/01-readings_shared_07-01-25 #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #Maxima #Teaching
jaalonso.github.io
The readings shared in Bluesky on 30 June 2025 are Teaching children thinking. ~ Seymour A. Papert (1971). #CompSci #Teaching Curso "Lógica matemática y fundamentos (2016-17)". #Lógica #Haskell #Prog
Curso "Lógica matemática y fundamentos (2016-17)". https://jaalonso.github.io/cursos/lmf-16 #Lógica #Haskell #ProgramaciónFuncional #IsabelleHOL
Exámenes de programación funcional con Haskell (curso 2017-18). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol9/master/Libro/Examenes_de_PF_con_Haskell_Vol9.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2017-18). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-17/ejercicios/ejercicios-I1M-2017.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2017-18). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-17/temas/2017-18-IM-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2017-18)". https://jaalonso.github.io/cursos/i1m-17 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Readings shared June 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/30-readings_shared_06-29-25 #AI #FunctionalProgramming #Haskell #ITP #Idris #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Maxima #Prolog #Rocq
jaalonso.github.io
The readings shared in Bluesky on 29 June 2025 are Constructing the Lie algebra of smooth vector fields on a Lie group in Isabelle/HOL. ~ Richard Schmoetten, Jacques D. Fleuriot. #ITP #IsabelleHOL #M
Exámenes de programación funcional con Haskell (curso 2015-16). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol8/master/Libro/Examenes_de_PF_con_Haskell_Vol8.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2015-16). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-16/ejercicios/ejercicios-I1M-2016.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2016-17). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-16/temas/2016-17-IM-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2016-17)". https://jaalonso.github.io/cursos/i1m-16 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Curso "Lógica matemática y fundamentos (2015-16)". https://jaalonso.github.io/cursos/lmf-15 #Lógica #Haskell #ProgramaciónFuncional #IsabelleHOL
Exámenes de programación funcional con Haskell (curso 2015–16). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol7/master/Libro/Examenes_de_PF_con_Haskell_Vol7.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2015–16). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-15/ejercicios/ejercicios-I1M-2015.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2015-16). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-15/temas/2015-16-IM-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2015-16)". https://jaalonso.github.io/cursos/i1m-15 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
The #haskell ByteString functions like "take" and "drop" take "Int64" instead of plain "Int". Curious. 🤔
Functional programming (with some type theory) for metrology. ~ André Videla, Keith Lines. https://eprintspublications.npl.co.uk/10181/1/MS60.pdf #Haskell #Idris #FunctionalProgramming
Readings shared June 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/29-readings_shared_06-28-25 #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Prologp
jaalonso.github.io
The readings shared in Bluesky on 28 June 2025 are IsaBIL: A framework for verifying (in)correctness of binaries in Isabelle/HOL. ~ Matt Griffin, Brijesh Dongol, Azalea Raad. #ITP #IsabelleHOL Multip
Curso "Lógica matemática y fundamentos (2014-15)". https://jaalonso.github.io/cursos/lmf-14 #Lógica #Haskell #ProgramaciónFuncional #IsabelleHOL
Competitive programming in Haskell: prefix sums. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/06/27/prefix-sums.html #Haskell #FunctionalProgramming
byorgey.github.io
Readings shared June 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/27-readings_shared_06-26-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 26 June 2025 are The correspondence between affine group schemes and Hopf algebras (in Lean). ~ Yaël Dillies, Michał Mrugała, Andrew Yang. #ITP #LeanProver #Math Sea
Solving LinkedIn queens with Haskell. ~ Agnishom Chattopadhyay. https://imiron.io/post/linkedin-queens/ #Haskell #FunctionalProgramming
imiron.io
Solving LinkedIn Queens in the LogicT monad
The Haskell Unfolder Episode 45: Haskell records in 2025. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/9hrDm7xDpig #Haskell #FunctionalProgramming
youtube.com
Haskell records as originally designed have had a reputation of being somewhat weird or, at worst, useless. A lot of features and modifications have been pro...
Readings shared June 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/26-readings_shared_06-25-25 #Haskell #FunctionalProgramming #Rust
jaalonso.github.io
The readings shared in Bluesky on 25 June 2025 are Competitive programming in Haskell: range queries, classified. ~ Brent Yorgey. #Haskell #FunctionalProgramming Comparing codes: The sliding window i
On Wednesday, 2025-06-25, at 1830 UTC, there will be a new episode of the #Haskell #Unfolder. This time, Edsko and I will discuss the current situation of records in Haskell.
https://www.youtube.com/watch?v=9hrDm7xDpig&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=45
youtube.com
Haskell records as originally designed have had a reputation of being somewhat weird or, at worst, useless. A lot of features and modifications have been pro...
Competitive programming in Haskell: range queries, classified. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/06/23/range-queries-classified.html #Haskell #FunctionalProgramming
byorgey.github.io
Competitive programming in Haskell: range queries, classified. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/06/23/range-queries-classified.html #Haskell #FunctionalProgramming
byorgey.github.io
Comparing codes: The sliding window in Haskell & Rust. ~ James Bowen. https://mmhaskell.com/blog/2025/6/23/the-sliding-window-in-haskell-amp-rust #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Readings shared June 23, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/24-readings_shared_06-23-25 #CoqProver #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Maxima
jaalonso.github.io
The readings shared in Bluesky on 23 June 2025 are Formalising differential geometry and topology in Lean: Differential forms and the Whitney–Graustein theorem. ~ Sam J. L. Lindauer. #ITP #LeanProver
Enough. The reign of terror of the bare type synonyms in Network.Wai must come to an end.
Application https://hackage.haskell.org/package/wai-3.2.4/docs/Network-Wai.html#t:Application
Middleware https://hackage.haskell.org/package/wai-3.2.4/docs/Network-Wai.html#t:Middleware
Curso "Informática (2014-15)". https://jaalonso.github.io/cursos/i1m-14 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Readings shared June 21, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/22-readings_shared_06-21-25 #FunctionalProgramming #HOL4 #Haskell #ITP #IsabelleHOL #LeanProver #Logic #LogicProgramming #Prolog
jaalonso.github.io
The readings shared in Bluesky on 21 June 2025 are Theorem proving in Lean 4. ~ Jeremy Avigad, Leonardo de Moura, Soonho Kong, Sebastian Ullrich et als. #ITP #LeanProver Certifying projected knowledg
Published on Hackage a new version of my "cauldron" dependency injection library, with some tweaks and a smaller dependency footprint (I vendored the parts I used from Andrey Mokhov's "algebraic-graphs" library, and exposed them as a sublibrary):
https://hackage.haskell.org/package/cauldron
Example of use https://github.com/danidiaz/comments-project/blob/f16fb09c90a851054e8e97a82b38a563ff0eea18/comments/app/Main.hs#L38 compared to manual wiring https://github.com/danidiaz/comments-project/blob/f16fb09c90a851054e8e97a82b38a563ff0eea18/comments/app/Main.hs#L53
github.com
Contribute to danidiaz/comments-project development by creating an account on GitHub.
Curso "Lógica matemática y fundamentos (2013-14)". https://jaalonso.github.io/cursos/lmf-13 #Lógica #Haskell #ProgramaciónFuncional #IsabelleHOL
Property-based testing of attribute grammars. ~ José Nuno Macedo, Marcos Viera, João Saraiva. https://dl.acm.org/doi/pdf/10.1145/3732771.3742710 #Haskell #FunctionalProgramming
Freer arrows and why you need them in Haskell. ~ Grant VanDomelen, Gan Shen, Lindsey Kuper, Yao Li. https://arxiv.org/abs/2506.12212v1 #Haskell #FunctionalProgramming

arxiv.org
Freer monads are a useful structure commonly used in various domains due to their expressiveness. However, a known issue with freer monads is that they are not amenable to static analysis. This paper explores freer arrows, a relatively expressive structure that is amenable to static analysis. We propose several variants of freer arrows. We conduct a case study on choreographic programming to demonstrate the usefulness of freer arrows in Haskell.
I've surprised myself how fun it is to write this pure #haskell #hdf5 parser. It's, in a way, gruesome, fiddling with raw bytes, guessing some details, getting new files with features still unsupported, and I have no clue how exciting it will be to implement all the common filters. But the language is delightful and I'm making constant glacial progress. That accounts for a lot I suppose...
"I believe that effect libraries are good for actual effects (IO, State, Reader, Non-determinism, etc...) but not for creating software components"
https://www.reddit.com/r/haskell/comments/1lek8ch/comment/myhffsm/
Do we need effects to get abstraction? (2019) https://medium.com/barely-functional/do-we-need-effects-to-get-abstraction-7d5dc0edfbef
medium.com
Sandy Maguire gave an excellent talk on his latest library: polysemy. I highly encourage you to watch it because Sandy also presents other…
I am using one tool implemented in Haskell. Cost: my #ArchLinux updates about 100 #Haskell packages every 2 days on average. Seriously? I am starting to think that even though I am a #functional programmer, programming in Haskell would not be for me - and not for the ferocious purity and laziness, but for the stability of the environment!
Disclaimer: I know nothing about the Haskell ecosystem. It may well be that these updates are just as innocuous as they are irritating.
Yay! My PR¹ for building static executables for #Haskell projects with #Nix has been merged in my favourite Nix-for-haskell framework Nixkell.
github.com
This PR adds support for easily building statically-linked executable using Nixkell and Nix. Majorly, it: adds an overlays-static.nix file that configures GHC and Haskell packages for building sta...
Readings shared June 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/18-readings_shared_06-17-25 #FunctionalProgramming #Haskell #ITP #LeanProver #RustLang
jaalonso.github.io
The readings shared in Bluesky on 17 June 2025 are LeanHammer: an automated reasoning tool for Lean which combines multiple techniques for proof search and formal reconstruction. ~ Joshua Clune et al
Comparing codes: Two pointer algorithms. ~ James Bowen. https://mmhaskell.com/blog/2025/6/16/two-pointer-algorithms #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Making GHCi compatible with multiple home units. ~ Hannes Siebenhandl, Matthew Pickering. https://well-typed.com/blog/2025/06/ghci-multiple-home-units/ #Haskell #FunctionalProgramming
well-typed.com
Monads are not like burritos. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/06/16/monads-are-not-burritos.html #Haskell #FunctionalProgramming
byorgey.github.io
Picking up #Haskell is not a matter of "If" but of "When".
When your head overflows with UML diagrams instead of expressive yet concise types?
When your systems belch runtime exceptions like a Weezing?
When shared mutable state prevents you from understanding what the hell is happening?
Some people hear “ #Haskell 's type system eliminates entire classes of bugs” and think “Cool, no tests needed”.
But what you should hear is “Cool, we can focus on more interesting tests”.
Golden tests, property tests, doctests…
https://wiki.haskell.org/index.php?title=How_to_write_a_Haskell_program#Testing
wiki.haskell.org
Readings shared June 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/16-readings_shared_06-15-25 #AI #AIforMath #CoqProver #FunctionalProgramming #Haskell #ITP #LeanProver #Lisp #Math #Programming #Rocq
jaalonso.github.io
The readings shared in Bluesky on 15 June 2025 are BiCoq: Bigraphs formalisation with Coq. ~ Cécile Marcon et als. #ITP #CoqProver #Rocq #Math Introduction to competitive programming in Haskell. ~ Br
Data structures and algorithms for competitive programming in Haskell. ~ Soumik Sarkar. https://github.com/meooow25/haccepted #Haskell #FunctionalProgramming
github.com
Data structures and algorithms for competitive programming in Haskell - meooow25/haccepted
Introduction to competitive programming in Haskell. ~ Brent Yorgey. https://byorgey.github.io/blog/posts/2025/06/10/comprog-hs-intro.html #Haskell #FunctionalProgramming
byorgey.github.io
Readings shared June 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/15-readings_shared_06-14-25 #Algorithms #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math #Maxima
jaalonso.github.io
The readings shared in Bluesky on 14 June 2025 are Formalizing information theory in Lean 4: divergences, hypothesis testing and the data processing inequality. ~ Lorenzo Luccioli. #ITP #LeanProver #
Curso "Informática (2013-14)". https://jaalonso.github.io/cursos/i1m-13 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Readings shared June 12, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/13-readings_shared_06-12-25 #ATP #CoqProver #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Logic #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 12 June 2025 are Formalizing the divided power envelope in Lean. ~ María Inés de Frutos Fernández. #ITP #LeanProver #Math Lean meta-theory: The proofs behind the pro
Racket meet-up Sunday 29 June, Coffee & More Cafe, Sunnyvale, CA. https://www.eventbrite.com/e/racket-and-friends-tickets-1409432042179
#racket #lisp #scheme #functionalprogramming #haskell #rhombus
Reinventing records and variants. ~ Murat Kasimov. https://muratkasimov.art/Ya/Articles/Reinventing-records-and-variants #Haskell #FunctionalProgramming
muratkasimov.art
...
Inline-Verilog: Execute Verilog circuits from Haskell
https://mazzo.li/posts/inline-verilog
Discussions: https://discu.eu/q/https://mazzo.li/posts/inline-verilog
discu.eu
Discussions and related articles for «Inline-Verilog: Execute Verilog circuits from Haskell»
Type-safe neural networks in Haskell, correct by construction
https://github.com/ndzik/heuron
Discussions: https://discu.eu/q/https://github.com/ndzik/heuron
discu.eu
Discussions and related articles for «GitHub - ndzik/heuron: Correct by construction Neural Network Implementation in Haskell 💖»
Cooked up this abomination at ZuriHac 2025 -- execute Verilog circuits right from your Haskell! All the blame for the idea goes to @kmett https://mazzo.li/posts/inline-verilog.html
Readings shared June 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/09-readings_shared_06-09-25 #AI #AIforMath #CategoryTheory #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Prolog #Rust
jaalonso.github.io
The readings shared in Bluesky on 9 June 2025 are Formalizing invisible mathematics: case studies from higher category theory. ~ Emily Riehl. #ITP #LeanProver #Math #CategoryTheory Sequencelib: A pla
Huge new release tax-ato v2025.1 - Australian tax library for #Haskell. Check out the changelog: https://hackage.haskell.org/package/tax-ato-2025.1/changelog
hackage.haskell.org
Just put in another application via #LinkedIn so I also wanted to try to get #FediHired again.
I've been a programmer since 1985 (as a child), I've been an IT professional since 1995 (pulling wires and swapping cards and configuring MS Windows). I graduated from University of Arkansas Fayetteville with a BS in CS in December of 2003. A full resume is available.
I currently require a 100% remote position. I cannot relocate from Cove, #Arkansas.
I prefer something where I can be a high-performing individual contributor: reading, writing and improving source text the majority of my day, with some time spent knowledge-sharing with other developers -- learning and teaching. I'd like to work with #Haskell, #Purescript, or #Idris as the primary source language, but I can be productive in almost any language (no PHP, please; I promised myself never again).
I would prefer W-2 employment with a base salary of at least 130k USD/yr, plus some sort of retirement offering (401k or similar) and healthcare benefits (HDCP + HSA or similar).
(Boosts appreciated.)
Please use Generically instead of DefaultSignatures!
https://jvanbruegge.github.io/blog/2025/please-use-generically/
Discussions: https://discu.eu/q/https://jvanbruegge.github.io/blog/2025/please-use-generically/
discu.eu
Discussions and related articles for «Programming & Proving by Jan van Brügge»
Curso "Lógica matemática y fundamentos (2012-13)". https://jaalonso.github.io/cursos/lmf-12 #Lógica #Haskell #ProgramaciónFuncional #Isabelle/HOL
Just put in another application via #LinkedIn so I also wanted to try to get #FediHired again.
I've been a programmer since 1985 (as a child), I've been an IT professional since 1995 (pulling wires and swapping cards and configuring MS Windows). I graduated from University of Arkansas Fayetteville with a BS in CS in December of 2003. A full resume is available.
I currently require a 100% remote position. I cannot relocate from Cove, #Arkansas.
I prefer something where I can be a high-performing individual contributor: reading, writing and improving source text the majority of my day, with some time spent knowledge-sharing with other developers -- learning and teaching. I'd like to work with #Haskell, #Purescript, or #Idris as the primary source language, but I can be productive in almost any language (no PHP, please; I promised myself never again).
I would prefer W-2 employment with a base salary of at least 130k USD/yr, plus some sort of retirement offering (401k or similar) and healthcare benefits (HDCP + HSA or similar).
(Boosts appreciated.)
Cooked up this abomination at ZuriHac 2025 -- execute Verilog circuits right from your Haskell! All the blame for the idea goes to @kmett https://mazzo.li/posts/inline-verilog.html
Comparing code: Spatial reasoning with zigzag patterns! ~ James Bowen. https://mmhaskell.com/blog/2025/6/9/spatial-reasoning-with-zigzag-patterns #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Readings shared June 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/08-readings_shared_06-08-25 #AI #Algorithms #CAS #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #Maxima #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 8 June 2025 are The illusion of thinking: Understanding the strengths and limitations of reasoning models via the lens of problem complexity. ~ Parshin Shojaee et al
Typing the futamura projections
https://gist.github.com/sciolizer/a081f8e51659205a6004766b11496829
Discussions: https://discu.eu/q/https://gist.github.com/sciolizer/a081f8e51659205a6004766b11496829
Down with DefaultSignatures! Long live Generically!
https://discourse.haskell.org/t/please-use-generically-instead-of-defaultsignatures/12267
discourse.haskell.org
Proposal: add Data.List.NonEmpty.mapMaybe :: (a -> Maybe b) -> NonEmpty a -> [b]
https://github.com/haskell/core-libraries-committee/issues/337
Discussions: https://discu.eu/q/https://github.com/haskell/core-libraries-committee/issues/337
discu.eu
Discussions and related articles for «Add Data.List.NonEmpty.mapMaybe :: (a -> Maybe b) -> NonEmpty a -> [b] · Issue #337 · haskell/core-libraries-committee · GitHub»
Readings shared June 6, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/06-readings_shared_06-06-25 #FunctionalProgramming #Haskell #ITP #Lean4 #Math
jaalonso.github.io
The readings shared in Bluesky on 6 June 2025 are Big steps in higher-order mathematical operational semantics. ~ Sergey Goncharov, Pouya Partow, Stelios Tsampas. #Haskell #FunctionalProgramming Libr
Smalltalk, Haskell and Lisp
https://storytotell.org/smalltalk-haskell-and-lisp
Discussions: https://discu.eu/q/https://storytotell.org/smalltalk-haskell-and-lisp
discu.eu
Discussions and related articles for «Smalltalk, Haskell and Lisp - Daniel's Blog»
Big steps in higher-order mathematical operational semantics. ~ Sergey Goncharov, Pouya Partow, Stelios Tsampas. https://arxiv.org/abs/2506.01076 #Haskell #FunctionalProgramming

arxiv.org
Small-step and big-step operational semantics are two fundamental styles of structural operational semantics (SOS), extensively used in practice. The former one is more fine-grained and is usually regarded as primitive, as it only defines a one-step reduction relation between a given program and its direct descendant under an ambient evaluation strategy. The latter one implements, in a self-contained manner, such a strategy directly by relating a program to the net result of the evaluation process. The agreement between these two styles of semantics is one of the key pillars in operational reasoning on programs; however, such agreement is typically proven from scratch every time on a case-by-case basis. A general, abstract mathematical argument behind this agreement is up till now missing. We cope with this issue within the framework of higher-order mathematical operational semantics by providing an abstract categorical notion of big-step SOS, complementing the existing notion of abstract higher-order GSOS. Moreover, we introduce a general construction for deriving the former from the latter, and prove an abstract equivalence result between the two.
"Look, I don't think there's anything wrong with programming in #python or #javascript, but you should probably switch to #haskell when you hit like 3 or 4 months of experience
"Look, I don't think there's anything wrong with programming in #python or #javascript, but you should probably switch to #haskell when you hit like 3 or 4 months of experience
MicroHs: Haskell Implemented with Combinators
https://github.com/augustss/MicroHs
Discussions: https://discu.eu/q/https://github.com/augustss/MicroHs
discu.eu
Discussions and related articles for «GitHub - augustss/MicroHs: Haskell implemented with combinators»
Introducing Haskell into my team (and looking for a really good senior engineer to help)
Discussions: https://discu.eu/q/https://www.converge.io
discu.eu
Discussions and related articles for «Converge - Concrete Smart Sensors»
Am I correct in assuming that in #haskell, parsing a huge file with attoparsec is a bad idea, because the memory footprint will be equally huge?
Is there an alternative?
APL Interpreter – An implementation of APL, written in Haskell (2024)
https://scharenbroch.dev/projects/apl-interpreter/
Discussions: https://discu.eu/q/https://scharenbroch.dev/projects/apl-interpreter/
discu.eu
Discussions and related articles for «Lucas's Page»
APL Interpreter – An implementation of APL, written in Haskell (2024)
https://scharenbroch.dev/projects/apl-interpreter/
Discussions: https://discu.eu/q/https://scharenbroch.dev/projects/apl-interpreter/
discu.eu
Discussions and related articles for «Lucas's Page»
What Works (and Doesn't) Selling Formal Methods
https://www.galois.com/articles/what-works-and-doesnt-selling-formal-methods
Discussions: https://discu.eu/q/https://www.galois.com/articles/what-works-and-doesnt-selling-formal-methods
discu.eu
Discussions and related articles for «Galois - What Works (and Doesn't) Selling Formal Methods»
Я ☞ Structural wrapper subtyping
https://muratkasimov.art/Ya/Articles/Structural-wrapper-subtyping
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/Structural-wrapper-subtyping
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ Structural wrapper subtyping»
List Unfolding - `unfold` as the Computational Dual of `fold`, and how `unfold` relates to `iterate`
https://fpilluminated.org/deck/263
Discussions: https://discu.eu/q/https://fpilluminated.org/deck/263
discu.eu
Discussions and related articles for «List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'»
Zero-Cost 'Tagless Final' in Rust with GADT-style Enums
https://www.inferara.com/en/blog/rust-tagless-final-gadt/
Discussions: https://discu.eu/q/https://www.inferara.com/en/blog/rust-tagless-final-gadt/
discu.eu
Discussions and related articles for «Zero-Cost 'Tagless Final' in Rust with GADT-style Enums | Inferara»
[ANN] haskell-google-genai-client: API Client for Google Gemini
https://hackage.haskell.org/package/haskell-google-genai-client
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/haskell-google-genai-client
discu.eu
Discussions and related articles for «haskell-google-genai-client: Auto-generated Gemini API Client for Haskell»
Issues with `instance Ord (STRef s a)`
https://pithlessly.github.io/ord-stref.html
Discussions: https://discu.eu/q/https://pithlessly.github.io/ord-stref.html
discu.eu
Discussions and related articles for «Issues with instance Ord (STRef s a) — Christine's World Wide Web Site»
today (thanks to augustss fixing some MicroHs bugs) I managed to get tidal-core working in MicroHs!
this is just the pattern language, not including live scheduler, OSC message sending, etc.
The next step is to combine this toot with previous toot and have a Tidal/Haskell thing running inside a web browser. But there's a lot of rest of owl before that will do anything useful.
I pushed my branch to Microsoft Github for ease of review:
https://github.com/claudeha/Tidal/tree/topic-microhs-compat
today (thanks to augustss fixing some MicroHs bugs) I managed to get tidal-core working in MicroHs!
this is just the pattern language, not including live scheduler, OSC message sending, etc.
The next step is to combine this toot with previous toot and have a Tidal/Haskell thing running inside a web browser. But there's a lot of rest of owl before that will do anything useful.
I pushed my branch to Microsoft Github for ease of review:
https://github.com/claudeha/Tidal/tree/topic-microhs-compat
Readings shared June 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/06/02-readings_shared_06-02-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Physics
jaalonso.github.io
The readings shared in Bluesky on 2 June 2025 are Regex decision procedures in extended RE#. ~ Ian Erik Varatalu et als. #ITP #LeanProver Learn physics with functional programming. ~ Esteban Marin. #
seems I somehow got #MicroHs #Haskell interpreter compiled and working in a browser using #Emscripten #WebDev
used a require.js I found online (from Tarp https://pixelsvsbytes.com/2013/02/js-require-for-browsers-better-faster-stronger/ ) and slighly patched for my use case / url layout, and some minimal #NodeModules folder (npm install --save path) with custom symlinks inside to choose the browser js.
the HTML from Emscripten is patched lightly to add the require script and a couple of require() calls. the standard library is included with preload file; the total size of the served folder is about 3.5MB.
the usability is terrible (have to enter input in a modal form with no history or completion etc, output goes to browser console) but it's a start!

desktop screenshot of firefox open at localhost : 8080 / mhs.html there is a large Input: modal dialog, behind which is a default Emscripten HTML page. mhs welcome banner is visible in the emscripten text area, but subsequent input and output is only echoed in the browser developer tools console, visible at the bottom, where you can see "hello world" and factorials from 1 to 10.
Learn physics with functional programming. ~ Esteban Marin. https://youtu.be/Zp5D_wMi97Q #Haskell #FunctionalProgramming #Physics
youtube.com
#LambdaConf2025 took place in Estes Park Colorado this past May 12th and 13th.Learn about the sponsors that made it happen:ZivergeTransformative Tech for Mod...
Readings shared May 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/31-readings_shared_05-31-25 #Agda #Coq #FunctionalProgramming #Haskell #HoTT #ITP #LeanProver #Logic #Math #Minlog #Rocq
jaalonso.github.io
The readings shared in Bluesky on 31 May 2025 are Formalizing a classification theorem for low-dimensional solvable Lie algebras in Lean. ~ Viviana del Barco et als. #ITP #LeanProver #Math Lean4Lean:
Efficient program extraction in elementary number theory using the proof assistant Minlog. ~ Franziskus Wiesnet. https://msp.cis.strath.ac.uk/types2025/abstracts/TYPES2025_paper1.pdf #ITP #Minlog #Haskell #FunctionalProgramming #Math
Playing around with #DependentTypes and started writing a (currently pretty silly) #Singletons library port for #PureScript - https://forge.id1.in/aj/purescript-singletons/
#Haskell #FunctionalProgramming
forge.id1.in
purescript-singletons
Playing around with #DependentTypes and started writing a (currently pretty silly) #Singletons library port for #PureScript - https://forge.id1.in/aj/purescript-singletons/
#Haskell #FunctionalProgramming
forge.id1.in
purescript-singletons
I've been working on a haskell-language-server plugin
https://www.youtube.com/watch?t=5s&v=_6VHt0thoII
Discussions: https://discu.eu/q/https://www.youtube.com/watch?t=5s&v=_6VHt0thoII
discu.eu
Discussions and related articles for «I've been working on a haskell-language-server plugin»
A break from programming languages
https://lexi-lambda.github.io/blog/2025/05/29/a-break-from-programming-languages/
Discussions: https://discu.eu/q/https://lexi-lambda.github.io/blog/2025/05/29/a-break-from-programming-languages/
discu.eu
Discussions and related articles for «A break from programming languages»
The tiny but complete #JSON #parser that I wrote in #Haskell years ago is now featured in the 200-and-change collection of programs by @dubroy: https://pdubroy.github.io/200andchange
pdubroy.github.io
I will be teaching the #Nix track at #zurihac2025 🇨🇭 ⛰️
Looking forward to showing you all the best(TM) way to setup #Haskell packages with Nix 😎 Maybe we can even upstream some Haskell packages to #NixOS? 😆
I jumped in a bit on short notice and am still collecting ideas. So let me know what you would like to learn!
zfoh.ch
ZuriHac is a free annual Haskell event brought to you by «Zürich Friends of Haskell»
It is a good day to unleash the agent of chaos. #Haskell #programming

Screenshot of the documentation of the Haskell function accursedUnutterablePerformIO: accursedUnutterablePerformIO :: IO a -> a This "function" has a superficial similarity to unsafePerformIO but it is in fact a malevolent agent of chaos. It unpicks the seams of reality (and the IO monad) so that the normal rules no longer apply. It lulls you into thinking it is reasonable, but when you are not looking it stabs you in the back and aliases all of your mutable buffers. The carcass of many a seasoned Haskell programmer lie strewn at its feet. Witness the trail of destruction: https://github.com/haskell/bytestring/commit/71c4b438c675aa360c79d79acc9a491e7bbc26e7 https://github.com/haskell/bytestring/commit/210c656390ae617d9ee3b8bcff5c88dd17cef8da https://github.com/haskell/aeson/commit/720b857e2e0acf2edc4f5512f2b217a89449a89d https://ghc.haskell.org/trac/ghc/ticket/3486 https://ghc.haskell.org/trac/ghc/ticket/3487 https://ghc.haskell.org/trac/ghc/ticket/7270 https://gitlab.haskell.org/ghc/ghc/-/issues/22204 Do not talk about "safe"! You do not know what is safe! Yield not to its blasphemous call! Flee traveller! Flee or you will be corrupted and devoured!
Avoiding IO as much as possible is the key to long-lasting software
https://x.com/Jonathan_Blow/status/1923414922484232404
Discussions: https://discu.eu/q/https://x.com/Jonathan_Blow/status/1923414922484232404
discu.eu
Discussions and related articles for «Avoiding IO as much as possible is the key to long-lasting software»
Why should we label effects?
https://muratkasimov.art/Ya/Articles/Why-should-we-label-effects
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/Why-should-we-label-effects
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ Why should we label effects?»
I will be teaching the #Nix track at #zurihac2025 🇨🇭 ⛰️
Looking forward to showing you all the best(TM) way to setup #Haskell packages with Nix 😎 Maybe we can even upstream some Haskell packages to #NixOS? 😆
I jumped in a bit on short notice and am still collecting ideas. So let me know what you would like to learn!
zfoh.ch
ZuriHac is a free annual Haskell event brought to you by «Zürich Friends of Haskell»
Haskell project: RAG with text embeddings and cosine similarity graph
Discussions: https://discu.eu/q/https://github.com/DaviTostes
discu.eu
Discussions and related articles for «DaviTostes (Davi Tostes) · GitHub»
Indexing Hackage: Glean vs. hiedb
https://simonmar.github.io/posts/2025-05-22-Glean-Haskell.html
Discussions: https://discu.eu/q/https://simonmar.github.io/posts/2025-05-22-Glean-Haskell.html
Violating memory safety with Haskell's value restriction
https://welltypedwit.ch/posts/value-restriction
Discussions: https://discu.eu/q/https://welltypedwit.ch/posts/value-restriction
discu.eu
Discussions and related articles for «Violating memory safety with Haskell's value restriction»
Readings shared May 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/24-readings_shared_05-24-25 #AIforCode #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Math #Physics
jaalonso.github.io
The readings shared in Bluesky on 24 May 2025 are A formal proof of complexity bounds on diophantine equations. ~ Jonas Bayer, Marco David. #ITP #IsabelleHOL #Math Munta: A verified model checker for
Learning Physics with functional programming and Haskell. ~ Esteban Marín. https://dev.to/estebanmarin/learning-physics-with-functional-programming-and-haskell-l1h #Haskell #FunctionalProgramming #Physics
dev.to
TL;DR; I gave a talk at LambdaConf 2025 this is a follow up post. Haskell Files -> GitHub. I'll...
Amazing how difficult it is to format a float using thousands separators and decimal places in #haskell.
#Pocket is dying so it's appropriate to talk about the minimal #ReadLater service I wrote for myself: LinkFodder.
You can save links via an API, or a form, or a Telegram bot, and you get an HTML page (shown below) and an Atom #feed. That’s it.
Supports multiple users, written in #Haskell, deployable as a single binary (or a Docker image) behind the reverse-proxy server of your choice in your #SelfHosting setup.
It doesn't even need a database to run; it simply rewrites the HTML and Atom files when you save a new link.
Operators generator for Я written in Я itself
http://muratkasimov.art/Ya/Packages/ya-operators
Discussions: https://discu.eu/q/http://muratkasimov.art/Ya/Packages/ya-operators
discu.eu
Discussions and related articles for «Я ☞ Packages ☞ ya-operators»
Functional Pearl: F for Functor
https://www.cs.ox.ac.uk/people/daniel.james/functor/functor.pdf
Discussions: https://discu.eu/q/https://www.cs.ox.ac.uk/people/daniel.james/functor/functor.pdf
Artiflakery, an easy way to distribute static Nix flake artifacts
https://luj.fr/blog/artiflakery-webserver-flake-artifacts.html
Discussions: https://discu.eu/q/https://luj.fr/blog/artiflakery-webserver-flake-artifacts.html
discu.eu
Discussions and related articles for «Artiflakery, an easy way to distribute static Nix flake artifacts»
Readings shared May 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/20-readings_shared_05-20-25 #Agda #Emacs #FunctionalProgramming #Haskell #HoTT #ITP #LeanProver #Logic #Math #OrgMode #Python #Rust #SAT_solvers #TypeTheory
jaalonso.github.io
The readings shared in Bluesky on 20 May 2025 are Formalising the Bruhat-Tits tree. ~ Judith Ludwig, Christian Merten. #ITP #LeanProver Ordinal exponentiation in homotopy type theory. ~ Tom de Jong,
Comparing code: LeetCode problems in Rust vs. Haskell. ~ James Bowen. https://mmhaskell.com/blog/2025/5/19/comparing-code-leetcode-problems-in-rust-vs-haskell #Haskell #FunctionalProgramming #Rust
mmhaskell.com
Haskell recap for week 20/2025
https://discu.eu/weekly/haskell/2025/20/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Tipos Abstractos y Polimorfismo en Programación Funcional
https://emanuelpeg.blogspot.com/2025/05/tipos-abstractos-y-polimorfismo-en.html
Discussions: https://discu.eu/q/https://emanuelpeg.blogspot.com/2025/05/tipos-abstractos-y-polimorfismo-en.html
discu.eu
Discussions and related articles for «Emanuel Goette, alias Crespo: Tipos Abstractos y Polimorfismo en Programación Funcional»
Readings shared May 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/18-readings_shared_05-18-25 #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 18 May 2025 are Formalizing a proof in Lean using Claude and o4. ~ Terence Tao. #ITP #LeanProver #Math Formalizing a proof in Lean using Github Copilot only. ~ Teren
Tipos abstractos y polimorfismo en programación funcional. ~ Emanuel Goette. https://emanuelpeg.blogspot.com/2025/05/tipos-abstractos-y-polimorfismo-en.html #Haskell #FunctionalProgramming
emanuelpeg.blogspot.com
Java Apache Linux Spring SOA Scala Ruby Maven javascript php Open Source NoSql Hibernate Python Erlang MongoDb Hadoop Rest big data Cassandra Spark
Freer arrows and why you need them. ~ Grant Vandomelen, Yao Li. https://lastland.github.io/pdfs/freer-arrow.pdf #Haskell #FunctionalProgramming
Violating memory safety with Haskell's value restriction https://welltypedwit.ch/posts/value-restriction
https://discourse.haskell.org/t/violating-memory-safety-with-haskells-value-restriction/12116/2
discourse.haskell.org
Thanks! Very clear, well-written and interesting article. Does that mean that this definition from linear-base is unsafe? I attempted to use your same trick to derive something unsafe, but I couldn’t get it to work. It don’t know whether it doesn’t work because of some issue with linear lets, or Ur, or something else, and whether the “issue” is intended (and is a theoretical means of preventing unsafety) or it’s unintended and can be worked around. ▶ Not working linear example
@ramin_hal9001 I've got a question about that:
https://discourse.haskell.org/t/is-the-io-type-built-in/12115
discourse.haskell.org
When I learned Haskell, I’ve learned that the type constructor IO is “built-in” to the language, i.e., has to be implemented in the compiler and/or runtime themselves, rather than (like — say — Maybe (docs, source code)) in a library that ships with the compiler (and may be imported by default) but is otherwise treated just like my own Haskell code. Though, is that actually true? The documentation for Prelude.IO doesn’t mention its definition, but links to source code (the same that the docume...
Violating memory safety with Haskell's value restriction
https://welltypedwit.ch/posts/value-restriction
Discussions: https://discu.eu/q/https://welltypedwit.ch/posts/value-restriction
discu.eu
Discussions and related articles for «Violating memory safety with Haskell's value restriction»
Readings shared May 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/17-readings_shared_05-17-25 #AI #CompSci #FunctionalProgramming #Haskell #ITP #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 17 May 2025 are Formalizing the future: Lean’s impact on mathematics, programming, and AI. ~ Leo De Moura. #ITP #LeanProver #Math #CompSci #AI Will computers prove t
@ramin_hal9001 I've got a question about that:
https://discourse.haskell.org/t/is-the-io-type-built-in/12115
discourse.haskell.org
When I learned Haskell, I’ve learned that the type constructor IO is “built-in” to the language, i.e., has to be implemented in the compiler and/or runtime themselves, rather than (like — say — Maybe (docs, source code)) in a library that ships with the compiler (and may be imported by default) but is otherwise treated just like my own Haskell code. Though, is that actually true? The documentation for Prelude.IO doesn’t mention its definition, but links to source code (the same that the docume...
[ANN] GHCup 0.1.50.2 release (LD breakage)
https://discourse.haskell.org/t/ann-ghcup-0-1-50-2-release-ld-breakage/12114
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ann-ghcup-0-1-50-2-release-ld-breakage/12114
discu.eu
Discussions and related articles for «[ANN] GHCup 0.1.50.2 release (LD breakage) - Announcements - Haskell Community»
@das_g True. It is certainly magical that there is a programming language which defines a state monad called “IO” (or sometimes “Effect”) which carries around with it a symbol of the entire Real World in order to model the idea that any evaluation of a function of that type of monad may (or may not) create a change somewhere out in the real world, as opposed to “pure” functions which can only ever manipulate the stack.
#tech #software #Haskell #ProgrammingLanguage #TypeTheory #CategoryTheory
fe.disroot.org
🧚 The Real World is deeply magical. ✨
(Or at least type RealWorld is, according to #Haskell documentation.)
https://hackage.haskell.org/package/base/docs/Control-Monad-ST.html#t:RealWorld
hackage.haskell.org
DescriptionThis module provides support for strict state threads, as described in the PLDI '94 paper by John Launchbury and Simon Peyton Jones Lazy Functional State Threads.References (variables) that can be used within the ST monad are provided by Data.STRef, and arrays are provided by Data.Array.ST.
The Haskell Unfolder Episode 44: State-based testing with quickcheck-lockstep. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/RPQVsaZ46Dk #Haskell #FunctionalProgramming
youtube.com
Many Haskell programmers will be familiar with property based testing of pure functions (for those who are not, various episodes of the Haskell Unfolder have...
In Haskell, the humble dot . can have several meanings.
- The composition operator https://hackage.haskell.org/package/base-4.21.0.0/docs/Data-Function.html
- Module separator https://www.haskell.org/onlinereport/haskell2010/haskellch5.html
- With OverloadedRecordDot, field access https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_record_dot.html#extension-OverloadedRecordDot
First one doesn't cause problems as long as you do the right thing and always surround it with spaces.
The last two can suffer from ambiguity. Are we referring to a qualified value, or (admittedly a rare thing) accessing a field on a datatype constructor?
To resolve the ambiguity, parentheses seem to be enough.
This kind of ambiguity might also happen with the QualifiedDo extension https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/qualified_do.html and (if it gets accepted 🤞) the QualifiedLiterals extension https://github.com/ghc-proposals/ghc-proposals/pull/698

Haskell code that fails to compile because GHC assumes "Xoo1.xofi" is a module-qualified name. data Xoo = Xoo1 | Xoo2 instance HasField "xofi" Xoo String where getField _ = "xofi" xooo2 :: String xooo2 = Xoo1.xofi

Same code as before, corrected by putting parentheses around the Xooo1 constructor. data Xoo = Xoo1 | Xoo2 instance HasField "xofi" Xoo String where getField _ = "xofi" xooo2 :: String xooo2 = (Xoo1).xofi
I'm using #shellcheck's excellent #haskell GitHub workflow to produce statically linked Haskell binaries. It's curious, however, that ghc-9.0.4 produces a binary that's roughly 1MiB in size, whereas 9.4 produces a whopping 30MiB binary. Haven't tested the later ghc versions yet, but I hope they're a bit more conservative w.r.t. size...
Typical #haskell packaging situation. I want to decompress a zip file. I search hackage for "zip". Lots of results. The first two are "zip" and "zip-archive". Similar amount of downloads, similar "Last U/L" date. What the hell do I use here? :D I'm now going by number of downloads, where "zip-archive" is the clear winner.
Readings shared May 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/15-readings_shared_05-15-25 #Haskell #FunctionalProgramming
jaalonso.github.io
The readings shared in Bluesky on 15 May 2025 are Heftia: The final word in Haskell effect system libraries (Part 1.1). ~ Riyo. #Haskell #FunctionalProgramming Quasiquoting for fun, profit, expressio
Quasiquoting for fun, profit, expressions and patterns. ~ MLabs. https://www.mlabs.city/blog/quasiquoting-for-fun-and-profit #Haskell #FunctionalProgramming
mlabs.city
In this post, discover how quasiquoters overcome three key smart-constructor limitations—compile-time errors, lack of pattern matching, and fixed syntax—by leveraging Template Haskell to produce both expressions and patterns with familiar, literal syntax.
Heftia: The final word in Haskell effect system libraries (Part 1.1). ~ Riyo. https://sayo-hs.github.io/blog/heftia/heftia-part-1-1 #Haskell #FunctionalProgramming
sayo-hs.github.io
heftia is the first-ever fully type-safe and performant effect system, not just among Haskell libraries but historically across all effect system implementations and languages, to completely implement both algebraic effects and higher-order effects.
State-based testing with quickcheck-lockstep (Haskell Unfolder #44)
https://www.youtube.com/watch?index=44&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=RPQVsaZ46Dk
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=44&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=RPQVsaZ46Dk
discu.eu
Discussions and related articles for «State-based testing with quickcheck-lockstep (Haskell Unfolder #44)»
If you want to hear from Edsko and me how to test stateful APIs using quickcheck(-lockstep), join us today, 2025-05-14, at 1830 UTC, live on YouTube for a new episode of the #Haskell #Unfolder: https://www.youtube.com/watch?v=RPQVsaZ46Dk&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=44
youtube.com
Many Haskell programmers will be familiar with property based testing of pure functions (for those who are not, various episodes of the Haskell Unfolder have...
Is it just me, or is this a weird post by Sandy Maguire?
The Maybe formulation is incorrect -
`unionWith :: (Maybe a -> Maybe b -> c) -> Map k a -> Map k b -> Map k c`
And that the version with `These` is the right one to use -
`unionWith :: (These a b -> c) -> Map k a -> Map k b -> Map k c`
But then Sandy immediately discards this formulation, and instead builds up a monoidal strawman, which is equivalent to the Maybe formulation, to knock down. To get some law that doesn't hold anyway?
https://reasonablypolymorphic.com/blog/api-analysis/
#Haskell
reasonablypolymorphic.com
Is it just me, or is this a weird post by Sandy Maguire?
The Maybe formulation is incorrect -
`unionWith :: (Maybe a -> Maybe b -> c) -> Map k a -> Map k b -> Map k c`
And that the version with `These` is the right one to use -
`unionWith :: (These a b -> c) -> Map k a -> Map k b -> Map k c`
But then Sandy immediately discards this formulation, and instead builds up a monoidal strawman, which is equivalent to the Maybe formulation, to knock down. To get some law that doesn't hold anyway?
https://reasonablypolymorphic.com/blog/api-analysis/
#Haskell
reasonablypolymorphic.com
I wrote a new note: "Reading Time Estimates for #Pandoc Based Blog Generators" https://notes.abhinavsarkar.net/2025/pandoc-reading-time
abhinavsarkar.net
What makes a Functor feel like Hom?
https://muratkasimov.art/Ya/Articles/What-makes-a-Functor-feel-like-Hom
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/What-makes-a-Functor-feel-like-Hom
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ What makes a Functor feel like Hom?»
Haskell recap for week 19/2025
https://discu.eu/weekly/haskell/2025/19/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Tesla hiring for Haskell Software engineer
https://old.reddit.com/r/haskell/comments/1kjimug/tesla_hiring_for_haskell_software_engineer/
Discussions: https://discu.eu/q/https://old.reddit.com/r/haskell/comments/1kjimug/tesla_hiring_for_haskell_software_engineer/
discu.eu
Discussions and related articles for «Tesla hiring for Haskell Software engineer»
Brisbane Functional Programming Group #BFPG THIS TUESDAY. Compiling parametric polymorphism (Isaac Elliott) + 2 years of the #Haskell Security Response Team (Fraser Tweedale). See yas there, curious minds. https://lu.ma/yfkrxawh
lu.ma
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: A "third way" of compiling parametric polymorphism -…
Tesla hiring for Haskell Software engineer
https://www.linkedin.com/jobs/view/4224032068
Discussions: https://discu.eu/q/https://www.linkedin.com/jobs/view/4224032068
discu.eu
Discussions and related articles for «Tesla hiring Haskell Software Engineer, Internal Tools in Palo Alto, CA | LinkedIn»
Full Time Nix | Horizon Haskell with Daniel Firth (Podcast)
https://fulltimenix.com/episodes/horizon-haskell-with-daniel-firth
Discussions: https://discu.eu/q/https://fulltimenix.com/episodes/horizon-haskell-with-daniel-firth
discu.eu
Discussions and related articles for «Full Time Nix | Horizon Haskell with Daniel Firth»
Readings shared May 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/09-readings_shared_05-09-25 #ATP #CategoryTheory #Coq #Education #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math #Rocq #Teaching
jaalonso.github.io
The readings shared in Bluesky on 9 May 2025 are - Proof assistants for teaching: A survey. ~ Frédéric Tran Minh, Laure Gonnord and Julien Narboux. #ATP #ITP #IsabelleHOL #LeanProver #Coq #Rocq #Edu
Lógicas de orden superior y verificación formal [Slides]. ~ Lourdes del Carmen González Huesca. https://drive.google.com/drive/folders/1cE1a0N-2ZMrVx8i58W0KG8s3KMVHawZn #Logic #Math #Haskell #FunctionalProgramming #ITP #Coq #Rocq
drive.google.com
Lógicas de orden superior y verificación formal. ~ Lourdes del Carmen González Huesca. https://youtu.be/9uTD7BMvbjw #Logic #Math #Haskell #FunctionalProgramming #ITP #Coq #Rocq
youtube.com
Ponente: Lourdes del Carmen González HuescaInstitución: FC-UNAM06/05/2025 de 12:00 a 13:00Dónde Auditorio "Alfonso Nápoles Gándara"
Scrap your iteration combinators. ~ Tom Ellis. https://h2.jaguarpaw.co.uk/posts/scrap-your-iteration-combinators/ #Haskell #FunctionalProgramming
h2.jaguarpaw.co.uk
Beginnings of a Haskell game engine. ~ Mitchell Vitez. https://vitez.me/haskell-game-engine-beginnings #Haskell #FunctionalProgramming
vitez.me
Analyzing API design via algebraic laws. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/api-analysis #Haskell #FunctionalProgramming
reasonablypolymorphic.com
Quasiquoting for Fun, Profit, Expressions and Patterns
https://www.mlabs.city/blog/quasiquoting-for-fun-and-profit
Discussions: https://discu.eu/q/https://www.mlabs.city/blog/quasiquoting-for-fun-and-profit
discu.eu
Discussions and related articles for «Quasiquoting for Fun, Profit, Expressions and Patterns — Mlabs.city»
Come join us for another day of geeking out over functional programming! The FPIndia May meetup is here!
https://hasgeek.com/fpindia/bangalore-fp-may-meetup/
#Bangalore #FunctionalProgramming #FPIndia #Meetup #India #Haskell #PureScript #OCaml #Elixir #Clojure #Scala
hasgeek.com
Bangalore FP May meetup
Come join us for another day of geeking out over functional programming! The FPIndia May meetup is here!
https://hasgeek.com/fpindia/bangalore-fp-may-meetup/
#Bangalore #FunctionalProgramming #FPIndia #Meetup #India #Haskell #PureScript #OCaml #Elixir #Clojure #Scala
hasgeek.com
Bangalore FP May meetup
From Haskell to a new structured combinator processor. ~ Yukang Xie et als. https://pure.hw.ac.uk/ws/portalfiles/portal/149643713/TFP-2025-Author-Submitted-Manuscript.pdf #Haskell #FunctionalProgramming
Readings shared May 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/08-readings_shared_05-08-25 #ATP #Autoformalization #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #Programming #SAT_solvers #Z3
jaalonso.github.io
The readings shared in Bluesky on 8 May 2025 are SAT-solving the poset cover problem. ~ Chih-Cheng Rex Yuan, Bow-Yaw Wang. #ATP #SATsolvers #Z3 FormalMATH: Benchmarking formal mathematical reasoning
Haskell's killer app is maintainability
https://taylor.fausak.me/2019/11/17/haskells-killer-app-is-maintainability/
Discussions: https://discu.eu/q/https://taylor.fausak.me/2019/11/17/haskells-killer-app-is-maintainability/
discu.eu
Discussions and related articles for «Haskell’s killer app is maintainability · taylor.fausak.me»
Haskell's killer app is maintainability
https://taylor.fausak.me/2019/11/17/haskells-killer-app-is-maintainability/
Discussions: https://discu.eu/q/https://taylor.fausak.me/2019/11/17/haskells-killer-app-is-maintainability/
discu.eu
Discussions and related articles for «Haskell’s killer app is maintainability · taylor.fausak.me»
From Haskell to a New Structured Combinator Processor
discu.eu
Discussions and related articles for «From Haskell to a New Structured Combinator Processor»
Compiling Haskell into Lean: A common abstract syntax for Haskell and interactive theorem provers. ~ Talitha Holcombe. https://digitalcommons.chapman.edu/eecs_theses/3/ #Haskell #FunctionalProgramming #ITP #LeanProver
digitalcommons.chapman.edu
In this work, we introduce a program conversion tool, HS-TO-LEAN, that uses GHC's ghc-lib-parser API to translate Haskell programs into Lean code, which is then validated by the Lean compiler. The repo can be found at https://github.com/holcombet/hs-to-lean/tree/main. The result is a successful compilation of a fragment of Haskell into correct and executable Lean code that users can prove theorems about. We conducted a case study using a heap sort algorithm to support our claim that HS-TO-LEAN produces verifiable Lean code. Our approach is inspired by recent advances in formal verification of Haskell programs in Coq, and we currently restrict our attention to total Haskell. The compiler produces an AST that serves as a common level of abstraction between a fragment of Haskell and Lean. The abstract common fragment promotes translation between languages by simplifying and restructuring GHC's original AST, improving the readability and linearization of the AST. Future work on HS-TO-LEAN will extend the compiler to translate to other interactive theorem provers, including Coq, Agda, and Isabelle, making it portable and accessible to a range of verification efforts and communities. Future work also includes implementing bidirectionality, supporting the translation of Haskell code to a target proof assistant and vice versa. This method will expose an interesting level of abstraction that is applicable to all of the languages involved and produce a more maintainable compiler. These results contribute to the ongoing work in the formalization and verification of mathematics and programming and present a viable approach to unifying the formal systems of different proof assistants.
Simon Peyton Jones on fearless refactoring over the long term in Haskell
https://discourse.haskell.org/t/emphasize-why-haskell-on-haskell-org-landing-page/12036
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/emphasize-why-haskell-on-haskell-org-landing-page/12036
discu.eu
Discussions and related articles for «Emphasize "Why Haskell?" on haskell.org landing page - Haskell Community»
The Haskell Unfolder Episode 43: Monomorphism restriction and defaulting. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/nD93M2qlwMk #Haskell #FunctionalProgramming
youtube.com
In this episode, we are going to look at two interacting "features" of the Haskell language (the monomorphism restriction and defaulting) that can be somewha...
The Haskell Unfolder Episode 43: monomorphism restriction and defaulting
https://www.youtube.com/watch?index=43&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=nD93M2qlwMk
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=43&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=nD93M2qlwMk
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 43: monomorphism restriction and defaulting - YouTube»
Today, there will be a new #Haskell #Unfolder episode, where Edsko and I will talk about the monomorphism restriction and defaulting. Join us live on YouTube 2025-05-07 at 1830 UTC (or watch later) via https://www.youtube.com/watch?v=nD93M2qlwMk&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=43
youtube.com
In this episode, we are going to look at two interacting "features" of the Haskell language (the monomorphism restriction and defaulting) that can be somewha...
Today, there will be a new #Haskell #Unfolder episode, where Edsko and I will talk about the monomorphism restriction and defaulting. Join us live on YouTube 2025-05-07 at 1830 UTC (or watch later) via https://www.youtube.com/watch?v=nD93M2qlwMk&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=43
youtube.com
In this episode, we are going to look at two interacting "features" of the Haskell language (the monomorphism restriction and defaulting) that can be somewha...
ML Dialects and Haskell: SML, OCaml, F#, Haskell
Discussions: https://discu.eu/q/https://hyperpolyglot.org/ml
discu.eu
Discussions and related articles for «ML Dialects and Haskell: SML, OCaml, F#, Haskell - Hyperpolyglot»
Journal of Functional Programming - Call for PhD Abstracts
https://people.cs.nott.ac.uk/pszgmh/jfp-phd-abstracts.html
Discussions: https://discu.eu/q/https://people.cs.nott.ac.uk/pszgmh/jfp-phd-abstracts.html
discu.eu
Discussions and related articles for «Journal of Functional Programming - Call for PhD Abstracts»
Scrap your iteration combinators
https://h2.jaguarpaw.co.uk/posts/scrap-your-iteration-combinators/
Discussions: https://discu.eu/q/https://h2.jaguarpaw.co.uk/posts/scrap-your-iteration-combinators/
discu.eu
Discussions and related articles for «scrap-your-iteration-combinators»
Readings shared May 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/05-readings_shared_05-05-25 #ChatGPT #CommonLisp #FunctionalProgramming #Haskell #ITP #LLLms #LeanProver #Logic
jaalonso.github.io
The readings shared in Bluesky on 5 May 2025 are Compiling Haskell into Lean: A common abstract syntax for Haskell and interactive theorem provers. ~ Talitha Holcombe. #Haskell #FunctionalProgramming
Prompt chaining reimagined with type inference
https://www.haskellforall.com/2025/05/prompt-chaining-reimagined-with-type_2.html
Discussions: https://discu.eu/q/https://www.haskellforall.com/2025/05/prompt-chaining-reimagined-with-type_2.html
discu.eu
Discussions and related articles for «Haskell for all: Prompt chaining reimagined with type inference»
Vienna Haskell Meetup on the 22nd of May 2025
Discussions: https://discu.eu/q/https://well-typed.com/
discu.eu
Discussions and related articles for «Well-Typed - The Haskell Consultants»
Haskell recap for week 18/2025
https://discu.eu/weekly/haskell/2025/18/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
ihaskell + dataframe integration
https://github.com/mchav/dataframe/blob/main/docs%2FCalifornia%20Housing.ipynb
Discussions: https://discu.eu/q/https://github.com/mchav/dataframe/blob/main/docs%252FCalifornia%2520Housing.ipynb
discu.eu
Discussions and related articles for «dataframe/docs/California Housing.ipynb at main · mchav/dataframe · GitHub»
Compiling Haskell into Lean: A common abstract syntax for Haskell and interactive theorem provers. ~ Talitha Holcombe. https://digitalcommons.chapman.edu/eecs_theses/3/ #Haskell #FunctionalProgramming #ITP #LeanProver
digitalcommons.chapman.edu
In this work, we introduce a program conversion tool, HS-TO-LEAN, that uses GHC's ghc-lib-parser API to translate Haskell programs into Lean code, which is then validated by the Lean compiler. The repo can be found at https://github.com/holcombet/hs-to-lean/tree/main. The result is a successful compilation of a fragment of Haskell into correct and executable Lean code that users can prove theorems about. We conducted a case study using a heap sort algorithm to support our claim that HS-TO-LEAN produces verifiable Lean code. Our approach is inspired by recent advances in formal verification of Haskell programs in Coq, and we currently restrict our attention to total Haskell. The compiler produces an AST that serves as a common level of abstraction between a fragment of Haskell and Lean. The abstract common fragment promotes translation between languages by simplifying and restructuring GHC's original AST, improving the readability and linearization of the AST. Future work on HS-TO-LEAN will extend the compiler to translate to other interactive theorem provers, including Coq, Agda, and Isabelle, making it portable and accessible to a range of verification efforts and communities. Future work also includes implementing bidirectionality, supporting the translation of Haskell code to a target proof assistant and vice versa. This method will expose an interesting level of abstraction that is applicable to all of the languages involved and produce a more maintainable compiler. These results contribute to the ongoing work in the formalization and verification of mathematics and programming and present a viable approach to unifying the formal systems of different proof assistants.
Typed Lisp, a primer. ~ Musa Al-hassy (2019). https://alhassy.com/TypedLisp.html #CommonLisp #Haskell
alhassy.com
Readings shared May 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/05/04-readings_shared_05-04-25 #ACL2 #Coq #FunctionalProgramming #Haskell #ITP #Math #Rocq
jaalonso.github.io
The readings shared in Bluesky on 4 May 2025 are Formalizing resource ownership semantics of spinlocks with the Coq proof assistant. ~ Sebastian Luis S. Ortiz et als. #ITP #Coq #Rocq Formalizing reve
Integrating effectful and persistent. ~ Jack Kelly. https://exploring-better-ways.bellroy.com/integrating-effectful-and-persistent.html #Haskell #FunctionalProgramming
exploring-better-ways.bellroy.com
Writing effect handlers for a library which pervasively uses IO.
The minimal megaparsec tutorial. ~ Clément Hurlin. https://www.tweag.io/blog/2025-04-24-minimal-megaparsec-tutorial/ #Haskell #FunctionalProgramming
tweag.io
The shortest megaparsec tutorial there is to write your first DSL parser
The minimal megaparsec tutorial. ~ Clément Hurlin. https://www.tweag.io/blog/2025-04-24-minimal-megaparsec-tutorial/ #Haskell #FunctionalProgramming
tweag.io
The shortest megaparsec tutorial there is to write your first DSL parser
"Data.Graph.stronglyConnCompR" from "containers" distinguishes between isolated vertices and vertices with self-loops, which is the behavior I needed 👍
https://hackage-content.haskell.org/package/containers-0.8/docs/Data-Graph.html#v:stronglyConnCompR
https://hackage-content.haskell.org/package/containers-0.8/docs/Data-Graph.html#t:SCC
I've created a PR in #Nixkell, a simple #Nix #Haskell setup framework, to add support for easy building of statically-linked executables (https://github.com/pwm/nixkell/pull/50). I'd appreciate it if any Nixkell users gives it a try for their projects. I've been using this code for a couple of my projects, and it works fine for me, but I'd like to have more working examples.
github.com
This PR adds support for easily building statically-linked executable using Nixkell and Nix. Majorly, it: adds an overlays-static.nix file that configures GHC and Haskell packages for building sta...
Is there any org in #Bangalore that would like to lend their space for an #FPIndia meetup? Please dm
#India #FunctionalProgramming #Meetup #Haskell #PureScript #Erlang #Elixir #OCaml #Scala #Clojure
Is there any org in #Bangalore that would like to lend their space for an #FPIndia meetup? Please dm
#India #FunctionalProgramming #Meetup #Haskell #PureScript #Erlang #Elixir #OCaml #Scala #Clojure
Full Time Nix | Horizon Haskell with Daniel Firth (Podcast)
https://fulltimenix.com/episodes/horizon-haskell-with-daniel-firth
Discussions: https://discu.eu/q/https://fulltimenix.com/episodes/horizon-haskell-with-daniel-firth
discu.eu
Discussions and related articles for «Full Time Nix | Horizon Haskell with Daniel Firth»
Elm test distributions
https://martin.janiczek.cz/2025/05/01/elm-test-distributions.html
Discussions: https://discu.eu/q/https://martin.janiczek.cz/2025/05/01/elm-test-distributions.html
discu.eu
Discussions and related articles for «Elm test distributions | Martin Janiczek»
GHC String Interpolation Survey - Final Results
https://discourse.haskell.org/t/ghc-string-interpolation-survey-final-results/11971
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-string-interpolation-survey-final-results/11971
discu.eu
Discussions and related articles for «GHC String Interpolation Survey - Final Results - Haskell Community»
[Well-Typed] Explicit Level Imports awarded best paper at TFP 2025
https://www.well-typed.com/blog/2025/04/explicit-level-imports/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2025/04/explicit-level-imports/
discu.eu
Discussions and related articles for «Explicit Level Imports awarded best paper at TFP 2025 - Well-Typed: The Haskell Consultants»
[Well-Typed] Explicit Level Imports awarded best paper at TFP 2025
https://www.well-typed.com/blog/2025/04/explicit-level-imports/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2025/04/explicit-level-imports/
discu.eu
Discussions and related articles for «Explicit Level Imports awarded best paper at TFP 2025 - Well-Typed: The Haskell Consultants»
Explicit Level Imports awarded best paper at TFP 2025
https://www.well-typed.com/blog/2025/04/explicit-level-imports/
The paper (pdf) https://www.well-typed.com/blog/aux/files/explicit-level-imports.pdf
![In a cross-compilation setting, the need for the stage distinction is even
clearer, because the runtime stage needs programs that run on the target architecture, whereas the compile-time stage expects programs to run on the host.
Cross-compilers may benefit from three or more stages (see section 5.7).
Levels and stages are often confused in literature but for clarity it is important
to distinguish between them [16]. Both may be represented as numbers, but levels
are offsets (differences relative to common reference point), whereas stages are
absolute values. Levels are a type-system concept as part of the specification of
valid programs, whereas stages are an implementation detail of the compiler.](https://media.social.fedify.dev/media/01968fd7-f5a2-7c20-8c43-046d2b13c00b/thumbnail.webp)
In a cross-compilation setting, the need for the stage distinction is even clearer, because the runtime stage needs programs that run on the target architecture, whereas the compile-time stage expects programs to run on the host. Cross-compilers may benefit from three or more stages (see section 5.7). Levels and stages are often confused in literature but for clarity it is important to distinguish between them [16]. Both may be represented as numbers, but levels are offsets (differences relative to common reference point), whereas stages are absolute values. Levels are a type-system concept as part of the specification of valid programs, whereas stages are an implementation detail of the compiler.

Ultimately, cross-stage persistence forces the build system to compile all modules and require all dependencies for all stages, even if the final program uses only a small fragment of its dependency tree at any particular stage. 3 Implicit stage-persistence considered harmful Implicit stage persistence seems convenient at first, but is the root of many performance and cross-compilation issues in practice. If imported identifiers can be arbitrarily used at any stage, the compiler must pessimistically assume they will be used at all stages, and therefore it needs to compile all modules in a project for both runtime and compile-time. Our design allows implicit path-based cross-stage persistence to be disabled. Identifiers must be used at precisely the level they are bound, and no other levels. Instead, we should be able to explicitly control the level at which identifiers from a module are imported. By being very precise about which levels modules are needed at, there are many real-world advantages: 1. Currently, if a module enables TemplateHaskell, then all imported modules are compiled to object code before name resolution takes place. This ensures that any top level splices that may be encountered are able to be fully evaluated. This is a pessimisation because most of the imported identifiers, which we have taken such pains to ensure we can run, will not actually be used in a top-level splice.

resolution depends on code generation for all dependencies. By distinguishing the small fraction of imported modules whose code is executed only at compile time, we are able to improve this pessimisation. 2. GHC offers an -fno-code flag that instructs the compiler to parse and typecheck Haskell modules, but not to generate code, so as to offer quicker feedback to the user. However, any modules imported by a module using TemplateHaskell must be compiled to object code, despite the fact that we will not generate object code for the module itself. By distinguishing imported modules whose code is executed only at compile time, we can eliminate or significantly reduce this unnecessary work. 3. IDEs such as Haskell Language Server face similar problems: they are interested only in the result of type-checking, but when TemplateHaskell is enabled, many modules have to be unnecessarily compiled to bytecode. 4. Currently, when cross-compiling modules that use TemplateHaskell, all splices are executed on the target even though compilation takes place on a separate host. This is a source of significant complexity. This work is a step towards properly distinguishing dependencies that need to be compiled for and executed on the host from those compiled for the target.

In section 2.3 we said that modules were compiled for either the C or R stages. Levelled imports make it possible to be precise about what stages we need dependencies. – The main module is compiled for R. This is where the main function lives and the entry-point to running the resulting executable. – A normal import does not shift the stage at which the dependent module is required. – If a module M splice imports module A, then compiling M@R requires compiling module A@C. – If a module M splice imports module A, then compiling M@C requires compiling module A@C. – If a module N quote imports module B, then compiling N@C requires compiling module B at N@R. – If a module N quote imports module B, then compiling N@R requires compiling module B at N@R Stage arithmetic is saturating. Thus, when there are two stages, a quote import corresponds to requiring the module at R, and a splice import to requiring a module at C. When there are more than two stages then the imports can have different meanings depending on the stage a module is compiled for. The compiler can then choose appropriately how modules needed at C are compiled and how modules needed at R are compiled. For example: – In -fno-code mode, C modules may be compiled in dynamic way, but R modules are not compiled at all. – When using a profiled GHC. C modules must be compiled in profiled way but R modules will be compiled in static way.
Brisbane Functional Programming Group #BFPG May meetup Tue 2025-05-13. Compiling parametric polymorphism (Isaac Elliott) + 2 years of the #Haskell Security Response Team (Fraser Tweedale). Be there or a be a lambda cube! https://lu.ma/yfkrxawh
lu.ma
Join the BFPG Discord: https://discord.gg/yYz2d8w7FY Agenda 18:00: Welcome and setup Presentation #1: A "third way" of compiling parametric polymorphism -…
Readings shared April 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/28-readings_shared_04-28-25 #FunctionalProgramming #Haskell #ITP #LeanProver #Logic #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 28 April 2025 are Tutte's theorem as an educational formalization project. ~ Pim Otte. #ITP #LeanProver #Math Haskelling my Python (Reimplementing Haskell lazy infin
Generating Mazes with Inductive Graphs (2017)
https://jelv.is/blog/Generating-Mazes-with-Inductive-Graphs/
Discussions: https://discu.eu/q/https://jelv.is/blog/Generating-Mazes-with-Inductive-Graphs/
discu.eu
Discussions and related articles for «Generating Mazes with Inductive Graphs | jelv.is»
From 1 to 100k users: Lessons learned from scaling a Haskell app - Felix Miño | Lambda Days 2024
https://www.youtube.com/watch?v=1LEjxwahQgY
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=1LEjxwahQgY
discu.eu
Discussions and related articles for «From 1 to 100k users: Lessons learned from scaling a Haskell app - Felix Miño | Lambda Days 2024»
Haskell recap for week 17/2025
https://discu.eu/weekly/haskell/2025/17/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Haskelling my Python (Reimplementing Haskell lazy infinite lists using Python generators). ~ Unnamed Website. https://unnamed.website/posts/haskelling-my-python/ #Python #Haskell #FunctionalProgramming #Math
unnamed.website
Reimplementing Haskell lazy infinite lists using Python generators
Power series, power serious. ~ M. Douglas McIlroy (1998). https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=4666d43d39c890cfe88630eb93e39afe3110f930 #Haskell #FunctionalProgramming #Math
"Proofs are Programs" https://www.youtube.com/watch?v=AGnTnbR1sSg
#Philosophy #ComputerScience #Mathematics #CurryHowardCorrespondence #Currying #Haskell #HaskellCurry #TypeTheory #Computation #Logic
youtube.com
The Curry-Howard correspondence is a deep relationship between logic, computation, and type theory. It views proofs as programs and logical formulas as types...
Readings shared April 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/25-readings_shared_04-25-25 #AI #CommonLisp #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 25 April 2025 are Lean 4 formalization of the logic textbook "Logic Notes" by Lou van den Dries. ~ Will Bradley. #ITP #LeanProver #Logic #Math Neural theorem proving
#Exercitium: Duplicación de cada elemento. https://jaalonso.github.io/exercitium/posts/2025/04/25-duplicacion_de_cada_elemento #Haskell #Python #CommonLisp
jaalonso.github.io
Definir la función duplicaElementos :: [a] -> [a] tal que (duplicaElementos xs) es la lista obtenida duplicando cada elemento de xs. Por ejemplo, duplicaElementos [3,2,5] == [3,3,2,2,5,5] duplic
Magical Haskell: A friendly approach to modern functional programming, type theory, and artificial intelligence. ~ Anton Antich. https://books.google.com/books?id=aLBWEQAAQBAJ #Haskell #FunctionalProgramming #AI
books.google.com
Discover a unique and fun approach to adopting modern typed functions programming patterns. This book uses playful metaphors and examples to help you learn Haskell through imagination, building on math without relying on imperative crutches or technical complexity. You’ll use math to build completely different Typed Functional patterns from the ground up and understand the link between building Mathematics through Types and constructing Haskell as a programming language. Intended for working with various applications, especially AI-powered apps, the book gently builds up to what are normally considered complex and difficult concepts all without needing a PhD to understand them. Illustrative explanations will guide you to tackle monads, using monad transformer stacks to structure real programs, foldable and traversable structures, as well as other Type classes. This book will also help you structure programs efficiently and apply your own abstractions to real-life problem domains. Next, you’ll explore exciting advancements in AI, including building with OpenAI APIs, creating a terminal chatbot, adding web functionality, and enhancing with retrieval-augmented generation. Finally, you’ll delve into AI multi-agents and future directions using Arrows abstraction, reinforcing Haskell’s design. Magical Haskell is a solution for programmers who feel limited by imperative programming languages but are also put off by excessively mathematical approaches. What You Will Learn Grasp a solid math foundation without complex technicalities for Types and Typeclasses. Solve problems via a typed functional approach and understand why it’s superior to what’s available in the imperative language world (“if it compiles, it runs”). Build your own abstractions to efficiently resolve problems in any given domain. Develop AI frameworks in Haskell, including chatbots, web functionality, and retrieval-augmented generation. Who This Book Is For Haskell programmers of all levels and those interested in Type Theory.
Porting song recommendations to Haskell. ~ Mark Seemann. https://blog.ploeh.dk/2025/04/21/porting-song-recommendations-to-haskell/ #Haskell #FunctionalProgramming
blog.ploeh.dk
An F# code base translated to Haskell.
Integrating effectful and persistent. ~ Jack Kelly. https://exploring-better-ways.bellroy.com/integrating-effectful-and-persistent.html #Haskell #FunctionalProgramming
exploring-better-ways.bellroy.com
Writing effect handlers for a library which pervasively uses IO.
Implementing Unsure Calculator in 100 lines of Haskell. ~ Rodrigo Mesquita. https://alt-romes.github.io/posts/2025-04-25-unsure-calculator-in-100-lines-of-haskell.html #Haskell #FunctionalProgramming
alt-romes.github.io
Implementing a calculator with normal ranges, embedded in Haskell, using a simplified probability monad.
Readings shared April 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/24-readings_shared_04-24-25 #CommonLisp #Haskell #ITP #IsabelleHOL #LeanProver #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 24 April 2025 are On the averaging problem of ideal families related to Frankl's conjecture with formal proof by Lean 4. ~ Masahiro Hachimori, Kenji Kashiwabara. #IT
Implementing Unsure Calculator in 100 lines of Haskell
https://alt-romes.github.io/posts/2025-04-25-unsure-calculator-in-100-lines-of-haskell.html
Discussions: https://discu.eu/q/https://alt-romes.github.io/posts/2025-04-25-unsure-calculator-in-100-lines-of-haskell.html
discu.eu
Discussions and related articles for «Implementing Unsure Calculator in 100 lines of Haskell»
Accidentally Quadratic — Revisiting Haskell Network.HTTP (2015)
https://accidentallyquadratic.tumblr.com/post/114149142587/revisiting-haskell-networkhttp
Discussions: https://discu.eu/q/https://accidentallyquadratic.tumblr.com/post/114149142587/revisiting-haskell-networkhttp
#Exercitium: Sistema factorádico de numeración. https://jaalonso.github.io/exercitium/posts/2025/04/24-sistema_factoradico_de_numeracion #Haskell #Python #CommonLisp
jaalonso.github.io
El sistema factorádico es un sistema numérico basado en factoriales en el que el n-ésimo dígito, empezando desde la derecha, debe ser multiplicado por n! Por ejemplo, el número "341010" en el sistema
Readings shared April 23, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/23-readings_shared_04-23-25 #CommonLisp #Education #GenerativeAI #Haskell #IsabelleHOL #LeanProver #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 23 April 2025 are Bullshit universities: the future of automated education. ~ Robert Sparrow, Gene Flenady. #GenerativeAI #Education #Exercitium: Suma de cadenas. #H
Active Automata Learning in Haskell
https://github.com/steve-anunknown/haal
Discussions: https://discu.eu/q/https://github.com/steve-anunknown/haal
discu.eu
Discussions and related articles for «GitHub - steve-anunknown/haal: Haskell Active Automata Learning library»
Broad search for any Traversable
https://github.com/effectfully-ou/haskell-challenges/tree/master/h9-traversable-search
Discussions: https://discu.eu/q/https://github.com/effectfully-ou/haskell-challenges/tree/master/h9-traversable-search
discu.eu
Discussions and related articles for «haskell-challenges/h9-traversable-search at master · effectfully-ou/haskell-challenges · GitHub»
#Exercitium: Suma de cadenas. https://jaalonso.github.io/exercitium/posts/2025/04/23-suma_de_cadenas/ #Haskell #Python #CommonLisp
jaalonso.github.io
Definir la función sumaCadenas :: String -> String -> String tal que (sumaCadenas xs ys) es la cadena formada por el número entero que es la suma de los números enteros cuyas cadenas que lo represen
Readings shared April 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/22-readings_shared_04-22-25 #CommonLisp #Datalog #Haskell #IsabelleHOL #LLMs #LeanProver #Logic #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 22 April 2025 are The inverse method is a good fit for Datalog theorem proving. ~ Philip Zucker. #Datalog #Logic In between myth and reality: AI for math (a case stu
Project: M36 (Relational Algebra Engine)
https://github.com/agentm/project-m36
Discussions: https://discu.eu/q/https://github.com/agentm/project-m36
"Writing modules with the assumption they will be imported qualified made a big improvement to my Haskell code."
https://discourse.haskell.org/t/long-function-names-for-real-world-code/11837/14
discourse.haskell.org
When reading other people’s code, I found the following combination a good trade-off between succinctness and clarity: qualified imports concise names in imported modules (like @elaforge) suggested Haddock-generated source annotation that gives you the type and module as tool-tip and hyperlinks 100% agree with this advice. Writing modules with the assumption they will be imported qualified made a big improvement to my Haskell code. It’s a great tool for reflecting context in the way I was ...
GHC String Interpolation - Final Survey
https://discourse.haskell.org/t/ghc-string-interpolation-final-survey/11895
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-string-interpolation-final-survey/11895
discu.eu
Discussions and related articles for «GHC String Interpolation - Final Survey - Announcements - Haskell Community»
#Exercitium: Cuadrado más cercano. https://jaalonso.github.io/exercitium/posts/2025/04/22-cuadrado_mas_cercano #Haskell #Python #CommonLisp
jaalonso.github.io
Definir la función cuadradoCercano :: Integer -> Integer tal que (cuadradoCercano n) es el número cuadrado más cercano a n, donde n es un entero positivo. Por ejemplo, cuadradoCercano 2 == 1 c
Readings shared April 21, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/21-readings_shared_04-21-25 #CommonLisp #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 21 April 2025 are A formalisation of Aristotle’s assertoric syllogistic in Isabelle/HOL. ~ Angeliki Koutsoukou-Argyraki, Karol Wapniarski. #ITP #IsabelleHOL #Logic N
Greetings ZuriHackers!
Do you have a project you want to work on during ZuriHac? Now is a great time to get some contributors on board!
Do you not have a project yet? Then perhaps you want to have a look to get an idea about what others are working on!
Please find already registered projects at
https://zfoh.ch/zurihac2025/projects/ or submit a PR at https://github.com/zfoh/zfoh.ch/edit/main/content/zurihac2025/projects/projects.json!
github.com
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
Haskell recap for week 16/2025
https://discu.eu/weekly/haskell/2025/16/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Greetings ZuriHackers!
Do you have a project you want to work on during ZuriHac? Now is a great time to get some contributors on board!
Do you not have a project yet? Then perhaps you want to have a look to get an idea about what others are working on!
Please find already registered projects at
https://zfoh.ch/zurihac2025/projects/ or submit a PR at https://github.com/zfoh/zfoh.ch/edit/main/content/zurihac2025/projects/projects.json!
github.com
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
#Exercitium: Divisores de un número con final dado. https://jaalonso.github.io/exercitium/posts/2014/06/16-divisores_con_final/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función divisoresConFinal :: Integer -> Integer -> [Integer] tal que (divisoresConFinal n m) es la lista de los divisores de n cuyos dígitos finales coincide con m. Por ejemplo, divisores
Readings shared April 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/20-readings_shared_04-20-25 #FunctionalProgramming #Haskell #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 20 April 2025 are Readings shared April 19, 2025. #Algorithms #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #MachineLearning #Math #Python #SMT #Z3 G
If you’re a #haskell user or a proponent of #functionalprogramming please consider donating to the #Purescript project to keep it alive.
It’s a fairly obscure project but, IMO, it is THE language for web #frontend.
On top of that, the backend was recently rewritten in #ChezScheme which tends to be very popular choice in the #formalmethods world due to its rigor.
I see #ghcjs nipping at its heels but IMO, PS will always be a more bespoke and opinionated tool.

opencollective.com
If you’re a #haskell user or a proponent of #functionalprogramming please consider donating to the #Purescript project to keep it alive.
It’s a fairly obscure project but, IMO, it is THE language for web #frontend.
On top of that, the backend was recently rewritten in #ChezScheme which tends to be very popular choice in the #formalmethods world due to its rigor.
I see #ghcjs nipping at its heels but IMO, PS will always be a more bespoke and opinionated tool.

opencollective.com
GSoC proposal : Documenting and improving cmm
https://discourse.haskell.org/t/gsoc-2025-documenting-and-improving-cmm/11870
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/gsoc-2025-documenting-and-improving-cmm/11870
discu.eu
Discussions and related articles for «GSoC 2025: Documenting and Improving Cmm - Show and Tell - Haskell Community»
#Exercitium: Órbita prima. https://jaalonso.github.io/exercitium/posts/2014/06/13-orbita_prima/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
La órbita prima de un número n es la sucesión construida de la siguiente forma: si n es compuesto su órbita no tiene elementos si n es primo, entonces n está en su órbita; además, sumamos n y sus díg
Readings shared April 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/19-readings_shared_04-19-25 #Algorithms #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #MachineLearning #Math #Python #SMT #Z3
jaalonso.github.io
The readings shared in Bluesky on 19 April 2025 are Knuckledragger: A low barrier proof assistant. ~ Philip Zucker. #ITP #SMT #Z3 #Python Neural theorem proving tutorial. ~ Sean Welleck. #MachineLear
falsify: Hypothesis-inspired shrinking for Haskell
https://well-typed.com/blog/2023/04/falsify/
Discussions: https://discu.eu/q/https://well-typed.com/blog/2023/04/falsify/
discu.eu
Discussions and related articles for «falsify: Hypothesis-inspired shrinking for Haskell - Well-Typed: The Haskell Consultants»
#Exercitium: Ordenada cíclicamente. https://jaalonso.github.io/exercitium/posts/2014/06/12-ordenada_ciclicamente/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Se dice que una sucesión x(1), ..., x(n) está ordenada cíclicamente si existe un índice i tal que la sucesión x(i), x(i+1), ..., x(n), x(1), ..., x(i-1) está ordenada creciente de forma estricta. De
Readings shared April 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/18-readings_shared_04-18-25 #FunctionalProgramming #Haskell #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 18 April 2025 are #Exercitium: Eliminación de las ocurrencias aisladas. #Haskell #ProgramaciónFuncional #Calculemus: Demostraciones con Lean4 y con Isabelle/HOL de "
[ANNOUNCE] GHC 9.10.2 is now available
https://discourse.haskell.org/t/ghc-9-10-2-rc1-is-now-available/11882
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-9-10-2-rc1-is-now-available/11882
discu.eu
Discussions and related articles for «GHC 9.10.2-rc1 is now available - Announcements - Haskell Community»
GHC 9.10.2 release candidate 1 is now available for your testing. This is a big release for a minor release; far too many bug fixes to list. As always, please do open a ticket if you findanything amiss.
Happy Haskelling!
#Exercitium: Eliminación de las ocurrencias aisladas. https://jaalonso.github.io/exercitium/posts/2014/06/11-elimina_aisladas/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función eliminaAisladas :: Eq a => a -> [a] -> [a] tal que (eliminaAisladas x ys) es la lista obtenida eliminando de ys las ocurrencias aisladas de x (es decir, aquellas ocurrencias de x
Readings shared April 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/17-readings_shared_04-17-25 #Agda #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 17 April 2025 are Formalization of Fraïssé limits in Lean. ~ Gabin Kolly. #ITP #LeanProver #Math A readable and computable formalization of the Streamlet consensus p
Integrating Effectful and Persistent
https://exploring-better-ways.bellroy.com/integrating-effectful-and-persistent.html
Discussions: https://discu.eu/q/https://exploring-better-ways.bellroy.com/integrating-effectful-and-persistent.html
discu.eu
Discussions and related articles for «Integrating Effectful and Persistent»
Save the date: Munihac • 2025-09-[12..14] • Munich
Discussions: https://discu.eu/q/https://munihac.de/2025.html
discu.eu
Discussions and related articles for «MuniHac 2025»
Frontend live-coding via ghci
https://www.tweag.io/blog/2025-04-17-wasm-ghci-browser
Discussions: https://discu.eu/q/https://www.tweag.io/blog/2025-04-17-wasm-ghci-browser
discu.eu
Discussions and related articles for «Frontend live-coding via ghci - Tweag»
#Exercitium: Emparejamiento de árboles. https://jaalonso.github.io/exercitium/posts/2014/06/10-emparejamiento_de_arboles/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Los árboles se pueden representar mediante el siguiente tipo de datos data Arbol a = N a [Arbol a] deriving (Show, Eq) Por ejemplo, los árboles 1 3 / \ /|\ 6 3
The Haskell Unfolder Episode 42: Logic programming with typedKanren. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/ukk5JDRYQSc #Haskell #FunctionalProgramming
youtube.com
Functional programming is programming with mathematical functions, mapping inputs to outputs. By contrast, logic programming---perhaps best known from the la...
Concurrency in Haskell: Fast, Simple, Correct
https://bitbashing.io/haskell-concurrency.html
Discussions: https://discu.eu/q/https://bitbashing.io/haskell-concurrency.html
discu.eu
Discussions and related articles for «Concurrency in Haskell: Fast, Simple, Correct»
The Haskell Unfolder Episode 42: Logic programming with typedKanren. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/ukk5JDRYQSc #Haskell #FunctionalProgramming
youtube.com
Functional programming is programming with mathematical functions, mapping inputs to outputs. By contrast, logic programming---perhaps best known from the la...
The Haskell Unfolder Episode 42: logic programming with typedKanren
https://www.youtube.com/watch?index=42&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ukk5JDRYQSc
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=42&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ukk5JDRYQSc
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 42: logic programming with typedKanren»
LLM-powered Typed-Holes
https://github.com/Tritlo/OllamaHoles
Discussions: https://discu.eu/q/https://github.com/Tritlo/OllamaHoles
Readings shared April 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/15-readings_shared_04-15-25 #CommonLisp #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Lisp #Math #Programming #RacketLang
jaalonso.github.io
The readings shared in Bluesky on 15 April 2025 are Simplified and verified: A second look at a proof-producing union-find algorithm. ~ Lukas Stevens, Rebecca Ghidini. #ITP #IsabelleHOL First-order r
#Haskell Language Server 2.10.0.0 release announcement!
blog.haskell.org
Horizon Haskell (Road To GHC 9.14) Playlist
https://www.youtube.com/playlist?list=PL5S993hswMpSEXZpYFt4o0PzPpxZQ_UOu
Discussions: https://discu.eu/q/https://www.youtube.com/playlist?list=PL5S993hswMpSEXZpYFt4o0PzPpxZQ_UOu
discu.eu
Discussions and related articles for «Horizon Haskell (Road To GHC 9.14) Playlist»
#Haskell Language Server 2.10.0.0 release announcement!
blog.haskell.org
#Exercitium: Separación por posición. https://jaalonso.github.io/exercitium/posts/2014/06/09-separacion_por_posicion/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función particion :: [a] -> ([a],[a]) tal que (particion xs) es el par cuya primera componente son los elementos de xs en posiciones pares y su segunda componente son los restantes elemen
The #Haskell #Unfolder is two years old! Join us for a new episode tomorrow, 2025-04-16, at 1830 UTC, live on YouTube. This time, the topic is logic programming with typedKanren, which is a typed version of #miniKanren embedded into Haskell.
https://www.youtube.com/watch?v=ukk5JDRYQSc&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=42
youtube.com
Functional programming is programming with mathematical functions, mapping inputs to outputs. By contrast, logic programming---perhaps best known from the la...
Adding SVG support to my Haskell CAD Library
https://doscienceto.it/blog/posts/2025-04-14-waterfall-cad-svg.html
Discussions: https://discu.eu/q/https://doscienceto.it/blog/posts/2025-04-14-waterfall-cad-svg.html
discu.eu
Discussions and related articles for «Joe Warren - Waterfall CAD has SVG support now»
Evaluating AI's Impact on Haskell Open Source Development
https://www.well-typed.com/blog/2025/04/ai-impact-open-source-haskell/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2025/04/ai-impact-open-source-haskell/
discu.eu
Discussions and related articles for «Evaluating AI's Impact on Haskell Open Source Development - Well-Typed: The Haskell Consultants»
"Super Haskell": an introduction to Agda by André Muricy
https://adabeat.com/fps/super-haskell-an-introduction-to-agda-by-andre-muricy/
Discussions: https://discu.eu/q/https://adabeat.com/fps/super-haskell-an-introduction-to-agda-by-andre-muricy/
discu.eu
Discussions and related articles for «"Super Haskell": an introduction to Agda by André Muricy - Ada Beat»
#Exercitium: Número de inversiones. https://jaalonso.github.io/exercitium/posts/2014/06/06-numero_de_inversiones/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Se dice que en una sucesión de números x(1), x(2), ..., x(n) hay una inversión cuando existe un par de números x(i) > x(j), siendo i < j. Por ejemplo, en la permutación 2, 1, 4, 3 hay dos inversiones
Haskell recap for week 15/2025
https://discu.eu/weekly/haskell/2025/15/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Readings shared April 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/13-readings_shared_04-13-25 #AI #ATP #Coq #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Mace4 #Math #Prover9 #SetTheory
jaalonso.github.io
The readings shared in Bluesky on 13 April 2025 are Completeness of decreasing diagrams for the least uncountable cardinality (in Isabelle/HOL). ~ Ievgen Ivanov. #ITP #IsabelleHOL #Math #SetTheory Ef
#Exercitium: Descomposiciones triangulares. https://jaalonso.github.io/exercitium/posts/2014/06/05-descomposiciones_triangulares/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los números triangulares se forman como sigue * * * * * * * * * * 1 3 6 La sucesión de los números triangulares se obtiene sumando los números naturales. Así, lo
Readings shared April 12, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/12-readings_shared_04-12-25 #FunctionalProgramming #Haskell #LLMs
jaalonso.github.io
The readings shared in Bluesky on 12 April 2025 are Evaluating AI's impact on Haskell open source development. ~ Matthew Pickering, Sam Derbyshire. #LLMs #Haskell #FunctionalProgramming #Exercitium:
Whelp. Just got let go. They actually disabled my account while I was in the exit interview. Corporate IT is _cold_.
Anyway, I guess I'm looking for a new position maybe even be #FediHired ?
I have to live in Cove, AR with my disabled family, so it will probably need to be 100% remote.
I'd prefer to keep doing #Haskell or try out #PureScript in production, or even something more exotic like #Agda or #Idris
#Exercitium: Índices de valores verdaderos. https://jaalonso.github.io/exercitium/posts/2014/06/04-indices_verdaderos/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función indicesVerdaderos :: [Int] -> [Bool] tal que (indicesVerdaderos xs) es la lista infinita de booleanos tal que sólo son verdaderos los elementos cuyos índices pertenecen a la lista
Evaluating AI's impact on Haskell open source development. ~ Matthew Pickering, Sam Derbyshire. https://well-typed.com/blog/2025/04/ai-impact-open-source-haskell/ #LLMs #Haskell #FunctionalProgramming
well-typed.com
Readings shared April 11, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/11-readings_shared_04-11-25 #Agda #Coq #FunctionalProgramming #Hakell #Haskell #ITP #IsabelleHOL #LeanProver #Math #Rocq #SetTheory
jaalonso.github.io
The readings shared in Bluesky on 11 April 2025 are Code generation via meta-programming in dependently typed proof assistants. ~ Mathis Bouverot-Dupuis, Yannick Forster. #ITP #Agda #Rocq #LeanProver
Whelp. Just got let go. They actually disabled my account while I was in the exit interview. Corporate IT is _cold_.
Anyway, I guess I'm looking for a new position maybe even be #FediHired ?
I have to live in Cove, AR with my disabled family, so it will probably need to be 100% remote.
I'd prefer to keep doing #Haskell or try out #PureScript in production, or even something more exotic like #Agda or #Idris
#Exercitium: Código de las alergias. https://jaalonso.github.io/exercitium/posts/2014/06/03-alergias/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Para la determinación de las alergia se utiliza los siguientes códigos para los alérgenos: Huevos ........ 1 Cacahuetes .... 2 Mariscos ...... 4 Fresas ........ 8 Tomates ....... 16 Chocolate
A (very niche) footgun in GHC.Generics. ~ welltypedwitch. https://welltypedwitch.bearblog.dev/a-very-niche-footgun-in-ghcgenerics/ #Haskell #FunctionalProgramming
welltypedwitch.bearblog.dev
While working on a project and trying to use to write a function that generates the set of all data constructors of a function (as one does), I ran into a v...
Horizon Haskell (Road To GHC 9.14) #4: Updating horizon-core
https://www.youtube.com/watch?v=Y_Du4trh7qs
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=Y_Du4trh7qs
discu.eu
Discussions and related articles for «Horizon Haskell (Road To GHC 9.14) #4: Updating horizon-core»
Readings shared April 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/10-readings_shared_04-10-25 #AI #ATP #CommonLisp #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Programming #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 10 April 2025 are Canonical for automated theorem proving in Lean. ~ Chase Norman, Jeremy Avigad. #ITP #LeanProver #Math Formalization of gyrovector spaces as models
Purely Functional Sliding Window Aggregation Algorithm
https://byorgey.github.io/blog/posts/2024/11/27/stacks-queues.html
Discussions: https://discu.eu/q/https://byorgey.github.io/blog/posts/2024/11/27/stacks-queues.html
discu.eu
Discussions and related articles for «blog :: Brent -> [String] - Competitive Programming in Haskell: stacks, queues, and monoidal sliding windows»
Search index in 150 lines of Haskell. ~ kqr. https://entropicthoughts.com/search-index-150-lines-haskell #Haskell #FunctionalProgramming
entropicthoughts.com
Hey my Haskell curious friends. When I got started I picked up a copy of Learn You a Haskell. It's good but for someone who thought that functional programming meant breaking your c code into functions, it's a bit like sipping from the fire hose. I picked up a copy of Haskell: The Craft of Functional Programming. It's got a lot more background on how to think about Functional Programming. Paper copies are cheap but you can get a copy here for free: https://www.haskellcraft.com/craft3e/Home.html #haskell #programming
haskellcraft.com
Back and forth communication with Streaming library
https://hackage.haskell.org/package/streaming
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/streaming
Non-Obvious Haskell Idiom: Conditional For
https://entropicthoughts.com/non-obvious-haskell-idiom-conditional-for
Discussions: https://discu.eu/q/https://entropicthoughts.com/non-obvious-haskell-idiom-conditional-for
discu.eu
Discussions and related articles for «Non-Obvious Haskell Idiom: Conditional For»
Search Index in 150 Lines of Haskell
https://entropicthoughts.com/search-index-150-lines-haskell
Discussions: https://discu.eu/q/https://entropicthoughts.com/search-index-150-lines-haskell
discu.eu
Discussions and related articles for «Search Index in 150 Lines of Haskell»
Readings shared April 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/08-readings_shared_04-08-25 #AI #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #LogicProgramming #Math #Prolog
jaalonso.github.io
The readings shared in Bluesky on 8 April 2025 are DMTL4: Discrete mathematics and theory in Lean 4. ~ Kevin Sullivan. #ITP #LeanProver #Math Course Cs2120f24: Discrete mathematics and theory in Lean
cabal-install 3.14.2.0 released
https://discourse.haskell.org/t/cabal-install-3-14-2-0-released/11800
With a number of very important regression fixes! Try it now!
Many thanks to our release manager Mikolaj Konarski and all contributors!
Boosts for reach appreciated!
discourse.haskell.org
Cabal team is happy to announce the release of cabal-install tool version 3.14.2.0 and related libraries. Early adopters that have switched to the vanilla ghcup channel can already install it via ghcup install cabal 3.14.2.0 && ghcup set cabal 3.14.2.0 while others may want to wait for the main ghcup channel to include the release, possibly with more architectures supported than on the vanilla channel. Another early adopter option is ghcup --no-cache install cabal -u 'https://gitlab.haskell.o...
Parser Combinators Beat Regexes
https://entropicthoughts.com/parser-combinators-beat-regexes
Discussions: https://discu.eu/q/https://entropicthoughts.com/parser-combinators-beat-regexes
#Exercitium: Reiteración de una función. https://jaalonso.github.io/exercitium/posts/2014/05/30-reiteracion_de_funciones/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función reiteracion :: (a -> a) -> Int -> a -> a tal que (reiteracion f n x) es el resultado de aplicar n veces la función f a x. Por ejemplo, reiteracion (+1) 10 5 == 15 reiteracion (+
text-builder: Fast strict text builder
https://hackage.haskell.org/package/text-builder
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/text-builder
discu.eu
Discussions and related articles for «text-builder: Fast strict text builder»
cabal-install 3.14.2.0 released
https://discourse.haskell.org/t/cabal-install-3-14-2-0-released/11800
With a number of very important regression fixes! Try it now!
Many thanks to our release manager Mikolaj Konarski and all contributors!
Boosts for reach appreciated!
discourse.haskell.org
Cabal team is happy to announce the release of cabal-install tool version 3.14.2.0 and related libraries. Early adopters that have switched to the vanilla ghcup channel can already install it via ghcup install cabal 3.14.2.0 && ghcup set cabal 3.14.2.0 while others may want to wait for the main ghcup channel to include the release, possibly with more architectures supported than on the vanilla channel. Another early adopter option is ghcup --no-cache install cabal -u 'https://gitlab.haskell.o...
A small Haskell task
https://abuseofnotation.github.io/haskell-task/
Discussions: https://discu.eu/q/https://abuseofnotation.github.io/haskell-task/
discu.eu
Discussions and related articles for «Abuse of Notation - writings on math, logic, philosophy and art - A small Haskell task»
[ANN] dataframe 0.1.0.0
https://hackage.haskell.org/package/dataframe-0.1.0.0
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/dataframe-0.1.0.0
discu.eu
Discussions and related articles for «dataframe: An intuitive, dynamically-typed DataFrame library.»
Hasochism: The Pleasure and Pain of Dependently Typed Haskell Programming
https://personal.cis.strath.ac.uk/conor.mcbride/pub/hasochism.pdf
Discussions: https://discu.eu/q/https://personal.cis.strath.ac.uk/conor.mcbride/pub/hasochism.pdf
Curso "Lógica matemática y fundamentos (2011-12)". https://jaalonso.github.io/cursos/lmf-11 #Lógica #Haskell #ProgramaciónFuncional
Haskell recap for week 14/2025
https://discu.eu/weekly/haskell/2025/14/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Ready to geek out over functional programming? Join us for the upcoming FPIndia Bangalore meetup!
https://hasgeek.com/fpindia/bangalore-fp-april-meetup/
#Bangalore #FunctionalProgramming #FPIndia #Meetup #India #Haskell #PureScript #OCaml #Elixir #Clojure #Scala
hasgeek.com
Bangalore FP April meetup
#Exercitium: Elementos de una matriz con algún vecino menor. https://jaalonso.github.io/exercitium/posts/2014/05/29-algun_vecino_menor/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las matrices puede representarse mediante tablas cuyos índices son pares de números naturales. Su tipo se define por type Matriz = Array (Int,Int) Int Por ejemplo, la matriz |9 4 6 5| |8 1 7 3| |4 2
An introduction to typeclass metaprogramming. ~ Alexis King. https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/ #Haskell #FunctionalProgramming
lexi-lambda.github.io
Verified program extraction in number theory: The fundamental theorem of arithmetic and relatives. ~ Franziskus Wiesnet. https://arxiv.org/abs/2504.03460 #ITP #Minlog #Haskell #FunctionalProgramming #Math

arxiv.org
This article revisits standard theorems from elementary number theory through a constructive, algorithmic, and proof-theoretic lens, within the theory of computable functionals. Key examples include Bèzout's identity, the fundamental theorem of arithmetic, and Fermat's factorization method. All definitions and theorems are fully formalized in the proof assistant Minlog, thereby laying the foundation for a comprehensive formal framework for number theory within Minlog. While formalization ensures correctness, our primary emphasis is on the computational content of proofs. Leveraging Minlog's built-in program extraction, we obtain executable terms that are exported as Haskell code. Efficiency of the extracted programs plays a central role. We show how performance considerations influence even the initial formulation of theorems and proofs. In particular, we compare formalizations based on binary encodings of natural numbers with those using the traditional unary (successor-based) representation. We present several core proofs in detail and reflect on the challenges that arise from formalization in contrast to informal reasoning. The complete formalisation is available online and linked for reference. Minlog's tactic scripts are designed to follow the structure of natural-language proofs, allowing each derivation step to be traced precisely and helping to bridge the gap between formal and classical mathematical reasoning.
Readings shared April 6, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/06-readings_shared_04-06-25 #AI #Haskell #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #ProgramaciónFuncional #Prolog
jaalonso.github.io
The readings shared in Bluesky on 6 April 2025 are Prolog vs LLMs: A complementary approach to AI (according to DeepSeek). #Prolog #LogicProgramming #LLMs #AI #Exercitium: Enumeración de árboles bina
The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction - oldie but goodie
https://fpilluminated.org/deck/259
Discussions: https://discu.eu/q/https://fpilluminated.org/deck/259
discu.eu
Discussions and related articles for «The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction»
The Open-Closed Principle - Part 1 - oldie but goodie
https://fpilluminated.org/deck/258
Discussions: https://discu.eu/q/https://fpilluminated.org/deck/258
discu.eu
Discussions and related articles for «The Open-Closed Principle - Part 1 - The Original Version»
#Exercitium: Enumeración de árboles binarios. https://jaalonso.github.io/exercitium/posts/2014/05/28-enumera_arbol/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Los árboles binarios se pueden representar mediante el tipo Arbol definido por data Arbol a = H a | N (Arbol a) a (Arbol a) deriving Show Por ejemplo, el árbol "B"
Readings shared April 5, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/05-readings_shared_04-05-25 #FunctionalProgramming #Haskell #IsabelleHOL #LeanProver #Logic #LogicProgramming #Math #Prolog
jaalonso.github.io
The readings shared in Bluesky on 5 April 2025 are Building AI for mathematical reasoning. ~ Chris Garcia. #Prolog #LogicProgramming #Logic #Math #Exercitium: Números triangulares con n cifras distin
What chapters from the GHC User's Guide you'd recommend?
https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/
Discussions: https://discu.eu/q/https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/
discu.eu
Discussions and related articles for «An introduction to typeclass metaprogramming»
#Exercitium: Números triangulares con n cifras distintas. https://jaalonso.github.io/exercitium/posts/2014/05/27-triangulares_con_cifras/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los números triangulares se forman como sigue * * * * * * * * * * 1 3 6 La sucesión de los números triangulares se obtiene sumando los números natura
Readings shared April 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/04-readings_shared_04-04-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #Maxima
jaalonso.github.io
The readings shared in Bluesky on 4 April 2025 are Learning Lean in the age of Artificial Intelligence. ~ Adolfo Neto. #ITP #LeanProver Guessing game: Haskell style. ~ kqr. #Haskell #FunctionalProgra
Exámenes de programación funcional con Haskell (curso 2011–12). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol3/master/Libro/Examenes_de_PF_con_Haskell_Vol3.pdf #Haskell #ProgramaciónFuncional
Ejercicios de programación funcional con Haskell (curso 2011–12). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-11/ejercicios/ejercicios-I1M-2011.pdf #Haskell #ProgramaciónFuncional
Temas de "Programación funcional" (2011-12). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/i1m-11/temas/2011-12-IM-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2011-12)". https://jaalonso.github.io/cursos/i1m-11 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
#Exercitium: Trenzado de listas. https://jaalonso.github.io/exercitium/posts/2014/05/26-trenzado_de_listas/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función trenza :: [a] -> [a] -> [a] tal que (trenza xs ys) es la lista obtenida intercalando los elementos de xs e ys. Por ejemplo, trenza [5,1] [2,7,4] == [5,2,1,7]
Function application needs to grow a spine already. ~ Thunderseethe. https://thunderseethe.dev/posts/function-application-grow-a-spine/ #Haskell #FunctionalProgramming
thunderseethe.dev
Typechecking multiple applications at a time opens new opportunities for inferring types
Guessing game: Haskell style. ~ kqr. https://entropicthoughts.com/guessing-game-haskell-style #Haskell #FunctionalProgramming
entropicthoughts.com
Readings shared April 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/03-readings_shared_04-03-25 #AI #AlphaProof #CategoryTheory #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 3 April 2025 are Morley's theorem (in Isabelle/HOL). ~ Benjamin Puyobro. #ITP #IsabelleHOL #Math Category theory using Haskell (An introduction with Moggi and Yoneda
Why we decided to go for the Big Rewrite (2019)
https://www.channable.com/tech/why-we-decided-to-go-for-the-big-rewrite
Discussions: https://discu.eu/q/https://www.channable.com/tech/why-we-decided-to-go-for-the-big-rewrite
discu.eu
Discussions and related articles for «Why we decided to go for the Big Rewrite»
Horizon Haskell: Road To GHC 9.14 #3: Updating horizon-build-packages
https://www.youtube.com/watch?v=eU0Ip3XYS9M
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=eU0Ip3XYS9M
discu.eu
Discussions and related articles for «Horizon Haskell: Road To GHC 9.14 #3: Updating horizon-build-packages»
Calling Rust from Haskell
https://willmcpherson2.com/2025/04/03/calling-rust-from-haskell.html
Discussions: https://discu.eu/q/https://willmcpherson2.com/2025/04/03/calling-rust-from-haskell.html
discu.eu
Discussions and related articles for «Calling Rust from Haskell | willmcpherson2»
#Exercitium: Biparticiones de una lista. https://jaalonso.github.io/exercitium/posts/2014/05/23-biparticiones_de_una_lista/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función biparticiones :: [a] -> [([a],[a])] tal que (biparticiones xs) es la lista de pares formados por un prefijo de xs y el resto de xs. Por ejemplo, λ> biparticiones [3,2,5]
Category theory using Haskell (An introduction with Moggi and Yoneda). ~ Shuichi Yukita. https://books.google.com/books?id=4Xc2EQAAQBAJ #CategoryTheory #Math #Haskell #FunctionalProgramming
books.google.com
This unique book offers an introductory course on category theory, which became a working language in algebraic geometry and number theory in the 1950s and began to spread to logic and computer science soon after it was created. Offering excellent use of helpful examples in Haskell, the work covers (among other things) concepts of functors, natural transformations, monads, adjoints, universality, category equivalence, and many others. The main goal is to understand the Yoneda lemma, which can be used to reverse-engineer the implementation of a function. Later chapters offer more insights into computer science, including computation with output, nondeterministic computation, and continuation passing. Topics and features: Contains rigorous mathematical arguments to support the theory Provides numerous Haskell code-implementing examples Engages with plentiful diagram chasing, with special emphasis on the design patterns for constructing a large diagram out of basic small pieces Offers insights into category theory to quantum computing and the foundation of computing discipline Serves as a preparatory course for monoidal categories and higher categories The work will be useful to undergraduate students in computer science who have enough background in college mathematics such as linear algebra and basics in Haskell polymorphic functions. Further, it will appeal to graduate students and researchers in computing disciplines who want to newly acquire serious knowledge of category theory.
Readings shared April 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/02-readings_shared_04-02-25 #FunctionalProgramming #HOL4 #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Mathlib #Prolog
jaalonso.github.io
The readings shared in Bluesky on 2 April 2025 are Basic probability in Mathlib. ~ Rémy Degenne. #ITP #LeanProver #Mathlib #Math GOL in GOL in HOL: Verified circuits in Conway's game of life. ~ Magnu
#Exercitium: Mayor producto de las ramas de un árbol. https://jaalonso.github.io/exercitium/posts/2014/05/22-mayor_producto_de_las_ramas_de_un_arbol/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los árboles se pueden representar mediante el siguiente tipo de datos data Arbol a = N a [Arbol a] deriving Show Por ejemplo, los árboles 1 3 / \ /|\ 2
Faking ADTs and GADTs in languages that shouldn't have them. ~ Justin Lê. https://blog.jle.im/entry/faking-adts-and-gadts.html #Haskell #FunctionalProgramming
blog.jle.im
Haskell is the world’s best programming language, but let’s face the harsh reality that a lot of times in life you’ll have to write in other programming languages. But alas you have been fully Haskell-brained and lost all ability to program unless it is type-directed, you don’t even know how to start writing a program without imagining its shape as a type first. Well, fear not. The foundational theory behind Algebraic Data Types and Generalized Algebraic Data Types (ADTs and GADTs) are so fundamental that they’ll fit (somewhat) seamlessly into whatever language you’re forced to write. After all, if they can fit profunctor optics in Microsoft’s Java code, the sky’s the limit! This is an “April Fools” joke in the tradition of my previous one in some of these ways that we are going to twist these other languages might seem unconventional or possibly ill-advised… but also the title is definitely a lie: these languages definitely should have them! :D
Unfolding trees breadth-first in Haskell. ~ Li-yao Xia. https://blog.poisson.chat/posts/2025-03-30-breadth-first-unfolds.html #Haskell #FunctionalProgramming
blog.poisson.chat
A blog about functional programming
Readings shared April 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/04/01-readings_shared_04-01-25 #AI #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Prolog #SMT #Z3
jaalonso.github.io
The readings shared in Bluesky on 1 April 2025 are A small Prolog on the Z3 AST. ~ Philip Zucker. #Prolog #LogicProgramming #Z3 #SMT STP: Self-play LLM theorem provers with iterative conjecturing and
[Not April Fools] Faking ADTs and GADTs in Languages That Shouldn't Have Them
https://blog.jle.im/entry/faking-adts-and-gadts.html
Discussions: https://discu.eu/q/https://blog.jle.im/entry/faking-adts-and-gadts.html
discu.eu
Discussions and related articles for «Faking ADTs and GADTs in Languages That Shouldn't Have Them · in Code»
#Exercitium: Número de pares de elementos adyacentes iguales en una matriz. https://jaalonso.github.io/exercitium/posts/2014/05/21-pares_adyacentes_iguales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Una matriz se puede representar mediante una lista de listas. Por ejemplo, la matriz |2 1 5| |4 3 7| se puede representar mediante la lista [[2,1,5],[4,3,7]] Definir la función numeroParesAdyacent
Declarative UIs in a functional language - Felipe Almeida Lessa | Lambda Days 2024
https://www.youtube.com/watch?v=R51tulAtIoE
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=R51tulAtIoE
discu.eu
Discussions and related articles for «Declarative UIs in a functional language - Felipe Almeida Lessa | Lambda Days 2024»
Readings shared March 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/31-readings_shared_03-31-25 #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 31 March 2025 are Formally verifying a transformation from MLTL formulas to regular expressions. ~ Zili Wang, Katherine Kosaian, Kristin Yvonne Rozier. #ITP #Isabell
Function Application Needs to Grow a Spine Already
https://thunderseethe.dev/posts/function-application-grow-a-spine/
Discussions: https://discu.eu/q/https://thunderseethe.dev/posts/function-application-grow-a-spine/
discu.eu
Discussions and related articles for «Function Application Needs to Grow a Spine Already · Thunderseethe's Devlog»
Introducing the Haskell Foundation Stability Working Group https://lobste.rs/s/2mpqub #haskell
https://blog.haskell.org/stability-working-group/
blog.haskell.org
Horizon Haskell (Road To GHC 9.14) #2: Building GHC from master
https://www.youtube.com/watch?v=sj5Vyl6LUs4
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=sj5Vyl6LUs4
discu.eu
Discussions and related articles for «Horizon Haskell (Road To GHC 9.14) #2: Building GHC from master»
Introducing the Haskell Foundation Stability Working Group https://lobste.rs/s/2mpqub #haskell
https://blog.haskell.org/stability-working-group/
blog.haskell.org
Haskell recap for week 13/2025
https://discu.eu/weekly/haskell/2025/13/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Today the Haskell Foundation is migrating some of our server infrastructure and upgrading our storage. 💪 #haskellfoundation #haskell
Introducing the Haskell Foundation Stability Working Group
https://blog.haskell.org/stability-working-group/
Discussions: https://discu.eu/q/https://blog.haskell.org/stability-working-group/
discu.eu
Discussions and related articles for «Introducing the Haskell Foundation Stability Working Group | The Haskell Programming Language's blog»
#Exercitium: Elemento más repetido de manera consecutiva. https://jaalonso.github.io/exercitium/posts/2014/05/20-mas_repetido/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función masRepetido :: Ord a => [a] -> (a,Int) tal que (masRepetido xs) es el elemento de xs que aparece más veces de manera consecutiva en la lista junto con el número de sus apariciones
Introducing the #Haskell Foundation Stability Working Group
blog.haskell.org
Unfolding trees breadth-first in Haskell
https://blog.poisson.chat/posts/2025-03-30-breadth-first-unfolds.html
Discussions: https://discu.eu/q/https://blog.poisson.chat/posts/2025-03-30-breadth-first-unfolds.html
discu.eu
Discussions and related articles for «Lysxia - Unfolding trees breadth-first in Haskell»
Readings shared March 30, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/30-readings_shared_03-30-25 #Coq #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math #Maxima
jaalonso.github.io
The readings shared in Bluesky on 30 March 2025 are Towards mechanized verification of Verilog equivalence checking. ~ Michalis Pardalos, Laura Pozzi, John Wickerson. #ITP #Coq Introducing clean, a f
Can't load image as static asset with Servant
Discussions: https://discu.eu/q/http://data.aeson.th
discu.eu
Discussions and related articles for «Can't load image as static asset with Servant»
Exámenes de "Programación funcional con Haskell" Vol. 2 (Curso 2010–11). https://web.archive.org/web/https://raw.githubusercontent.com/jaalonso/Examenes_de_PF_con_Haskell_Vol2/master/Libro/Examenes_de_PF_con_Haskell_Vol2.pdf #Haskell #ProgramaciónFuncional #Matemáticas
Ejercicios de "Informática de 1º de Matemáticas" (2010–11). https://web.archive.org/web/https://www.cs.us.es/~jalonso/cursos/i1m-10/ejercicios/ejercicios-I1M-2010.pdf #Haskell #ProgramaciónFuncional #Matemáticas
Temas de "Programación funcional" (2010-11). https://web.archive.org/web/https://www.cs.us.es/~jalonso/cursos/i1m-10/temas/2010-11-IM-temas-PF.pdf #Haskell #ProgramaciónFuncional
Curso "Informática (2010-11)". https://jaalonso.github.io/cursos/i1m-10 #Haskell #ProgramaciónFuncional #Algorítmica #CálculoSimbólico #Maxima
Unfolding trees breadth-first in Haskell https://discourse.haskell.org/t/unfolding-trees-breadth-first-in-haskell/11739/1
discourse.haskell.org
I wrote a blog post about a fancy way of writing breadth-first walks in Haskell: Lysxia - Unfolding trees breadth-first in Haskell The code is also available as the weave library on Hackage. It was a good excuse to experiment with Backpack and multiple libraries in one package.
Malware is harder to find when written in obscure languages like Delphi and Haskell
https://www.theregister.com/2025/03/29/malware_obscure_languages/
Discussions: https://discu.eu/q/https://www.theregister.com/2025/03/29/malware_obscure_languages/
discu.eu
Discussions and related articles for «Malware is harder to find when written in obscure languages • The Register»
#Exercitium: Regiones determinadas por n rectas del plano. https://jaalonso.github.io/exercitium/posts/2014/05/19-regiones/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
En los siguientes dibujos se observa que el número máximo de regiones en el plano generadas con 1, 2 ó 3 líneas son 2, 4 ó 7, respectivamente. \ | \5|
Readings shared March 29, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/29-readings_shared_03-29-25 #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 29 March 2025 are Lean formalization of generalization error bound by Rademacher complexity. ~ Sho Sonoda, Kazumi Kasaura, Yuma Mizuno, Kei Tsukamoto, Naoto Onda. #I
Contributing to Copilot 4.4
https://github.com/Copilot-Language/copilot/discussions/614
Discussions: https://discu.eu/q/https://github.com/Copilot-Language/copilot/discussions/614
discu.eu
Discussions and related articles for «Issues to address in Copilot 4.4 · Copilot-Language/copilot · Discussion #614 · GitHub»
#Exercitium: Ampliación de matrices por columnas. https://jaalonso.github.io/exercitium/posts/2014/05/16-amplia_columnas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las matrices enteras se pueden representar mediante tablas con índices enteros: type Matriz = Array (Int,Int) Int Definir la función ampliaColumnas :: Matriz -> Matriz -> Matriz tal que (ampliaCol
Readings shared March 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/28-readings_shared_03-28-25 #AI #Calculemus #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #LogicProgramming #Math #Philosophy #Programming #Prolog
jaalonso.github.io
The readings shared in Bluesky on 28 March 2025 are A gentle introduction to Isabelle and Isabelle/HOL. ~ Gunnar Teege. #ITP #IsabelleHOL Verified collaboration: How Lean is transforming mathematics,
I'm thinking about a second edition of Parallel and Concurrent Programming in Haskell...
https://bsky.app/profile/simonmar.bsky.social/post/3llh3fhdot22b
Discussions: https://discu.eu/q/https://bsky.app/profile/simonmar.bsky.social/post/3llh3fhdot22b
discu.eu
Discussions and related articles for «@simonmar.bsky.social on Bluesky»
Scottish Programming Languages and Verification Summer School 2025
https://spli.scot/splv/2025-edinburgh/
Discussions: https://discu.eu/q/https://spli.scot/splv/2025-edinburgh/
discu.eu
Discussions and related articles for «SPLV 2025 | SPLV»
Ejercicios de programación funcional con Haskell (versión del 20 de septiembre de 2007). https://web.archive.org/web/http://www.cs.us.es/~jalonso/cursos/pd-09/temas/ej_prog_Haskell.pdf #Haskell #FunctionalProgramming
Temas de "Programación funcional con Haskell" (2009-10). https://web.archive.org/web/20211024153243/http://www.cs.us.es/~jalonso/cursos/pd-09/temas/temas-PD-PF-2009-10.pdf #Haskell #FunctionalProgramming
Curso "Programación declarativa (2009-10)". https://jaalonso.github.io/cursos/pd-09 #Haskell #FunctionalProgramming #Prolog #LogicProgramming
#Exercitium: Emparejamiento binario. https://jaalonso.github.io/exercitium/posts/2014/05/15-emparejamiento_binario/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Definir la función zipBinario :: [a -> b -> c] -> [a] -> [b] -> [c] tal que (zipBinario fs xs ys) es la lista obtenida aplicando cada una de las operaciones binarias de fs a los correspondientes ele
Readings shared March 27, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/27-readings_shared_03-27-25 #CLP #Coq #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #LogicProgramming #Math #ProgramaciónFuncional #Prolog #Rocq #TeXLaTeX
jaalonso.github.io
The readings shared in Bluesky on 27 March 2025 are Formalization of optimality conditions for smooth constrained optimization problems. ~ Chenyi Li et als. #ITP #LeanProver Formalization of algorith
[ANNOUNCE] gitlab.haskell.org outage this weekend
https://discourse.haskell.org/t/gitlab-haskell-org-outage-this-weekend/11718
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/gitlab-haskell-org-outage-this-weekend/11718
discu.eu
Discussions and related articles for «Gitlab.haskell.org outage this weekend - Announcements - Haskell Community»
#Exercitium: Ordenación de estructuras. https://jaalonso.github.io/exercitium/posts/2014/05/14-ordenacion_de_estructuras/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Las notas de los dos primeros exámenes se pueden representar mediante el siguiente tipo de dato data Notas = Notas String Int Int deriving (Read, Show, Eq) Por ejemplo, (Notas "Juan" 6 5) represen
Functional programming in Haskell. ~ Graham Hutton. https://youtube.com/playlist?list=PLF1Z-APd9zK7usPMx3LGMZEHrECUGodd3 #Haskell #FunctionalProgramming
youtube.com
This is an introductory course on functional programming in Haskell. It is designed for first year computing students in Nottingham, but the videos are made ...
The Haskell Unfolder Episode 41: Generic monoids. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/db-KjKOBMeA #Haskell #FunctionalProgramming
youtube.com
Generic functions are a powerful tool that allows us to make more type classes derivable. In this episode, we'll look at a simple example, namely deriving Mo...
Readings shared March 26, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/26-readings_shared_03-26-25 #AI #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #Math #Maxima
jaalonso.github.io
The readings shared in Bluesky on 26 March 2025 are Formal proof of Dilworth's theorem (in Isabelle/HOL). ~ Vivek Soorya Maadoori et als. #ITP #IsabelleHOL #Math Mathematics and machine creativity: A
Horizon Haskell: Road To GHC 9.14: Introduction
https://www.youtube.com/watch?v=P0ib7B_L-Wk
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=P0ib7B_L-Wk
discu.eu
Discussions and related articles for «Horizon Haskell: Road To GHC 9.14: Introduction»
The Haskell Unfolder Episode 41: generic monoids
https://well-typed.com/blog/2025/03/haskell-unfolder-episode-41-generic-monoids/
Discussions: https://discu.eu/q/https://well-typed.com/blog/2025/03/haskell-unfolder-episode-41-generic-monoids/
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 41: generic monoids - Well-Typed: The Haskell Consultants»
#Exercitium: Numeración de las ternas de números naturales. https://jaalonso.github.io/exercitium/posts/2014/05/13-numeracion_de_ternas/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Las ternas de números naturales se pueden ordenar como sigue (0,0,0), (0,0,1),(0,1,0),(1,0,0), (0,0,2),(0,1,1),(0,2,0),(1,0,1),(1,1,0),(2,0,0), (0,0,3),(0,1,2),(0,2,1),(0,3,0),(1,0,2),(1,1
Curso "Informática (2009-10)". https://jaalonso.github.io/cursos/i1m-09 #Haskell #ProgramaciónFuncional #Maxima
Tonight, 2025-03-26, at 1930 UTC (still an unusual time for US/Canada) there'll be a new episode of the #Haskell #Unfolder, and after all this time, we'll finally talk about generics! https://www.youtube.com/watch?v=db-KjKOBMeA&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=41
youtube.com
Generic functions are a powerful tool that allows us to make more type classes derivable. In this episode, we'll look at a simple example, namely deriving Mo...
Readings shared March 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/25-readings_shared_03-25-25 #Emacs #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 25 March 2025 are Teaching "Foundations of Mathematics" with the Lean theorem prover. ~ Mattia Luciano Bottoni, Alberto Cattaneo, Elif Sacikara. #ITP #LeanProver #Ma
@haskell_discussions using Simple #Haskell is certainly a good idea, but it will get you only so far. Also, the production issues don't go like "ah this is Simple Haskell so I'll produce just a Simple issue". If I wanted to really stick to simple, I might try Ocaml or Gleam?
Marco Sampellegrini - Stick to Simple Haskell (HaskellX 2019)
https://www.youtube.com/watch?v=zHSD7qC_4iI
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=zHSD7qC_4iI
discu.eu
Discussions and related articles for «Marco Sampellegrini - Stick to Simple Haskell (HaskellX 2019)»
[ANN] ollama-haskell - 0.1.3.0 released!
https://github.com/tusharad/ollama-haskell/releases/tag/V0.1.3.0
Discussions: https://discu.eu/q/https://github.com/tusharad/ollama-haskell/releases/tag/V0.1.3.0
discu.eu
Discussions and related articles for «Release V0.1.3.0 · tusharad/ollama-haskell · GitHub»
#Exercitium: Alfabeto comenzando en un carácter. https://jaalonso.github.io/exercitium/posts/2014/05/12-alfabeto_desde/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función alfabetoDesde :: Char -> String tal que (alfabetoDesde c) es el alfabeto, en minúscula, comenzando en el carácter c, si c es una letra minúscula y comenzando en 'a', en caso contr
Readings shared March 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/24-readings_shared_03-24-25 #AI #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Lisp #LogicProgramming #MachineLearning #Math #Otter #Prolog #Prover9
jaalonso.github.io
The readings shared in Bluesky on 24 March 2025 are Formal verification of machine learning models in Lean. ~ Matéo H. Petel. #ITP #LeanProver #MachineLearning Why Lisp syntax works. ~ Fernando Borre
Non-Obvious Haskell Idiom: Conditional For
https://entropicthoughts.com/non-obvious-haskell-idiom-conditional-for
Discussions: https://discu.eu/q/https://entropicthoughts.com/non-obvious-haskell-idiom-conditional-for
discu.eu
Discussions and related articles for «Non-Obvious Haskell Idiom: Conditional For»
#Exercitium: Ramas de un árbol. https://jaalonso.github.io/exercitium/posts/2014/05/09-ramas_de_un_arbol/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Los árboles se pueden representar mediante el siguiente tipo de datos data Arbol a = N a [Arbol a] deriving Show Por ejemplo, los árboles 1 3 / \ /|\ 2 3 /
Haskell recap for week 12/2025
https://discu.eu/weekly/haskell/2025/12/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Exercitium (Un reto diario de programación). https://jaalonso.github.io/exercitium/about #Exercitium #Haskell #ProgramaciónFuncional
jaalonso.github.io
La programación informática, como cualquier disciplina creativa, requiere estudio y práctica constantes. Este blog publica ejercicios de programación diariamente para que los programadores, independie
Readings shared March 23, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/23-readings_shared_03-23-25 #Agda #Coq #FunctionalProgramming #HOL_Light #Haskell #ITP #IsabelleHOL #LeanProver #Math #Mizar #SetTheory
jaalonso.github.io
The readings shared in Bluesky on 23 March 2025 are A review on mechanical proving and formalization of mathematical theorems. ~ Si Chen, Wensheng Yu, Guowei Dou, Qimeng Zhang. #ITP #Coq #IsabelleHOL
[ANN] GHCup 0.1.50.0 released - Announcements
https://discourse.haskell.org/t/ann-ghcup-0-1-50-0-released/11695
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ann-ghcup-0-1-50-0-released/11695
discu.eu
Discussions and related articles for «[ANN] GHCup 0.1.50.0 released - Announcements - Haskell Community»
#Exercitium: Valores de polinomios representados con vectores. https://jaalonso.github.io/exercitium/posts/2014/05/08-valor_de_un_polinomio/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Los polinomios se pueden representar mediante vectores usando la librería Data.Array. En primer lugar, se define el tipo de los polinomios (con coeficientes de tipo a) mediante type Polinomio a = Arra
Readings shared March 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/22-readings_shared_03-22-25 #Calculemus #FunctionalProgramming #Haskell #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 22 March 2025 are Non-obvious Haskell idiom: Guard-sequence. ~ kqr. #Haskell #FunctionalProgramming Learn Haskell by example. ~ Phillip Hagenlocher. #Haskell #Functi
An underappreciated feature of #rust is that Rust code found in the wild is very much likely to work and is of good quality. The crate doesn't have to be super mature!
My experience with #rust code in the wild is much much better than JS or python code which is not suprising if you think about it. Programmers coding in
"hard" languages generally write better code? Perhaps same thing is with #Haskell and #TexLatex ?
#Exercitium: Segmentos maximales con elementos consecutivos. https://jaalonso.github.io/exercitium/posts/2014/05/07-segmentos_consecutivos/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función segmentos :: (Enum a, Eq a) => [a] -> [[a]] tal que (segmentos xss) es la lista de los segmentos de xss formados por elementos consecutivos. Por ejemplo, segmentos [1,2,5,6,4]
Learn Haskell by example. ~ Phillip Hagenlocher. https://books.google.com/books?id=n38pEQAAQBAJ #Haskell #FunctionalProgramming
books.google.com
Learn Haskell by doing Haskell projects! In this book, you’ll get practical experience writing Haskell code and applying functional programming to actual development challenges.In Learn Haskell by Example, you’ll build your Haskell skills by working through hands-on challenges and conundrums. You’ll learn to look at each project through a Haskell lens, and then solve it using features like lazy evaluation, immutable data structures, and monads. In Learn Haskell by Example you will learn how to: • Use Haskell for daily programming tasks • Effectively apply functional concepts • Avoid common beginner pitfalls of Haskell • Apply abstract concepts in the Haskell language • Debug and profile Haskell applications • Improve the performance of Haskell applications Haskell is an amazing choice for applications that need an extra guarantee of safety, such as in smart contracts, data intensive applications, and large scale distributed systems. In this book, you’ll see just how practical Haskell can be for creating programs by building your own engaging projects! Learn how to structure real-world applications, how to work with the Haskell tool chain effectively, and what to look out for when writing critical sections in the program's logic. Best of all, each project in this book is fully extensible and customizable so you can keep tinkering with your favorites! About the technology Programmers spend a lot of time debugging and refactoring code, reading comments and documentation, and trying to make sense out of complex designs. Haskell, a powerful, beautiful, and challenging functional programming language, promises a different path. By focusing your attention on simple functions, clearly-defined behaviors, and the right high-level abstractions, Haskell disallows the dangerous behaviors that usually lead to bugs and crashes. About the book Learn Haskell by Example teaches you to build applications in Haskell by designing and coding fun and engaging projects. In this easy-to-follow guide, you’ll create a domain specific language for music, an image processing library, and more! You’ll learn Haskell from the ground-up with a focus on important concepts like function design, composition, and data immutability. Each project gives you a new insight into how to think in Haskell and helps you understand why many Haskell developers say they will never use another language again. What's inside • Use Haskell for daily programming tasks • Purely functional programming • Avoid common Haskell pitfalls About the reader For readers who know how to program in an object-oriented language. About the author Philipp Hagenlocher is a full time Haskell developer, and the creator of the beloved Haskell for Imperative Programmers YouTube course. The technical editor on this book was Alexander Vershilov. Table of Contents 1 Introduction 2 Ancient secret keeping on modern machines 3 Every line counts 4 Line numbering tool 5 Words and graphs 6 Solving the ladder game 7 Working with CSV files 8 A tool for CSV 9 Quick checks and random tests 10 Digital music box 11 Programming musical compositions 12 Parsing pixel data 13 Parallel image processing 14 Files and exceptions 15 Transformers for synchronizing 16 JSON and SQL 17 APIs using Servant Appendix A The Haskell Toolchain Appendix B Lazy evaluation
Non-obvious Haskell idiom: Guard-sequence. ~ kqr. https://entropicthoughts.com/non-obvious-haskell-idiom-guard-sequence #Haskell #FunctionalProgramming
entropicthoughts.com
Readings shared March 21, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/21-readings_shared_03-21-25 #AI #ATP #Dedukti #FunctionalProgramming #Haskell #IsabelleHOL #LLMs #LeanProver #Liquid #Logic #Math #Prolog #Reasoning #SMT #Vampire
jaalonso.github.io
The readings shared in Bluesky on 21 March 2025 are Case study: Verified Vampire proofs in the LambdaPi-calculus modulo. ~ Anja Petković Komel, Michael Rawson, Martin Suad. #ATP #Vampire #Dedukti A h
US to limit Canadian access to built on border Haskell Free Library & Opera House
discu.eu
Discussions and related articles for «US to limit Canadian access to cross-border library where Kristi Noem taunted hosts»
[Well-Typed] GHC activities report: December 2024-February 2025
https://www.well-typed.com/blog/2025/03/ghc-activities-report-december-2024-february-2025/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2025/03/ghc-activities-report-december-2024-february-2025/
discu.eu
Discussions and related articles for «GHC activities report: December 2024âFebruary 2025 - Well-Typed: The Haskell Consultants»
Curso "Programación declarativa (2008-09)". https://jaalonso.github.io/cursos/pd-08 #ProgramaciónFuncional #Haskell #ProgramaciónLógica #Prolog
jaalonso.github.io
A hundred pull requests for Liquid Haskell. ~ Facundo Domínguez. https://www.tweag.io/blog/2025-03-20-lh-release/ #Liquid #Haskell #FunctionalProgramming #SMT
tweag.io
An overview of the improvements in the latest Liquid Haskell release
A hundred pull requests for Liquid Haskell. ~ Facundo Domínguez. https://www.tweag.io/blog/2025-03-20-lh-release/ #Liquid #Haskell #FunctionalProgramming #SMT
tweag.io
An overview of the improvements in the latest Liquid Haskell release
#Exercitium: Lista cuadrada. https://jaalonso.github.io/exercitium/posts/2014/05/06-lista_cuadrada/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función listaCuadrada :: Int -> a -> [a] -> [[a]] tal que (listaCuadrada n x xs) es una lista de n listas de longitud n formadas con los elementos de xs completada con x, si no xs no tien
Readings shared March 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/20-readings_shared_03-20-25 #FunctionalProgramming #Haskell #IsabelleHOL #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 19 March 2025 are #Exercitium: Máximos locales. #Haskell #ProgramaciónFuncional #Matemáticas Demostraciones de "s ∩ (t ∪ u) ⊆ (s ∩ t) ∪ (s ∩ u)" con Lean4 y con Isab
haskell-dev-env - An opinionated pre-built Dev Container for Haskell
https://github.com/marijnvanwezel/haskell-dev-env
Discussions: https://discu.eu/q/https://github.com/marijnvanwezel/haskell-dev-env
discu.eu
Discussions and related articles for «GitHub - marijnvanwezel/haskell-dev-env: An opinionated pre-built Dev Container for Haskell (which includes HLS, Cabal, Stack, a debugger, local Hoogle and useful extensions).»
I wonder if initiatives like the Haskell Error Index https://errors.haskell.org/ become more important now that we have AI coding assistants that can potentially access the error descriptions in order to steer themselves.
Non-Obvious Haskell Idiom: Guard-Sequence
https://entropicthoughts.com/non-obvious-haskell-idiom-guard-sequence
Discussions: https://discu.eu/q/https://entropicthoughts.com/non-obvious-haskell-idiom-guard-sequence
discu.eu
Discussions and related articles for «Non-Obvious Haskell Idiom: Guard-Sequence»
Open Source at Bellroy: Supporting Old GHC Versions
https://exploring-better-ways.bellroy.com/open-source-at-bellroy-supporting-old-ghc-versions.html
Discussions: https://discu.eu/q/https://exploring-better-ways.bellroy.com/open-source-at-bellroy-supporting-old-ghc-versions.html
discu.eu
Discussions and related articles for «Open Source at Bellroy: Supporting Old GHC Versions»
#Exercitium: Máximos locales. https://jaalonso.github.io/exercitium/posts/2014/05/05-maximos_locales/ #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Un máximo local de una lista es un elemento de la lista que es que su predecesor y que su sucesor en la lista. Por ejemplo, 5 es un máximo local de [3,2,5,3,7,7,1,6,2] ya que es mayor que 2 (su prede
Making a multiplayer action game in Haskell
https://gitlab.com/-/snippets/4817016
Discussions: https://discu.eu/q/https://gitlab.com/-/snippets/4817016
discu.eu
Discussions and related articles for «Making a multiplayer action game in Haskell ($4817016) · Snippets · GitLab»
Readings shared March 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/19-readings_shared_03-19-25 #AI #CompSci #FormalVerification #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Math #ProgramaciónFuncional #Programming
jaalonso.github.io
The readings shared in Bluesky on 19 March 2025 are A trickier lower bound proof. ~ Lawrence Paulson. #ITP #IsabelleHOL #Math Can LLMs enable verification in mainstream programming? ~ Aleksandr Shefe
#Exercitium: Matrices de Toepliz. https://jaalonso.github.io/exercitium/posts/2014/05/02-matriz_toeplitz #Haskell #ProgramaciónFuncional #Matemáticas
jaalonso.github.io
Una matriz de Toeplitz es una matriz cuadrada que es constante a lo largo de las diagonales paralelas a la diagonal principal. Por ejemplo, |2 5 1 6| |2 5 1 6| |4 2 5 1| |4 2 6 1| |7 4 2 5
Readings shared March 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/18-readings_shared_03-18-25 #AI #ASP #ATP #CLP #CommonLisp #Datalog #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #LogicProgramming #Mace #Math #Otter #Prolog #Prover9 #SMT #Z3
jaalonso.github.io
The readings shared in Bluesky on 18 March 2025 are Lessons learned with the Z3 SAT/SMT solver. ~ John D. Cook. #SMT #Z3 Teaching logic programming: a review. ~ Serhiy O. Semerikov, Iryna S. Mintii,
Haskell debugging in Neovim with breakpoints is giving error
https://www.reddit.com/r/neovim/comments/1jcdxgc/comment/mi1h56e/?context=3
Discussions: https://discu.eu/q/https://www.reddit.com/r/neovim/comments/1jcdxgc/comment/mi1h56e/?context=3
discu.eu
Discussions and related articles for «Haskell debugging in Neovim with breakpoints is giving error»
Curso "Programación declarativa (2007-08)". https://jaalonso.github.io/cursos/pd-07 #ProgramaciónFuncional #Haskell #ProgramaciónLógica #Prolog
jaalonso.github.io
#Exercitium: Suma si todos los valores son justos. https://jaalonso.github.io/exercitium/posts/2014/05/01-suma_si_todos_justos/ #Haskell #ProgramaciónFuncional
jaalonso.github.io
Definir la función sumaSiTodosJustos :: (Num a, Eq a) => [Maybe a] -> Maybe a tal que (sumaSiTodosJustos xs) es justo la suma de todos los elementos de xs si todos son justos (es decir, si Nothing n
Readings shared March 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/17-readings_shared_03-17-25 #FunctionalProgramming #Haskell #IsabelleHOL #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 17 March 2025 are The calculated typer. ~ Zac Garby, Patrick Bahr, Graham Hutton. #Haskell #FunctionalProgramming #Exercitium: Primos equidistantes. #Haskell #Functi
[ANN] Copilot 4.3
Discussions: https://discu.eu/q/https://github.com/nasa/ogma
discu.eu
Discussions and related articles for «GitHub - nasa/ogma: Generator of runtime monitors for flight and robotics applications.»
#Exercitium: Primos equidistantes. https://jaalonso.github.io/exercitium/posts/2014/04/30-primos_equidistantes/ #Haskell #FunctionalProgramming #Math
jaalonso.github.io
Definir la función primosEquidistantes :: Integer -> [(Integer,Integer)] tal que (primosEquidistantes k) es la lista de los pares de primos cuya diferencia es k. Por ejemplo, take 3 (primosEquidista
Haskell recap for week 11/2025
https://discu.eu/weekly/haskell/2025/11/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
The calculated typer. ~ Zac Garby, Patrick Bahr, Graham Hutton. https://bahr.io/pubs/files/calctyper-paper.pdf #Haskell #FunctionalProgramming
Readings shared March 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/16-readings_shared_03-16-25 #FunctionalProgramming #Haskell #Math #Programming #Python
jaalonso.github.io
The readings shared in Bluesky on 16 March 2025 are Permutations with no consecutive elements. ~ John D. Cook. #Math #Python #Programming #Exercitium: Anagramas. #Haskell #FunctionalProgramming
[ANN] bearlibterminal v0.1 - Haskell bindings to the BearLibTerminal graphics library for roguelike games.
http://foo.wyrd.name/en:bearlibterminal
Discussions: https://discu.eu/q/http://foo.wyrd.name/en:bearlibterminal
discu.eu
Discussions and related articles for «en:bearlibterminal [divergence]»
Share of programming languages used by #GTK3 / #GTK4 applications (2025-03-16):
28% #Python
21% #Vala
20% #Rust
17% #C
06% #C++ #Cplusplus
06% #gjs #Javascript
04% Other: #Csharp #Go #Lua #Haskell #Swift #Typescript #Crystal #Swift #D #Perl
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3
Method: Source [1] lists 543 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
github.com
List of awesome GTK (3/4) applications. Contribute to valpackett/awesome-gtk development by creating an account on GitHub.
#Exercitium: Anagramas. https://jaalonso.github.io/exercitium/posts/2014/04/29-anagramas/ #Haskell #FunctionalProgramming
jaalonso.github.io
Una palabra es una anagrama de otra si se puede obtener permutando sus letras. Por ejemplo, mora y roma son anagramas de amor. Definir la función anagramas :: String -> [String] -> [String] tal que
Share of programming languages used by #GTK3 / #GTK4 applications (2025-03-16):
28% #Python
21% #Vala
20% #Rust
17% #C
06% #C++ #Cplusplus
06% #gjs #Javascript
04% Other: #Csharp #Go #Lua #Haskell #Swift #Typescript #Crystal #Swift #D #Perl
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3
Method: Source [1] lists 543 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
github.com
List of awesome GTK (3/4) applications. Contribute to valpackett/awesome-gtk development by creating an account on GitHub.
Using lens-aeson to implement FromJSON
https://magnus.therning.org/2025-03-16-using-lens-aeson-to-implement-fromjson.html
Discussions: https://discu.eu/q/https://magnus.therning.org/2025-03-16-using-lens-aeson-to-implement-fromjson.html
discu.eu
Discussions and related articles for «Using lens-aeson to implement FromJSON»
Readings shared March 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/15-readings_shared_03-15-25 #ACL2 #AI #CHR #Constraint #Constraints #Emacs #FormalVerification #FunctionalProgramming #Haskell #ITP #IsabelleHOL #Logic #LogicProgramming #MachineLearning #Math #NLP #Prolog
jaalonso.github.io
The readings shared in Bluesky on 15 March 2025 are Revisiting an early critique of formal verification. ~ Lawrence Paulson. #ITP #Math #FormalVerification A proof of the Schröder-Bernstein theorem i
[ANN] First release candidate for Stack 3.5.1
https://github.com/commercialhaskell/stack/releases/tag/rc/v3.5.0.1
Discussions: https://discu.eu/q/https://github.com/commercialhaskell/stack/releases/tag/rc/v3.5.0.1
discu.eu
Discussions and related articles for «Release rc/v3.5.0.1 (release candidate) · commercialhaskell/stack · GitHub»
#Exercitium: Primos consecutivos con media capicúa. https://jaalonso.github.io/exercitium/posts/2014/04/28-primos_consecutivos_con_media_capicua/ #Haskell #FunctionalProgramming #Math
jaalonso.github.io
Definir la función primosConsecutivosConMediaCapicua :: [(Int,Int,Int)] formada por las ternas (x,y,z) tales que x e y son primos consecutivos cuya media, z, es capicúa. Por ejemplo, λ> take 5 primo
Readings shared March 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/14-readings_shared_03-14-25 #ATP #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Mace #MachineLearning #Math #Otter #PVS #TypeTheory
jaalonso.github.io
The readings shared in Bluesky on 14 March 2025 are La théorie des types, de Russell aux assistans à la demostration. ~ Thierry Coquand. #TypeTheory #ITP #Logic #Math Local look-ahead guidance via ve
Aztecs v0.10: A modular game-engine and ECS for Haskell (now with a simpler design featuring applicative queries and monadic systems)
https://github.com/aztecs-hs/aztecs
Discussions: https://discu.eu/q/https://github.com/aztecs-hs/aztecs
discu.eu
Discussions and related articles for «GitHub - aztecs-hs/aztecs: A modular game engine and ECS for Haskell»
GHC 9.12.2 is now available
https://discourse.haskell.org/t/ghc-9-12-2-is-now-avaialble/11639
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-9-12-2-is-now-avaialble/11639
discu.eu
Discussions and related articles for «GHC 9.12.2 is now available - Announcements - Haskell Community»
Readings shared March 13, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/13-readings_shared_03-13-25 #CompSci #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #LogicProgramming #Math #Prolog
jaalonso.github.io
The readings shared in Bluesky on 13 March 2025 are Course notes for "Formalising Mathematics 2025". ~ Bhavik Mehta et als. #ITP #LeanProver #Math LeanAgent: Lifelong learning for formal theorem prov
Curry: A Truly Integrated Functional Logic Programming Language
Discussions: https://discu.eu/q/https://curry-lang.org
discu.eu
Discussions and related articles for «Curry Programming Language»
A Short Survey on Type-Driven Development Tools
https://tudelft.fra1.qualtrics.com/jfe/form/SV_bIsMxYTKUJkhVuS
Discussions: https://discu.eu/q/https://tudelft.fra1.qualtrics.com/jfe/form/SV_bIsMxYTKUJkhVuS
discu.eu
Discussions and related articles for «Type-Driven Development in Practice»
#Exercitium: Determinación de los elementos minimales. https://jaalonso.github.io/exercitium/posts/2014/04/24-elementosminimales/ #Haskell #FunctionalProgramming #Math
jaalonso.github.io
Definir la función minimales :: Eq a => [[a]] -> [[a]] tal que (minimales xss) es la lista de los elementos de xss que no están contenidos en otros elementos de xss. Por ejemplo, minimales [[1,3],[2
The Haskell Unfolder Episode 40: Understanding through a model. ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/0QTt2W7CVnA #Haskell #FunctionalProgramming
youtube.com
QuickCheck is useful for more than just testing. Comparing the behaviour of a system to a model can be used to check if a system under construction is worki...
Readings shared March 12, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/12-readings_shared_03-12-25 #AI #ATP #Constraints #Haskell #ITP #IsabelleHOL #Jape #LeanProver #Logic #LogicProgramming #Mace #MachineLearning #Math #NLP #Otter #PVS #Prolog
jaalonso.github.io
The readings shared in Bluesky on 12 March 2025 are A formal proof of the irrationality of ζ(3) in Lean 4. ~ Junqi Liu, Jujian Zhang, Lihong Zhi. #ITP #LeanProver #Math #Exercitium: La bandera tricol
The Haskell Unfolder Episode 40: understanding through a model
https://www.youtube.com/watch?index=40&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=0QTt2W7CVnA
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=40&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=0QTt2W7CVnA
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 40: understanding through a model»
LambdaConf's schedule has a couple of Haskell talks. Anyone going?
https://www.lambdaconf.us/schedule
Discussions: https://discu.eu/q/https://www.lambdaconf.us/schedule
discu.eu
Discussions and related articles for «Schedule | LambdaConf»
#Exercitium: La bandera tricolor. https://jaalonso.github.io/exercitium/posts/2014/04/23-bandera_tricolor/ #Haskell
jaalonso.github.io
El problema de la bandera tricolor consiste en lo siguiente: Dada un lista de objetos xs que pueden ser rojos, amarillos o morados, se pide devolver una lista ys que contiene los elementos de xs, prim
The State of Coherence in the Land of Type Classes
https://programming-journal.org/2025/10/15/
#HackerNews #TheStateOfCoherence #TypeClasses #Haskell #ProgrammingTechniques #SoftwareDevelopment
programming-journal.org
Type classes are a popular tool for implementing generic algorithms and data structures without loss of efficiency, bridging the gap between parametric and ad-hoc polymorphism. Since their initial development in Haskell, they now feature prominently in numerous other industry-ready programming la...
The State of Coherence in the Land of Type Classes
https://programming-journal.org/2025/10/15/
#HackerNews #TheStateOfCoherence #TypeClasses #Haskell #ProgrammingTechniques #SoftwareDevelopment
programming-journal.org
Type classes are a popular tool for implementing generic algorithms and data structures without loss of efficiency, bridging the gap between parametric and ad-hoc polymorphism. Since their initial development in Haskell, they now feature prominently in numerous other industry-ready programming la...
Readings shared March 11, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/11-readings_shared_03-11-25 #AI #ATP #Emacs #FormalVerification #Haskell #ITP #IsabelleHOL #Jape #LLMs #LeanProver #Logic #LogicProgramming #MAS #Mace #Math #Otter #PVS #Prolog #SMLs #SMT #Scala #Z3
jaalonso.github.io
The readings shared in Bluesky on 11 March 2025 are Extrinsic termination proofs for well-founded recursion in Lean. ~ Joachim Breitner. #ITP #LeanProver Knuth Bendix solver on Z3 AST. ~ Philip Zucke
I think I love list comprehensions in Haskell. #haskell
I think I love list comprehensions in Haskell. #haskell
I think I love list comprehensions in Haskell. #haskell
Making a multiplayer action game in Haskell https://lobste.rs/s/hoirtg #games #haskell
https://gitlab.com/-/snippets/4817016
gitlab.com
GitLab.com
Making a multiplayer action game in Haskell https://lobste.rs/s/hoirtg #games #haskell
https://gitlab.com/-/snippets/4817016
gitlab.com
GitLab.com
Today the Haskell Foundation is migrating some of our server infrastructure and upgrading our storage. 💪 #haskellfoundation #haskell
Today the Haskell Foundation is migrating some of our server infrastructure and upgrading our storage. 💪 #haskellfoundation #haskell
Tomorrow, 2025-03-12, at 1930 UTC (note: one hour later than usual in Canada / US due to asynchronous DST shifts), there'll be a new episode of the #Haskell #Unfolder, titled "understanding through a model". We'll talk about QuickCheck and convolutions ...
https://www.youtube.com/watch?v=0QTt2W7CVnA&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=40
youtube.com
QuickCheck is useful for more than just testing. Comparing the behaviour of a system to a model can be used to check if a system under construction is worki...
#Exercitium: Ordenación por el máximo. https://jaalonso.github.io/exercitium/posts/2014/04/22-ordenados_por_maximo/ #Haskell
jaalonso.github.io
Definir la función ordenadosPorMaximo :: Ord a => [[a]] -> [[a]] tal que ghci> ordenadosPorMaximo [[3,2],[6,7,5],[1,4]] [[3,2],[1,4],[6,7,5]] ghci> ordenadosPorMaximo ["este","es","el","primero"] ["
Making a multiplayer action game in Haskell
https://gitlab.com/-/snippets/4817016
Discussions: https://discu.eu/q/https://gitlab.com/-/snippets/4817016
discu.eu
Discussions and related articles for «Making a multiplayer action game in Haskell ($4817016) · Snippets · GitLab»
Making a multiplayer action game in Haskell
https://gitlab.com/-/snippets/4817016
Discussions: https://discu.eu/q/https://gitlab.com/-/snippets/4817016
discu.eu
Discussions and related articles for «Making a multiplayer action game in Haskell ($4817016) · Snippets · GitLab»
Making a multiplayer action game in Haskell
https://gitlab.com/-/snippets/4817016
Discussions: https://discu.eu/q/https://gitlab.com/-/snippets/4817016
discu.eu
Discussions and related articles for «Making a multiplayer action game in Haskell ($4817016) · Snippets · GitLab»
Readings shared March 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/10-readings_shared_03-10-25 #CommonLisp #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #LogicProgramming #Lógica #Matemática #Math #Prolog #Rocq
jaalonso.github.io
The readings shared in Bluesky on 10 March 2025 are The burden of proof: Automated tooling for rapid iteration on large mechanised proofs. ~ Chengsong Tan, Alastair F. Donaldson, Jonathan Julián Huer
Your friendly neighborhood queer Haskell enthusiast is writing a compiler
Discussions: https://discu.eu/q/https://www.twitch.tv/nicuveo
discu.eu
Discussions and related articles for «Your friendly neighborhood queer Haskell enthusiast is writing a compiler»
Stage Fright Peeled Away: Writing the 'peel' Function with Template Haskell
https://free.cofree.io/2025/03/10/template-haskell/
Discussions: https://discu.eu/q/https://free.cofree.io/2025/03/10/template-haskell/
discu.eu
Discussions and related articles for «Stage Fright Peeled Away: Writing the 'peel' Function with Template Haskell»
#Exercitium: Iguales al siguiente. https://jaalonso.github.io/exercitium/posts/2014/04/21-iguales_al_siguiente/ #Haskell
jaalonso.github.io
Definir la función igualesAlSiguiente :: Eq a => [a] -> [a] tal que (igualesAlSiguiente xs) es la lista de los elementos de xs que son iguales a su siguiente. Por ejemplo, igualesAlSiguiente [
Just what the internet needed: another attempt to explain #monads! 🙄 But this time I'm comparing #Haskell and #OCaml approaches to show why #typeclasses make all the difference. Turns out those JavaScript Promise analogies only tell half the story…
hackers.pub
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool. The Elegant Power of Monads in Haskell It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem. The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated: You can write code once that works across many contexts (Maybe, [], IO, State, etc.) Generic functions like sequence, mapM, and others become available across all monadic types The same patterns and mental models apply consistently across different computational contexts For example, a simple conditional function like this works beautifully in any monadic context: whenM :: Monad m => m Bool -> m () -> m () whenM condition action = do result <- condition if result then action else return () Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse. OCaml's Different Approach Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design: Structural Differences OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient: (* OCaml monad implementation requires more boilerplate *) module type MONAD = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module OptionMonad : MONAD with type 'a t = 'a option = struct type 'a t = 'a option let return x = Some x let bind m f = match m with | None -> None | Some x -> f x end OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive: -- Haskell's elegant do notation userInfo = do name <- getLine age <- readLn return (name, age) Compared to the more verbose OCaml equivalent: let user_info = get_line >>= fun name -> read_ln >>= fun age -> return (name, age) The readability difference becomes even more pronounced in more complex monadic operations. Philosophical Differences Beyond syntax, the languages differ in their fundamental approach to effects: Haskell is purely functional, making monads essential for managing effects in a principled way OCaml permits direct side effects, often making monadic abstractions optional This allows OCaml programmers to write more direct code when appropriate: (* Direct style in OCaml *) let get_user_info () = print_string "Name: "; let name = read_line () in print_string "Age: "; let age = int_of_string (read_line ()) in (name, age) OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring: Direct use of option and result types Module-level abstractions through functors Continuation-passing style when needed While this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides. Reflections on Language Design These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system. Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts. OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount. After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience. What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool.
It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem.
The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated:
Maybe, [], IO, State, etc.)sequence, mapM, and others become available across all monadic typesFor example, a simple conditional function like this works beautifully in any monadic context:
whenM :: Monad m => m Bool -> m () -> m ()
whenM condition action = do
result <- condition
if result then action else return ()
Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse.
Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design:
OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient:
(* OCaml monad implementation requires more boilerplate *)
module type MONAD = sig
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
end
module OptionMonad : MONAD with type 'a t = 'a option = struct
type 'a t = 'a option
let return x = Some x
let bind m f = match m with
| None -> None
| Some x -> f x
end
OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive:
-- Haskell's elegant do notation
userInfo = do
name <- getLine
age <- readLn
return (name, age)
Compared to the more verbose OCaml equivalent:
let user_info =
get_line >>= fun name ->
read_ln >>= fun age ->
return (name, age)
The readability difference becomes even more pronounced in more complex monadic operations.
Beyond syntax, the languages differ in their fundamental approach to effects:
This allows OCaml programmers to write more direct code when appropriate:
(* Direct style in OCaml *)
let get_user_info () =
print_string "Name: ";
let name = read_line () in
print_string "Age: ";
let age = int_of_string (read_line ()) in
(name, age)
OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring:
option and result typesWhile this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides.
These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system.
Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts.
OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount.
After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience.
What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
Just what the internet needed: another attempt to explain #monads! 🙄 But this time I'm comparing #Haskell and #OCaml approaches to show why #typeclasses make all the difference. Turns out those JavaScript Promise analogies only tell half the story…
hackers.pub
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool. The Elegant Power of Monads in Haskell It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem. The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated: You can write code once that works across many contexts (Maybe, [], IO, State, etc.) Generic functions like sequence, mapM, and others become available across all monadic types The same patterns and mental models apply consistently across different computational contexts For example, a simple conditional function like this works beautifully in any monadic context: whenM :: Monad m => m Bool -> m () -> m () whenM condition action = do result <- condition if result then action else return () Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse. OCaml's Different Approach Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design: Structural Differences OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient: (* OCaml monad implementation requires more boilerplate *) module type MONAD = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module OptionMonad : MONAD with type 'a t = 'a option = struct type 'a t = 'a option let return x = Some x let bind m f = match m with | None -> None | Some x -> f x end OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive: -- Haskell's elegant do notation userInfo = do name <- getLine age <- readLn return (name, age) Compared to the more verbose OCaml equivalent: let user_info = get_line >>= fun name -> read_ln >>= fun age -> return (name, age) The readability difference becomes even more pronounced in more complex monadic operations. Philosophical Differences Beyond syntax, the languages differ in their fundamental approach to effects: Haskell is purely functional, making monads essential for managing effects in a principled way OCaml permits direct side effects, often making monadic abstractions optional This allows OCaml programmers to write more direct code when appropriate: (* Direct style in OCaml *) let get_user_info () = print_string "Name: "; let name = read_line () in print_string "Age: "; let age = int_of_string (read_line ()) in (name, age) OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring: Direct use of option and result types Module-level abstractions through functors Continuation-passing style when needed While this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides. Reflections on Language Design These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system. Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts. OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount. After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience. What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool.
It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem.
The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated:
Maybe, [], IO, State, etc.)sequence, mapM, and others become available across all monadic typesFor example, a simple conditional function like this works beautifully in any monadic context:
whenM :: Monad m => m Bool -> m () -> m ()
whenM condition action = do
result <- condition
if result then action else return ()
Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse.
Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design:
OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient:
(* OCaml monad implementation requires more boilerplate *)
module type MONAD = sig
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
end
module OptionMonad : MONAD with type 'a t = 'a option = struct
type 'a t = 'a option
let return x = Some x
let bind m f = match m with
| None -> None
| Some x -> f x
end
OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive:
-- Haskell's elegant do notation
userInfo = do
name <- getLine
age <- readLn
return (name, age)
Compared to the more verbose OCaml equivalent:
let user_info =
get_line >>= fun name ->
read_ln >>= fun age ->
return (name, age)
The readability difference becomes even more pronounced in more complex monadic operations.
Beyond syntax, the languages differ in their fundamental approach to effects:
This allows OCaml programmers to write more direct code when appropriate:
(* Direct style in OCaml *)
let get_user_info () =
print_string "Name: ";
let name = read_line () in
print_string "Age: ";
let age = int_of_string (read_line ()) in
(name, age)
OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring:
option and result typesWhile this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides.
These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system.
Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts.
OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount.
After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience.
What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
またまた世界にモナドの解説が増えてしまいました。😅 今回はHaskellとOCamlのアプローチを比較して、型クラスがどれだけ重要な違いを齎すかに就いて書いてみました。JavaScriptのPromiseと比べる譬えは半分しか真実を語っていないんですよね…
hackers.pub
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool. The Elegant Power of Monads in Haskell It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem. The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated: You can write code once that works across many contexts (Maybe, [], IO, State, etc.) Generic functions like sequence, mapM, and others become available across all monadic types The same patterns and mental models apply consistently across different computational contexts For example, a simple conditional function like this works beautifully in any monadic context: whenM :: Monad m => m Bool -> m () -> m () whenM condition action = do result <- condition if result then action else return () Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse. OCaml's Different Approach Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design: Structural Differences OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient: (* OCaml monad implementation requires more boilerplate *) module type MONAD = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module OptionMonad : MONAD with type 'a t = 'a option = struct type 'a t = 'a option let return x = Some x let bind m f = match m with | None -> None | Some x -> f x end OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive: -- Haskell's elegant do notation userInfo = do name <- getLine age <- readLn return (name, age) Compared to the more verbose OCaml equivalent: let user_info = get_line >>= fun name -> read_ln >>= fun age -> return (name, age) The readability difference becomes even more pronounced in more complex monadic operations. Philosophical Differences Beyond syntax, the languages differ in their fundamental approach to effects: Haskell is purely functional, making monads essential for managing effects in a principled way OCaml permits direct side effects, often making monadic abstractions optional This allows OCaml programmers to write more direct code when appropriate: (* Direct style in OCaml *) let get_user_info () = print_string "Name: "; let name = read_line () in print_string "Age: "; let age = int_of_string (read_line ()) in (name, age) OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring: Direct use of option and result types Module-level abstractions through functors Continuation-passing style when needed While this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides. Reflections on Language Design These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system. Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts. OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount. After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience. What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool.
It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem.
The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated:
Maybe, [], IO, State, etc.)sequence, mapM, and others become available across all monadic typesFor example, a simple conditional function like this works beautifully in any monadic context:
whenM :: Monad m => m Bool -> m () -> m ()
whenM condition action = do
result <- condition
if result then action else return ()
Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse.
Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design:
OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient:
(* OCaml monad implementation requires more boilerplate *)
module type MONAD = sig
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
end
module OptionMonad : MONAD with type 'a t = 'a option = struct
type 'a t = 'a option
let return x = Some x
let bind m f = match m with
| None -> None
| Some x -> f x
end
OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive:
-- Haskell's elegant do notation
userInfo = do
name <- getLine
age <- readLn
return (name, age)
Compared to the more verbose OCaml equivalent:
let user_info =
get_line >>= fun name ->
read_ln >>= fun age ->
return (name, age)
The readability difference becomes even more pronounced in more complex monadic operations.
Beyond syntax, the languages differ in their fundamental approach to effects:
This allows OCaml programmers to write more direct code when appropriate:
(* Direct style in OCaml *)
let get_user_info () =
print_string "Name: ";
let name = read_line () in
print_string "Age: ";
let age = int_of_string (read_line ()) in
(name, age)
OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring:
option and result typesWhile this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides.
These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system.
Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts.
OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount.
After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience.
What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
またまた世界にモナドの解説が増えてしまいました。😅 今回はHaskellとOCamlのアプローチを比較して、型クラスがどれだけ重要な違いを齎すかに就いて書いてみました。JavaScriptのPromiseと比べる譬えは半分しか真実を語っていないんですよね…
hackers.pub
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool. The Elegant Power of Monads in Haskell It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem. The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated: You can write code once that works across many contexts (Maybe, [], IO, State, etc.) Generic functions like sequence, mapM, and others become available across all monadic types The same patterns and mental models apply consistently across different computational contexts For example, a simple conditional function like this works beautifully in any monadic context: whenM :: Monad m => m Bool -> m () -> m () whenM condition action = do result <- condition if result then action else return () Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse. OCaml's Different Approach Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design: Structural Differences OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient: (* OCaml monad implementation requires more boilerplate *) module type MONAD = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module OptionMonad : MONAD with type 'a t = 'a option = struct type 'a t = 'a option let return x = Some x let bind m f = match m with | None -> None | Some x -> f x end OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive: -- Haskell's elegant do notation userInfo = do name <- getLine age <- readLn return (name, age) Compared to the more verbose OCaml equivalent: let user_info = get_line >>= fun name -> read_ln >>= fun age -> return (name, age) The readability difference becomes even more pronounced in more complex monadic operations. Philosophical Differences Beyond syntax, the languages differ in their fundamental approach to effects: Haskell is purely functional, making monads essential for managing effects in a principled way OCaml permits direct side effects, often making monadic abstractions optional This allows OCaml programmers to write more direct code when appropriate: (* Direct style in OCaml *) let get_user_info () = print_string "Name: "; let name = read_line () in print_string "Age: "; let age = int_of_string (read_line ()) in (name, age) OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring: Direct use of option and result types Module-level abstractions through functors Continuation-passing style when needed While this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides. Reflections on Language Design These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system. Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts. OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount. After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience. What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool.
It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem.
The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated:
Maybe, [], IO, State, etc.)sequence, mapM, and others become available across all monadic typesFor example, a simple conditional function like this works beautifully in any monadic context:
whenM :: Monad m => m Bool -> m () -> m ()
whenM condition action = do
result <- condition
if result then action else return ()
Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse.
Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design:
OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient:
(* OCaml monad implementation requires more boilerplate *)
module type MONAD = sig
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
end
module OptionMonad : MONAD with type 'a t = 'a option = struct
type 'a t = 'a option
let return x = Some x
let bind m f = match m with
| None -> None
| Some x -> f x
end
OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive:
-- Haskell's elegant do notation
userInfo = do
name <- getLine
age <- readLn
return (name, age)
Compared to the more verbose OCaml equivalent:
let user_info =
get_line >>= fun name ->
read_ln >>= fun age ->
return (name, age)
The readability difference becomes even more pronounced in more complex monadic operations.
Beyond syntax, the languages differ in their fundamental approach to effects:
This allows OCaml programmers to write more direct code when appropriate:
(* Direct style in OCaml *)
let get_user_info () =
print_string "Name: ";
let name = read_line () in
print_string "Age: ";
let age = int_of_string (read_line ()) in
(name, age)
OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring:
option and result typesWhile this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides.
These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system.
Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts.
OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount.
After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience.
What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
Just what the internet needed: another attempt to explain #monads! 🙄 But this time I'm comparing #Haskell and #OCaml approaches to show why #typeclasses make all the difference. Turns out those JavaScript Promise analogies only tell half the story…
hackers.pub
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool. The Elegant Power of Monads in Haskell It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem. The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated: You can write code once that works across many contexts (Maybe, [], IO, State, etc.) Generic functions like sequence, mapM, and others become available across all monadic types The same patterns and mental models apply consistently across different computational contexts For example, a simple conditional function like this works beautifully in any monadic context: whenM :: Monad m => m Bool -> m () -> m () whenM condition action = do result <- condition if result then action else return () Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse. OCaml's Different Approach Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design: Structural Differences OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient: (* OCaml monad implementation requires more boilerplate *) module type MONAD = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module OptionMonad : MONAD with type 'a t = 'a option = struct type 'a t = 'a option let return x = Some x let bind m f = match m with | None -> None | Some x -> f x end OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive: -- Haskell's elegant do notation userInfo = do name <- getLine age <- readLn return (name, age) Compared to the more verbose OCaml equivalent: let user_info = get_line >>= fun name -> read_ln >>= fun age -> return (name, age) The readability difference becomes even more pronounced in more complex monadic operations. Philosophical Differences Beyond syntax, the languages differ in their fundamental approach to effects: Haskell is purely functional, making monads essential for managing effects in a principled way OCaml permits direct side effects, often making monadic abstractions optional This allows OCaml programmers to write more direct code when appropriate: (* Direct style in OCaml *) let get_user_info () = print_string "Name: "; let name = read_line () in print_string "Age: "; let age = int_of_string (read_line ()) in (name, age) OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring: Direct use of option and result types Module-level abstractions through functors Continuation-passing style when needed While this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides. Reflections on Language Design These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system. Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts. OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount. After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience. What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
While exploring functional programming languages, I've been reflecting on how different communities approach similar concepts. One pattern that seems particularly fascinating is how Haskell and OCaml communities differ in their embrace of monads as an abstraction tool.
It's common to hear monads explained through analogies to concepts like JavaScript's Promise or jQuery chains. While these comparisons provide an entry point, they might miss what makes monads truly beautiful and powerful in Haskell's ecosystem.
The real strength appears to lie in the Monad typeclass itself. This elegant abstraction allows for creating generic functions and types that work with any type that shares the monad property. This seems to offer a profound unification of concepts that might initially appear unrelated:
Maybe, [], IO, State, etc.)sequence, mapM, and others become available across all monadic typesFor example, a simple conditional function like this works beautifully in any monadic context:
whenM :: Monad m => m Bool -> m () -> m ()
whenM condition action = do
result <- condition
if result then action else return ()
Whether dealing with potentially missing values, asynchronous operations, or state transformations, the same function can be employed without modification. There's something genuinely satisfying about this level of abstraction and reuse.
Interestingly, the OCaml community seems less enthusiastic about monads as a primary abstraction tool. This might stem from several factors related to language design:
OCaml lacks built-in typeclass support, relying instead on its module system and functors. While powerful in its own right, this approach might not make monad abstractions feel as natural or convenient:
(* OCaml monad implementation requires more boilerplate *)
module type MONAD = sig
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
end
module OptionMonad : MONAD with type 'a t = 'a option = struct
type 'a t = 'a option
let return x = Some x
let bind m f = match m with
| None -> None
| Some x -> f x
end
OCaml also doesn't offer syntactic sugar like Haskell's do notation, which makes monadic code in Haskell considerably more readable and expressive:
-- Haskell's elegant do notation
userInfo = do
name <- getLine
age <- readLn
return (name, age)
Compared to the more verbose OCaml equivalent:
let user_info =
get_line >>= fun name ->
read_ln >>= fun age ->
return (name, age)
The readability difference becomes even more pronounced in more complex monadic operations.
Beyond syntax, the languages differ in their fundamental approach to effects:
This allows OCaml programmers to write more direct code when appropriate:
(* Direct style in OCaml *)
let get_user_info () =
print_string "Name: ";
let name = read_line () in
print_string "Age: ";
let age = int_of_string (read_line ()) in
(name, age)
OCaml's approach might favor pragmatism and directness in many cases, with programmers often preferring:
option and result typesWhile this directness can be beneficial for immediate readability, it might come at the cost of some of the elegant uniformity that Haskell's monadic approach provides.
These differences highlight how programming language design shapes the idioms and patterns that emerge within their communities. Neither approach is objectively superior—they represent different philosophies about abstraction, explicitness, and the role of the type system.
Haskell's approach encourages a high level of abstraction and consistency across different computational contexts, which can feel particularly satisfying when working with complex, interconnected systems. There's something intellectually pleasing about solving a problem once and having that solution generalize across many contexts.
OCaml often favors more direct solutions that might be easier to reason about locally, though potentially at the cost of less uniformity across the codebase. This approach has its own virtues, particularly for systems where immediate comprehensibility is paramount.
After working with both paradigms, I find myself drawn to the consistent abstractions that Haskell's approach provides, while still appreciating the pragmatic clarity that OCaml can offer in certain situations. The typeclasses and syntactic support in Haskell seem to unlock a particularly elegant way of structuring code that, while perhaps requiring a steeper initial learning curve, offers a uniquely satisfying programming experience.
What patterns have you noticed in how different programming language communities approach similar problems? And have you found yourself drawn to the elegant abstractions of Haskell or the pragmatic approach of OCaml?
Readings shared March 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/08-readings_shared_03-08-25 #Haskell #FunctionalProgramming
jaalonso.github.io
The readings shared in Bluesky on 8 March 2025 are Sum types and subtypes and unions. ~ Justin Le. #Haskell #FunctionalProgramming
Sum types and subtypes and unions. ~ Justin Le. https://blog.jle.im/entry/sum-types-and-subtypes-and-unions.html #Haskell #FunctionalProgramming
blog.jle.im
There’s yet again been a bit of functional programming-adjacent twitter drama recently, but it’s actually sort of touched into some subtleties about sum types that I am asked about (and think about) a lot nowadays. So, I’d like to take this opportunity to talk a bit about the “why” and nature of sum types and how to use them effectively, and how they contrast with other related concepts in programming and software development and when even cases where sum types aren’t the best option.
hledger 1.42 is out, with new run and repl commands.
Thank you to contributors Dmitry Astapov, gesh, Thomas
Miedema, Joschua Kesper, and Lars Kellogg-Stedman !
- https://github.com/simonmichael/hledger/releases/1.42
- https://hledger.org/relnotes.html#2025-03-07-hledger-142
- https://hledger.org/install
#hledger is free, robust, friendly, multicurrency, double-entry,
#plaintextaccounting software for unix, mac, windows, and the web,
written in #haskell for reliability.
hledger.org
plain text accounting, made easy
If I'm using "async" in Haskell to spawn a thread https://hackage.haskell.org/package/async-2.2.5/docs/Control-Concurrent-Async.html#v:async and I want the thread to know about its own Async handle, which would be the best way of doing so?
It seems hat "fixIO" https://hackage.haskell.org/package/base-4.21.0.0/docs/System-IO.html#v:fixIO could do the trick, but I'm not sure if it would be a good idea 🤔
Example of where I used "fixIO" for that purpose: https://discourse.haskell.org/t/dynamic-number-of-asyncs/11574/8
discourse.haskell.org
I think we should keep the use of link but dispense with the nested withAsyncs. Instead of that, we should keep an explicit set of Async values in a mutable reference. The main thread can cancel the pending asyncs as needed. Something like (haven’t actually tested it 😅) main :: IO () main = do ref <- newIORef $ Data.Set.empty @(Async ()) let register theAsync = modifyIORef' ref $ Data.Set.insert theAsync finallyDeregister theAsync = flip finally $ ...

Since GHC 9.6, any non-empty double quoted string can be used as a label. The restriction that the label must be a valid identifier has also been lifted. Examples of newly allowed syntax: Leading capital letters: #Foo equivalant to getLabel @”Foo” Numeric characters: #3.14 equivalent to getLabel @”3.14” Arbitrary strings: #”Hello, World!” equivalent to getLabel @”Hello, World!” Here is an example of the more permissive use of this extension, available since GHC 9.6:

-- case-match on an e2 with a t2 that provides the relevant functions caseE2 :: forall l1 t1 l2 t2 matcher r. ( HasField l1 matcher (t1 -> r), HasField l2 matcher (t2 -> r) ) => matcher -> E2 l1 t1 l2 t2 -> r {-# INLINE caseE2 #-} caseE2 m e2 = do let f1 = getField @l1 m let f2 = getField @l2 m case e2 of E21 a -> f1 $ getField @l1 a E22 b -> f2 $ getField @l2 b t2 :: forall l1 t1 l2 t2. LabelPrx l1 -> t1 -> LabelPrx l2 -> t2 -> T2 l1 t1 l2 t2 {-# INLINE t2 #-} t2 LabelPrx a LabelPrx b = T2 (label @l1 a) (label @l2 b) data LabelPrx (l :: Symbol) = LabelPrx instance (l ~ l') => IsLabel l (LabelPrx l') where fromLabel = LabelPrx instance (t ~ t') => IsLabel l (t -> (Label l t')) where fromLabel = label @l

matcher :: T2 "oh yeah" (Int -> String) "mylabel" (a -> a) matcher = t2 #"oh yeah" (\(i :: Int) -> show $ i + 1) #mylabel id bar :: E2 "oh yeah" Int "mylabel" String bar = E21 (#"oh yeah" 42) baz :: String baz = bar & caseE2 matcher

Since GHC 9.6, any non-empty double quoted string can be used as a label. The restriction that the label must be a valid identifier has also been lifted. Examples of newly allowed syntax: Leading capital letters: #Foo equivalant to getLabel @”Foo” Numeric characters: #3.14 equivalent to getLabel @”3.14” Arbitrary strings: #”Hello, World!” equivalent to getLabel @”Hello, World!” Here is an example of the more permissive use of this extension, available since GHC 9.6:

-- case-match on an e2 with a t2 that provides the relevant functions caseE2 :: forall l1 t1 l2 t2 matcher r. ( HasField l1 matcher (t1 -> r), HasField l2 matcher (t2 -> r) ) => matcher -> E2 l1 t1 l2 t2 -> r {-# INLINE caseE2 #-} caseE2 m e2 = do let f1 = getField @l1 m let f2 = getField @l2 m case e2 of E21 a -> f1 $ getField @l1 a E22 b -> f2 $ getField @l2 b t2 :: forall l1 t1 l2 t2. LabelPrx l1 -> t1 -> LabelPrx l2 -> t2 -> T2 l1 t1 l2 t2 {-# INLINE t2 #-} t2 LabelPrx a LabelPrx b = T2 (label @l1 a) (label @l2 b) data LabelPrx (l :: Symbol) = LabelPrx instance (l ~ l') => IsLabel l (LabelPrx l') where fromLabel = LabelPrx instance (t ~ t') => IsLabel l (t -> (Label l t')) where fromLabel = label @l

matcher :: T2 "oh yeah" (Int -> String) "mylabel" (a -> a) matcher = t2 #"oh yeah" (\(i :: Int) -> show $ i + 1) #mylabel id bar :: E2 "oh yeah" Int "mylabel" String bar = E21 (#"oh yeah" 42) baz :: String baz = bar & caseE2 matcher
hledger 1.42 is out, with new run and repl commands.
Thank you to contributors Dmitry Astapov, gesh, Thomas
Miedema, Joschua Kesper, and Lars Kellogg-Stedman !
- https://github.com/simonmichael/hledger/releases/1.42
- https://hledger.org/relnotes.html#2025-03-07-hledger-142
- https://hledger.org/install
#hledger is free, robust, friendly, multicurrency, double-entry,
#plaintextaccounting software for unix, mac, windows, and the web,
written in #haskell for reliability.
hledger.org
plain text accounting, made easy
Aztecs v0.10: A modular game-engine and ECS for Haskell (now with a simpler design featuring applicative queries and monadic systems)
https://github.com/aztecs-hs/aztecs
Discussions: https://discu.eu/q/https://github.com/aztecs-hs/aztecs
discu.eu
Discussions and related articles for «GitHub - aztecs-hs/aztecs: A modular game engine and ECS for Haskell»
Sum Types, Subtypes, and Unions
https://blog.jle.im/entry/sum-types-and-subtypes-and-unions.html
Discussions: https://discu.eu/q/https://blog.jle.im/entry/sum-types-and-subtypes-and-unions.html
discu.eu
Discussions and related articles for «Sum Types and Subtypes and Unions · in Code»
(Haskell in Haskell) 2. Lexing
https://cronokirby.com/posts/2020/12/haskell-in-haskell-2/
Discussions: https://discu.eu/q/https://cronokirby.com/posts/2020/12/haskell-in-haskell-2/
"Learn Haskell by Example" book presentation by Philipp Hagenlocher
https://www.youtube.com/watch?v=dm84cqenhcU
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=dm84cqenhcU
discu.eu
Discussions and related articles for «"Learn Haskell by Example" book presentation by Philipp Hagenlocher»
Continuing introducing Я control flow primitives step by step. It's time for monoidal functors:
https://muratkasimov.art/Ya/Articles/Context-free-effects-with-Monoidal-functors
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/Context-free-effects-with-Monoidal-functors
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ Context-free effects with Monoidal functors»
I really need to master functions and functional programming generally. There's something about them that addles my brain. It's bothering me that I'm not good at them.
I can read through other people's functions and mostly work out what they do, but I struggle with writing my own.
I've read blogs that suggest learning #Haskell or #Scala as they are pure functional languages, and it helps solidify the logic.
Readings shared March 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/03-readings_shared_03-03-25 #CompSci #Coq #Education #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LeanProver #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 2 March 2025 are Waterproof: Transforming a proof assistant into an educational tool. ~ Aalt Jelle Wemmenhove. #ITP #Coq #Math #Education Computer assisted mathemati
Writing a small practice parser for NetPBM images in Haskell
https://github.com/kostareg/netpbm
Discussions: https://discu.eu/q/https://github.com/kostareg/netpbm
discu.eu
Discussions and related articles for «GitHub - kostareg/netpbm: A practice parser for the netpbm image filetype format.»
Haskell recap for week 9/2025
https://discu.eu/weekly/haskell/2025/9/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
illuminant - ActivityPub server with NNTP interface
https://koldfront.dk/git/illuminant/tree/README.md
Discussions: https://discu.eu/q/https://koldfront.dk/git/illuminant/tree/README.md
discu.eu
Discussions and related articles for «README.md - illuminant - ActivityPub server with NNTP interface»
Applying purity to the imperative world. ~ Jeremy Bowers. https://jerf.org/iri/post/2025/fp_lessons_purity/ #Haskell #FunctionalProgramming
jerf.org
Readings shared March 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/03/01-readings_shared_03-01-25 #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math
jaalonso.github.io
The readings shared in Bluesky on 1 March 2025 are Functional pearl: How much is in a square? Calculating functional programs with squares. ~ Jose Nuno Oliveira. #FunctionalProgramming #Haskell A com
Release containers 0.8
https://github.com/haskell/containers/releases/tag/v0.8
Discussions: https://discu.eu/q/https://github.com/haskell/containers/releases/tag/v0.8
discu.eu
Discussions and related articles for «Release containers 0.8 · haskell/containers · GitHub»
Functional pearl: How much is in a square? Calculating functional programs with squares. ~ Jose Nuno Oliveira. https://www.cambridge.org/core/services/aop-cambridge-core/content/view/F48258008F47DC9F53AA2E61B4E511A7/S0956796825000012a.pdf/how_much_is_in_a_square_calculating_functional_programs_with_squares.pdf #FunctionalProgramming #Haskell
Readings shared February 28, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/28-readings_shared_02-28-25 #AI #CompSci #DeepLearning #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs #LeanProver #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 28 February 2025 are Is mathematics obsolete? ~ Jeremy Avigad. #Math #ITP #LeanProver #AI #LLMs Faithful logic embeddings in HOL (A recipe to have it all: deep and s
PPA: Un asistente de demostración para lógica de primer orden con extracción de testigos usando la traducción de Friedman. ~ Manuel Panichelli. https://gestion.dc.uba.ar/media/academic/grade/thesis/tesis-1.0.1.pdf #Haskell #FunctionalProgramming #Logic
Static binary with Nix, problems with hmatrix
discu.eu
Discussions and related articles for «Comparing main...dev/hmatrix · b4er/recalc · GitHub»
Concurrent Order Book
https://github.com/bahbah94/Order-Book-Haskell
Discussions: https://discu.eu/q/https://github.com/bahbah94/Order-Book-Haskell
discu.eu
Discussions and related articles for «GitHub - bahbah94/Order-Book-Haskell: A Concurrent Order book using Haskell.»
Step-by-Step Guide to Installing GHC-JS (Haskell JavaScript FFI)
https://www.tushar-adhatrao.in/blogs/haskell_javascript_ffi.html
Discussions: https://discu.eu/q/https://www.tushar-adhatrao.in/blogs/haskell_javascript_ffi.html
discu.eu
Discussions and related articles for «Step-by-Step Guide to Installing GHC-JS (Haskell JavaScript FFI) - Tushar Adhatrao»
Trying to figure out what to use in my next personal project. Trying to stay away from touching JS. I have been considering #Elm becuase I like #haskell. I also have been considering #clojurescript and #clojure becuase I love #lisp. I guess I could choose any backend but I am really looking for a frontend replacement to make a QOL improvement
Please consider nominating yourself to be a member of the #Haskell Foundation Board: https://discourse.haskell.org/t/2025-call-for-nominations-for-the-haskell-foundation/11373
discourse.haskell.org
Hello! everyone The Haskell Foundation’s directors are pleased to announce the nomination process for seats on the Foundation’s board of directors. The board is the ultimate decision-making body of the Foundation and provides its strategic leadership. It ensures that the Foundation is working toward achieving its mission, and it appoints and supervises senior members of the Foundation’s staff. Following the board membership lifecycle rules, we are announcing five open seats. Directors that ha...
Readings shared February 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/24-readings_shared_02-24-25 #AI #CategoryTheory #Clojure #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Lisp #Logic #Math
jaalonso.github.io
The readings shared in Bluesky on 24 February 2025 are Formalising Brauer group and group cohomology in Lean4.~ Jujian Zhang. #ITP #LeanProver #Math The Haskell road to logic, math and programming. ~
Haskell recap for week 8/2025
https://discu.eu/weekly/haskell/2025/8/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Update n°42 from the GHC team at IOG
https://engineering.iog.io/2025-02-20-ghc-update
Highlights:
• Sylvain worked on making GHC built with cabal-install pass the testsuite
• Luite looked into using cosmopolitan libc to see if we can make a GHC cross compiler that produces multi-arch/os binaries
engineering.iog.io
Triweekly update from the GHC DevX team at IOG.
Update n°41 from the GHC team at IOG
https://engineering.iog.io/2025-01-30-ghc-update/
Highlights:
• Luite has completed the GHC 9.6.7 release.
• Sylvain worked on bootstrapping GHC and boot libraries with cabal-install
engineering.iog.io
Triweekly update from the GHC DevX team at IOG.
The Haskell road to logic, math and programming. ~ Kees Doets, Jan van Eijck (2004). https://fldit-www.cs.tu-dortmund.de/~peter/PS07/HR.pdf #Haskell #FunctionalProgramming #Loggic #Math
Bind and traverse with Kleisli morphisms. ~ Murat Kasimov. https://muratkasimov.art/Ya/Articles/Bind-and-traverse-with-Kleisli-morphisms #CategoryTheory #Haskell #FunctionalProgramming
muratkasimov.art
...
Multi Line Strings are now supported in GHC 9.12.1!
https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/multiline_strings.html
Discussions: https://discu.eu/q/https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/multiline_strings.html
discu.eu
Discussions and related articles for «6.9.9. Multiline string literals — Glasgow Haskell Compiler 9.13.20250222 User's Guide»
In an alternative timeline where #FunctionalProgramming is the norm instead of Object-oriented programming, and #Haskell is the most popular #ProgrammingLanguage instead of #Java, there is a list of tutorials trying to explain what Objects are to programmers in terms of FP concepts, the most popular of which is, “Objects are Comonads”.
However, we don't live in that timeline, so we'll have to be content with the inverse article, “Comonads are Objects” https://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html .
haskellforall.com
Haskell programmers popularized the use of monads to structure imperative computations, complete with syntactic sugar in the form of do not...
In an alternative timeline where #FunctionalProgramming is the norm instead of Object-oriented programming, and #Haskell is the most popular #ProgrammingLanguage instead of #Java, there is a list of tutorials trying to explain what Objects are to programmers in terms of FP concepts, the most popular of which is, “Objects are Comonads”.
However, we don't live in that timeline, so we'll have to be content with the inverse article, “Comonads are Objects” https://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html .
haskellforall.com
Haskell programmers popularized the use of monads to structure imperative computations, complete with syntactic sugar in the form of do not...
Comparing the chart of #Monad tutorials by year[1] with the Gartner hype cycle graph, it seems like we are almost at the Peak of Inflated Expectations phase now.
[1]: From the list of Monad tutorials (https://wiki.haskell.org/Monad_tutorials_timeline).
In my lifetime, I hope to see the Slope of Enlightenment phase when people stop asking what a Monad is, and the further Plateau of Productivity phase when everyone knows what it is.
This past week in the #Haskell Security Advisories:
*checks notes*
Nothing. Business as usual it is then.
The GHC developers are very pleased to announce the availability of the second release candidate of GHC 9.6.7
Release notes: https://downloads.haskell.org/ghc/9.6.7-rc2/docs/users_guide/9.6.7-notes.html
Announcement: https://mail.haskell.org/pipermail/ghc-devs/2025-February/021939.html
mail.haskell.org
Boost your Haskell productivity with Multiple Home Units in the repl
https://www.youtube.com/watch?v=B1WFMave-r4
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=B1WFMave-r4
discu.eu
Discussions and related articles for «Boost your Haskell productivity with Multiple Home Units in the repl»
First Haskell Project (an implementation of Irving's algorithm to find roomates)
https://github.com/TheArjunAgarwal/marriage-pact/tree/main
Discussions: https://discu.eu/q/https://github.com/TheArjunAgarwal/marriage-pact/tree/main
discu.eu
Discussions and related articles for «GitHub - TheArjunAgarwal/marriage-pact: OpenPact is an open-source Haskell implementation inspired by Marriage Pact (marriagepact.com). It also has a mode to match homosexual pairs and best friends.»
Readings shared February 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/20-readings_shared_02-20-25 #CommonLisp #Haskell #ITP #LLMs #LeanProver #Math #Programming #Python
jaalonso.github.io
The readings shared in Bluesky on 20 February 2025 are Simplifying formal proof-generating models with ChatGPT and basic searching techniques. ~ Sangjun Han et als. #LLMs #ITP #LeanProver Proving oly
Я ☞ Bind and traverse with Kleisli morphisms
https://muratkasimov.art/Ya/Articles/Bind-and-traverse-with-Kleisli-morphisms
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/Bind-and-traverse-with-Kleisli-morphisms
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ Bind and traverse with Kleisli morphisms»
Propositional function code from Haskell Road text
https://fldit-www.cs.tu-dortmund.de/~peter/PS07/HR.pdf
Discussions: https://discu.eu/q/https://fldit-www.cs.tu-dortmund.de/~peter/PS07/HR.pdf
#Exercitium: Lista cuadrada. https://jaalonso.github.io/exercitium/posts/2025/02/20-lista_cuadrada/ #Haskell #Python #CommonLisp
jaalonso.github.io
Definir la función listaCuadrada :: Int -> a -> [a] -> [[a]] tal que (listaCuadrada n x xs) es una lista de n listas de longitud n formadas con los elementos de xs completada con x, si no xs no tien
Readings shared February 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/19-readings_shared_02-19-25 #AI #CommonLisp #Coq #Haskell #ITP #LLMs #LeanProver #Logic #Math #Python #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 19 February 2025 are Automating math (Computers can already help verify proofs. One day soon, AI may be able to come up with new ones). ~ Adam Marblestone.h#ai-mathe
"Monad of No Return: Next Steps" https://discourse.haskell.org/t/monad-of-no-return-next-steps/11443
discourse.haskell.org
The proposal monad of no return has been in the process of being implemented for a while. I’m collecting community feedback on the proposal (and specifically phase 3) in the hopes that as a community we can move forwards in making Haskell a better language. I encourage people to read the proposal above, but I’ll summarise and quote below where relevant. What is this proposal? The proposal outlines that with making Applicative a superclass of Monad (which happened with Functor-Applicative-Monad ...
Bellroy Technology Team: 2024 in Review
https://exploring-better-ways.bellroy.com/bellroy-technology-team-2024-in-review.html
Discussions: https://discu.eu/q/https://exploring-better-ways.bellroy.com/bellroy-technology-team-2024-in-review.html
discu.eu
Discussions and related articles for «Bellroy Technology Team: 2024 in Review»
#Exercitium: Máximos locales. https://jaalonso.github.io/exercitium/posts/2025/02/19-maximos_locales/ #Haskell #Python #CommonLisp #Math
jaalonso.github.io
Un máximo local de una lista es un elemento de la lista que es que su predecesor y que su sucesor en la lista. Por ejemplo, 5 es un máximo local de [3,2,5,3,7,7,1,6,2] ya que es mayor que 2 (su prede
Readings shared February 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/18-readings_shared_02-18-25 #AI #CommonLisp #Haskell #LLMs #Math #Python
jaalonso.github.io
The readings shared in Bluesky on 18 February 2025 are Large language models and mathematical reasoning failures. ~ Johan Boye, Birger Moell. #AI #LLMs #Math #Exercitium: Matrices de Toepliz. #Haskel
currycarbon v0.4.0.0 is finally available. This version comes with a number of visible and invisible changes, most obviously an extension of the neat command line plot. This version is again available for MS Windows.
https://github.com/nevrome/currycarbon
#archaeology #Haskell #C14
currycarbon v0.4.0.0 is finally available. This version comes with a number of visible and invisible changes, most obviously an extension of the neat command line plot. This version is again available for MS Windows.
https://github.com/nevrome/currycarbon
#archaeology #Haskell #C14
Announcing Symbolize 1.0.1.0: String Interning / Global Symbol Table, with Garbage Collection
discu.eu
Discussions and related articles for «Symbolize 1.0.1.0: Efficient string interning / global Symbol table, with Garbage Collection - Announcements - Haskell Community»
#Exercitium: Matrices de Toepliz. https://jaalonso.github.io/exercitium/posts/2025/02/18-matriz_toeplitz/ #Haskell #Python #CommonLisp #Math
jaalonso.github.io
Una matriz de Toeplitz es una matriz cuadrada que es constante a lo largo de las diagonales paralelas a la diagonal principal. Por ejemplo, |2 5 1 6| |2 5 1 6| |4 2 5 1| |4 2 6 1| |7 4 2 5
Haskell coach to stick with women's team for basketball playoffs despite having been fired
discu.eu
Discussions and related articles for «Haskell coach to stick with women’s team for basketball playoffs, despite having been fired | News, Sports, Jobs - Lawrence Journal-World: news, information, headlines and events in Lawrence, Kansas»
Readings shared February 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/17-readings_shared_02-17-25 #AI #Emacs #FunctionalProgramming #Haskell #ITP #LLMs #LeanProver #Math #Programmingo #Python
@jgayfer It also depends on your personality.
I have seen careful and pedantic coders build impressive things with python and js while I tend to make a mess that's impossible to maintain. I also waste many hours debugging.
So for me, a strictly typed language leads to long term productivity. I also take on bigger problems with confidence.
Natural transformations as a basis of control. ~ Murat Kasimov. https://muratkasimov.art/Ya/Articles/Natural-transformation-as-a-basis-of-control #Haskell #FunctionalProgramming
muratkasimov.art
Introduction How do you approach learning a new foreign language? Starting with an alphabet, looking for grammar books at local shops or insulting native speakers with your distorted ...
Readings shared February 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/16-readings_shared_02-16-25 #CategoryTheory #FunctionalProgramming #Haskell #LLMs #LambdaCalculus #Logic #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 16 February 2025 are The relationship between category theory, lambda calculus, and functional programming in Haskell. ~ Antonio Montano. #Haskell #FunctionalProgram
The relationship between category theory, lambda calculus, and functional programming in Haskell. ~ Antonio Montano. https://4m4.it/posts/category-theory-functional-programming-compositionality/ #Haskell #FunctionalProgramming #CategoryTheory #LambdaCalculus
4m4.it
This post explores the deep connections between functional programming, lambda calculus, and category theory, with a particular focus on composability, a foundational principle in both mathematics and software engineering. Haskell, a functional programming language deeply rooted in these mathematical frameworks, serves as the practical implementation of these concepts, demonstrating how abstract theories can be applied to build robust, scalable, and maintainable software systems. We present key concepts such as function composition, functors, monads, and cartesian closed categories, illustrating their significance in modern software development. Additionally, it highlights how formal composability, grounded in lambda calculus and category theory, is crucial for managing the growing complexity of software systems. The discussion extends to the future implications of formal composability in the context of machine learning and automated software development, emphasizing its potential to transform the way complex systems are designed and verified. Finally, the essay provides a comprehensive self-study path for those interested in mastering Haskell, category theory, and their applications in various domains, including secure coding, asynchronous systems, and blockchain technology.
PatternMatchable, Yoneda Embedding, and Adjunction - Show and Tell
https://discourse.haskell.org/t/patternmatchable-yoneda-embedding-and-adjunction/11411
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/patternmatchable-yoneda-embedding-and-adjunction/11411
discu.eu
Discussions and related articles for «PatternMatchable, Yoneda Embedding, and Adjunction - Show and Tell - Haskell Community»
Readings shared February 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/14-readings_shared_02-14-25 #Autoformalization #FunctionalProgramming #Haskell #ITP #IsabelleHOL #LLMs
jaalonso.github.io
The readings shared in Bluesky on 14 February 2025 are Language models for verifiable mathematical automation (Interaction, integration, and autoformalization). ~ Qiaochu Jiang. #ITP #IsabelleHOL #LL
#Exercitium: Primos equidistantes. https://jaalonso.github.io/exercitium/posts/2025/02/14-primos_equidistantes/ #Haskell #Python #CommonLisp #Math
jaalonso.github.io
Definir la función primosEquidistantes :: Integer -> [(Integer,Integer)] tal que (primosEquidistantes k) es la lista de los pares de primos cuya diferencia es k. Por ejemplo, take 3 (primosEquidista
The Haskell Unfolder Episode 39: Deriving strategies). ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/NEUbp2CsuNg #Haskell #FunctionalProgramming
youtube.com
In this episode we'll discuss the the four different ways GHC offers for deriving class instance definitions: the classic "stock" deriving, generalised "newt...
I should learn and use #rust. I could use it for work projects, and it would fit neatly, with being safe, fast, and easily installable/deployable.
But it somehow doesn't "tickle" me. I keep coming back to these (comparatively) more exotic languages like #haskell. Not sure why, but I think it offers more learning experiences, possibly more rigidity?
Deploying a Single-Binary Haskell Web App
https://entropicthoughts.com/deploying-single-binary-haskell-web-app
Discussions: https://discu.eu/q/https://entropicthoughts.com/deploying-single-binary-haskell-web-app
discu.eu
Discussions and related articles for «Deploying a Single-Binary Haskell Web App»
The Haskell Unfolder Episode 39: deriving strategies
https://www.youtube.com/watch?index=39&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=NEUbp2CsuNg
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=39&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=NEUbp2CsuNg
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 39: deriving strategies - YouTube»
@abnv could do it with #Haskell, but of the libraries that sound promising
- 1 has a concise API but is experimental and misses tests
- 1 depends on an ancient base
- 1 has a too conservative licence
- 1 where you need to pass contraprovariant subfunctors and then project the result to 1.5D-space
- 1 uses a logging framework monad dep that is not compatible with your stack
- 1 is practical, but has bug that is fixed locally by users who were too busy to publish them
- 1 you need to jailbreak nix

(baton roue image macro) * man riding bike: "efficient pure functional programming" * man puts stick between spokes: "lazy evaluation" * man on ground holding knee: "BangPatterns StrictData Strict MagicHash UnboxedTuples UnliftedNewtypes UnboxedSums UnliftedDatatypes" The haskell logo is pasted over the man's face in all frames.
@abnv could do it with #Haskell, but of the libraries that sound promising
- 1 has a concise API but is experimental and misses tests
- 1 depends on an ancient base
- 1 has a too conservative licence
- 1 where you need to pass contraprovariant subfunctors and then project the result to 1.5D-space
- 1 uses a logging framework monad dep that is not compatible with your stack
- 1 is practical, but has bug that is fixed locally by users who were too busy to publish them
- 1 you need to jailbreak nix
Tomorrow, 2025-02-11, we'll live-stream a new episode of the #Haskell #Unfolder. Edsko and I will discuss the various strategies for deriving instances that GHC offers and their relative strengths and weaknesses. Hope to see you all there! https://www.youtube.com/watch?v=NEUbp2CsuNg&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=39
youtube.com
In this episode we'll discuss the the four different ways GHC offers for deriving class instance definitions: the classic "stock" deriving, generalised "newt...
Talk change for #BFPG tonight. The explicit substitutions talk will be rescheduled. In its place, parser combinators in #Haskell (live-coding a JSON parser from scratch).
Be there or be a lambda cube. https://lu.ma/85i70qns
lu.ma
Agenda 18:00: Welcome and setup Presentation #1: Live coding a JSON parser - Donovan Crichton Presentation #2: Mentor networking session - hosted by Jack…
#Exercitium: Anagramas. https://jaalonso.github.io/exercitium/posts/2025/02/10-anagramas/ #Haskell #Python #CommonLisp
jaalonso.github.io
Una palabra es una anagrama de otra si se puede obtener permutando sus letras. Por ejemplo, "mora" y "roma" son anagramas de "amor". Definir la función anagramas :: String -> [String] -> [String] ta
Haskell recap for week 6/2025
https://discu.eu/weekly/haskell/2025/6/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Я ☞ Natural transformations as a basis of control flow
https://muratkasimov.art/Ya/Articles/Natural-transformation-as-a-basis-of-control
Discussions: https://discu.eu/q/https://muratkasimov.art/Ya/Articles/Natural-transformation-as-a-basis-of-control
discu.eu
Discussions and related articles for «Я ☞ Articles ☞ Natural transformations as a basis of control»
Turner, Bird, Eratosthenes: An eternal burning thread. ~ Jeremy Gibbons. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/turner-bird-eratosthenes-an-eternal-burning-thread/32E2EDF5D5EAEC95F13D313BC97B86F0 #Haskell #FunctionalProgramming
cambridge.org
Turner, Bird, Eratosthenes: An eternal burning thread - Volume 35
2025 Call for nominations for the Haskell Foundation
https://gitlab.haskell.org/hf/meta/-/blob/main/board.md#7-board-membership-lifecycle
Discussions: https://discu.eu/q/https://gitlab.haskell.org/hf/meta/-/blob/main/board.md%237-board-membership-lifecycle
discu.eu
Discussions and related articles for «board.md · main · hf / meta · GitLab»
Readings shared February 8, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/08-readings_shared_02-08-25 #ITP #IsabelleHOL #Haskell #FunctionalProgramming
jaalonso.github.io
The readings shared in Bluesky on 8 February 2025 are Verification of the CVM algorithm with a new recursive analysis technique. ~ Emin Karayel, Derek Khu, Kuldeep S. Meel, Yong Kiam Tan, Seng Joe Wa
@cafechatnoir "afternoon workshop type class" – accidental #haskell
Introducing Haskell Run – A VS Code Extension to Execute Haskell Instantly!
https://marketplace.visualstudio.com/items?itemName=midhunan.haskellrun
Discussions: https://discu.eu/q/https://marketplace.visualstudio.com/items?itemName=midhunan.haskellrun
discu.eu
Discussions and related articles for «Introducing Haskell Run – A VS Code Extension to Execute Haskell Instantly!»
Turner, Bird, Eratosthenes: An eternal burning thread https://www.cambridge.org/core/journals/journal-of-functional-programming/article/turner-bird-eratosthenes-an-eternal-burning-thread/32E2EDF5D5EAEC95F13D313BC97B86F0
news.ycombinator.com
Review of "Haskell in depth" by Vitaly Bragilevsky. ~ Brent Yorgey. https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E8BE1DB3FD80AB7AD92EE979893A10AC/S0956796825000024a.pdf/review_of_haskell_in_depth_by_vitaly_bragilevsky_manning_publications_2021.pdf #Haskell #FunctionalProgramming
Tricking Haskell into state: how Clash's Signal type works
https://clash-lang.org/blog/0007-signals/
Discussions: https://discu.eu/q/https://clash-lang.org/blog/0007-signals/
discu.eu
Discussions and related articles for «Clash: Tricking Haskell into state: how Clash's Signal type works»
Readings shared February 6, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/06-readings_shared_02-06-25 #ITP #LeanProver #Math #CategoryTheory #Haskell #Python #CommonLisp #Emacs #Elisp #LLMs
jaalonso.github.io
The readings shared in Bluesky on 6 February 2025 are A formalization of Borel determinacy in Lean. ~ Sven Manthe. #ITP #LeanProver #Math Simplifying formal proof-generating models with ChatGPT and b
#Exercitium: Diagonales principales. https://jaalonso.github.io/exercitium/posts/2025/02/06-diagonales_principales/ #Haskell #Python #CommonLisp #Matemáticas
jaalonso.github.io
La lista de las diagonales principales de la matriz 1 2 3 4 5 6 7 8 9 10 11 12 es [[9],[5,10],[1,6,11],[2,7,12],[3,8],[4]] Definir la función diagonalesPrincipales :: Array (Int,Int) a -> [[
I fucking hate cabal #haskell for the inexcusable design decision that all info for a project must be in the cabal file and therefore cabal cannot figure out what modules are part of the project folder structure. Why? Because this means I can’t get extension support for files until I explicitly add the bloody module to the cabal file. When asked about it on the Haskell discord I am told that this is an unfortunate consequence of the above and that it’s on me to use some ugly workaround.
For such a fundamental pain in the UX, the only acceptable response from #cabal devs should be to stuff their pride deep deep down and go back to the fucking drawing board and throw out such hideous design decisions.
@julesh I spent a lot of time in freenode #haskell pointing out that no, haskell could go fuck itself re various limitations because the suggestions I was being given were either workaround grade (which, tbf, was usually acknowledged) or attempts to tell me I had an XY problem and Y wasn't "you're using haskell"
Some of them have, at least, improved significantly - but there's also a reason I'm deliberately keeping Nooblog and its successors small enough to piss people off, which is that I absolutely should not be maintaining a language others are building on top of! Cribbing off my design is more than fine by me.
Readings shared February 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/04-readings_shared_02-04-25 #Haskell #Python #CommonLisp
jaalonso.github.io
The readings shared in Bluesky on 4 February 2025 are Readings shared February 3, 2025. #ITP #LeanProver #IsabelleHOL #Haskell #Python #CommonLisp #Maxima #Math #Exercitium: Posiciones de las diagona
Type-level interfaces in Haskell and Rust (talk, Functional Conf 2025)
https://youtu.be/vKAuSD0RnmY?si=JG4gHkjmgDSgdCBB
Discussions: https://discu.eu/q/https://youtu.be/vKAuSD0RnmY?si=JG4gHkjmgDSgdCBB
discu.eu
Discussions and related articles for «Type-level interfaces in Haskell and Rust (talk, Functional Conf 2025)»
this is the best unintentional critique of "make illegal states unrepresentable" I've seen https://lobste.rs/s/wucizv/no_panic_rust_nice_technique_for_systems#c_ysdzf9 tl;dr "shit happens"
lobste.rs
Evan Silberman wrote an interesting post that describes the process which led to the contribution of the mdoc reader.
https://duckrabbit.tech/articles/mdoc.html
#pandoc #haskell #blogpost
duckrabbit.tech
#Exercitium: Posiciones de las diagonales principales. https://jaalonso.github.io/exercitium/posts/2025/02/04-posiciones_diagonales_principales/ #Haskell #Python #CommonLisp
jaalonso.github.io
Las posiciones de una matriz con 3 filas y 4 columnas son (1,1) (1,2) (1,3) (1,4) (2,1) (2,2) (2,3) (2,4) (3,1) (3,2) (3,3) (3,4) Las posiciones de sus 6 diagonales principales son [(3,1)] [(2,1),(3
Readings shared February 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/02/03-readings_shared_02-03-25 #ITP #LeanProver #IsabelleHOL #Haskell #Python #CommonLisp #Maxima #Math
jaalonso.github.io
The readings shared in Bluesky on 3 February 2025 are A comprehensive survey of the Lean 4 theorem prover: Architecture, applications, and advances. ~ Xichen Tang. #ITP #LeanProver Differential priva
Check out my series of #blog posts about writing a fast #Sudoku solver in #Haskell, starting with this post: https://abhinavsarkar.net/posts/fast-sudoku-solver-in-haskell-1/
Comments, boosts and likes appreciated.
Over the weekend, I spent a couple of hours #reading through Patrick Thomson's series of blog posts on Recursion Schemes with #Haskell https://blog.sumtypeofway.com/posts/recursion-schemes-part-6.html, and it has been most helpful in understanding the topic. I have tried reading the docs of the eponymous package before, to no avail. That's why I love reading (and writing) #programming tutorials.
I downloaded the posts and converted them to an e-book for offline reading. It was over a hundred pages but it was so engrossing, I couldn't put it down! There are not many blog posts that I could say the same about. Definitely a recommended read if you are interested in #RecursionSchemes and #FunctionalProgramming.
blog.sumtypeofway.com
#Exercitium: La bandera tricolor. https://jaalonso.github.io/exercitium/posts/2025/02/03-bandera_tricolor/ #Haskell #Python #CommonLisp
jaalonso.github.io
El problema de la bandera tricolor consiste en lo siguiente: Dada un lista de objetos xs que pueden ser rojos, amarillos o morados, se pide devolver una lista que contiene los elementos de xs, primero
my first Haskell project - a random art generator
https://github.com/jamesma100/randomart
Discussions: https://discu.eu/q/https://github.com/jamesma100/randomart
discu.eu
Discussions and related articles for «GitHub - jamesma100/randomart: random art generator for cryptographic keys»
Registrations for #ZuriHac are open!
fosstodon.org
Registration for the ZuriHac 2025 is now open! Who's excited for another 3 days of wonderful talks, catching up with friends, happy Haskell hacking, and lake swims? 🔗 Click to register: https://zureg.zfoh.ch/register 🔗 Visit the website: https://zfoh.ch/zurihac2025/ #ZuriHac #ZuriHac2025 #functionalprogramming
Myth and truth in Haskell asynchronous exceptions
https://kazu-yamamoto.hatenablog.jp/entry/2024/12/04/180338
Discussions: https://discu.eu/q/https://kazu-yamamoto.hatenablog.jp/entry/2024/12/04/180338
discu.eu
Discussions and related articles for «Myth and truth in Haskell asynchronous exceptions - あどけない話»
Readings shared January 31, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/31-readings_shared_01-31-25 #Haskell #Python #CommonLisp #SMT
jaalonso.github.io
The readings shared in Bluesky on 31 January 2025 are Solidifying modern SMT solvers. ~ Dominik Winterer. #SMT The Common Lisp Cheat Sheet. ~ Ashok Khanna. #CommonLisp #Exercitium: Ordenación por el
[Well-Typed] An introduction to Cabal Hooks for package authors
https://www.well-typed.com/blog/2025/01/cabal-hooks/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2025/01/cabal-hooks/
discu.eu
Discussions and related articles for «An introduction to Cabal Hooks for package authors - Well-Typed: The Haskell Consultants»
Add safe integral conversions to base · Issue #314 · haskell/core-libraries-committee
https://github.com/haskell/core-libraries-committee/issues/314
Discussions: https://discu.eu/q/https://github.com/haskell/core-libraries-committee/issues/314
discu.eu
Discussions and related articles for «Add safe integral conversions to base · Issue #314 · haskell/core-libraries-committee · GitHub»
Using the Tardis Monad in a compiler optimisation pass.
https://icicle-lang.github.io/posts/2025-02-01-a-time-travelling-optimisation.html
Discussions: https://discu.eu/q/https://icicle-lang.github.io/posts/2025-02-01-a-time-travelling-optimisation.html
discu.eu
Discussions and related articles for «Icicle Lang - Destructive Updates - a Stitch in Time»
#Exercitium: Ordenación por el máximo. https://jaalonso.github.io/exercitium/posts/2025/01/29-ordenados_por_maximo/ #Haskell #Python #CommonLisp
jaalonso.github.io
Definir la función ordenadosPorMaximo :: Ord a => [[a]] -> [[a]] tal que (ordenadosPorMaximo xss) es la lista de los elementos de xss ordenada por sus máximos (se supone que los elementos de xss son
Blazing-Fast Directory Tree Traversal: Haskell Streamly Beats Rust
https://www.youtube.com/watch?v=voy1iT2E4bk
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=voy1iT2E4bk
discu.eu
Discussions and related articles for «Blazing-Fast Directory Tree Traversal: Haskell Streamly Beats Rust»
Check out my series of #blog posts about writing a fast #Sudoku solver in #Haskell, starting with this post: https://abhinavsarkar.net/posts/fast-sudoku-solver-in-haskell-1/
Comments, boosts and likes appreciated.
Haskell recap for week 4/2025
https://discu.eu/weekly/haskell/2025/4/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Advent of Code in Haskell: Reflections and write-ups for all 25 days of 2024
https://blog.jle.im/entry/advent-of-code-2024.html
Discussions: https://discu.eu/q/https://blog.jle.im/entry/advent-of-code-2024.html
discu.eu
Discussions and related articles for «Advent of Code 2024: Haskell Solution Reflections for all 25 Days · in Code»
Failed to install HLS
https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1
Discussions: https://discu.eu/q/https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1
discu.eu
Discussions and related articles for «"ghc-9.4.8.exe: could not detect mingw toolchain in the following paths:" - Problem when running ghci»
Hey all! I'm due for an (re-)introduction: I'm Jack, an engineer in the NYC area from a firmware & cybersecurity background, currently working in something like hardware-software co-design.
Technical work is often with #rust #kicad #python #verilog #c, and in all-too-rare moments stuff like #haskell #forth #agda and #prolog
I've never been much for social media, usually preferring to keep interests local: a better-detailed #introduction to follow as I figure this out 🙂
Readings shared January 25, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/25-readings_shared_01-25-25 #ITP #Agda #Coq #Rocq #IsabelleHOL #Math #FunctionalProgramming #Haskell #JuliaLang
jaalonso.github.io
The readings shared in Bluesky on 25 January 2025 are Readings shared January 24, 2025. #ITP #IsabelleHOL #Haskell #FunctionalProgramming #AI #LLMs #GenerativeAI #NeuroSymbolicAI Pinpointing the lear
Use Monoids for Construction
https://reasonablypolymorphic.com/blog/use-monoids/index.html
Discussions: https://discu.eu/q/https://reasonablypolymorphic.com/blog/use-monoids/index.html
discu.eu
Discussions and related articles for «Use Monoids for Construction :: Reasonably Polymorphic»
Use monoids for construction. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/use-monoids/index.html #Haskell #FunctionalProgramming
reasonablypolymorphic.com
Readings shared January 24, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/24-readings_shared_01-24-25 #ITP #IsabelleHOL #Haskell #FunctionalProgramming #AI #LLMs #GenerativeAI #NeuroSymbolicAI
jaalonso.github.io
The readings shared in Bluesky on 24 January 2025 are Readings shared January 23, 2025. #ITP #IsabelleHOL #LeanProver #Python #Programming #Math #AI #LLMs Formally verified neurosymbolic trajectory l
After seven years of meticulously formatting and aligning all the source code of my #Haskell static site generator by hand, I finally moved to an auto-formatter today (Ormolu).
#haskell's "monoidmap" is fantastic! Getting a histogram from a list is just "foldMap (`MonoidMap.singleton` mempty)" (very implicit, using the "Sum" monoid)
@haskell_discussions I could predict that the comments would be full of "ThIs Is NoT tHe ReAl QuIcKsOrT!!!" XD #haskell
New SHA256 bindings supporting HMAC key reuse
https://hackage.haskell.org/package/sha256
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/sha256
discu.eu
Discussions and related articles for «sha256: A modern binding to SHA256, HMAC, HKDF, and PBKDF2»
At the #agda headquaters:
"OK, guys, so our user pool consists only of folks who already know #haskell and #emacs Is there a way to narrow it down more?"
"I got it, what if we allow unicode, so they also have to also know #latex ?"
"Brilliant!"
(just kidding, agda is very cool (hope to learn it someday))
At the #agda headquaters:
"OK, guys, so our user pool consists only of folks who already know #haskell and #emacs Is there a way to narrow it down more?"
"I got it, what if we allow unicode, so they also have to also know #latex ?"
"Brilliant!"
(just kidding, agda is very cool (hope to learn it someday))
Tracing foreign function invocations. ~ Edsko de Vries, Zubin Duggal, Matthew Pickering. https://well-typed.com/blog/2025/01/trace-foreign-calls/ #Haskell #FunctionalProgramming
well-typed.com
Supercede’s house style for Haskell. ~ Jezen Thomas. https://jezenthomas.com/2025/01/style-guide/ #Haskell #FunctionalProgramming

jezenthomas.com
The house style that has emerged for all Haskell code written at Supercede.
Modeling dataframes in Haskell using higher-kinded types. ~ Laurent P. René de Cotret. https://laurentrdc.xyz/posts/HKTGenerics.html #Haskell #FunctionalProgramming
laurentrdc.xyz
Making my life easier with two GADTs. ~ borar. http://systema10.org/posts/making-my-life-easier-with-two-gadts.html #Haskell #FunctionalProgramming
Making my life harder with GADTs. Matt Parsons. https://www.parsonsmatt.org/2025/01/21/making_my_life_harder_with_gadts.html #Haskell #FunctionalProgramming
parsonsmatt.org
Lucas Escot wrote a good blog post titled “Making My Life Easier with GADTs”, which contains a demonstration of GADTs that made his life easier.He posted the...
Making my life easier with GADTs. ~ Lucas Escot. https://acatalepsie.fr/posts/making-my-life-easier-with-gadts.html #Haskell #FunctionalProgramming
acatalepsie.fr
In which I showcase one concrete example where dependent types allow me to turn the handling of different but similar compiler targets into a breeze of fresh air.
Fast Haskell, Redux. ~ Jared Tobin. https://jtobin.io/fast-haskell-redux #Haskell #FunctionalProgramming
jtobin.io
A new perspective on lenses. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/code-lenses/ #Haskell #FunctionalProgramming
reasonablypolymorphic.com
Hyperbole: Haskell interactive serverside web framework inspired by Htmx, Elm
https://github.com/seanhess/hyperbole
Discussions: https://discu.eu/q/https://github.com/seanhess/hyperbole
discu.eu
Discussions and related articles for «GitHub - seanhess/hyperbole: Haskell interactive serverside web framework inspired by HTMX, Elm, and Phoenix LiveView»
Cabal cannot build scotty project on Windows because of zlib
https://hackage.haskell.org/package/scotty
Discussions: https://discu.eu/q/https://hackage.haskell.org/package/scotty
discu.eu
Discussions and related articles for «scotty: Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp»
Readings shared January 22, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/22-readings_shared_01-22-25 #ITP #IsabelleHOL #Coq #Rocq #LeanProver #FunctionalProgramming #Haskell #Python #Math #AI
jaalonso.github.io
The readings shared in Bluesky on 22 January 2025 are Readings shared January 21, 2025. #ITP #Lean4 #IsabelleHOL #Math #Prolog #LogicProgramming #AI #LLMs #Exercitium: Iguales al siguiente. #Haskell
A Proper x86 Assembler in Haskell Using the Escardó-Oliva Functional
http://blog.vmchale.com/article/escardo-oliva-functional
Discussions: https://discu.eu/q/http://blog.vmchale.com/article/escardo-oliva-functional
discu.eu
Discussions and related articles for «A Proper X86 Assembler in Haskell Using the Escardó-Oliva Functional»
Update: Jaxpr / Jax interop Haskell Library (named Neptune)
https://github.com/mzguntalan/neptune
Discussions: https://discu.eu/q/https://github.com/mzguntalan/neptune
discu.eu
Discussions and related articles for «GitHub - mzguntalan/neptune: [WIP] Neptune: JAX iterop-able library in Haskell.»
Making my life easier with two GADTs
http://systema10.org/posts/making-my-life-easier-with-two-gadts.html
Discussions: https://discu.eu/q/http://systema10.org/posts/making-my-life-easier-with-two-gadts.html
discu.eu
Discussions and related articles for «Making my life easier with two GADTs»
#Exercitium: Iguales al siguiente. https://jaalonso.github.io/exercitium/posts/2025/01/21-iguales_al_siguiente/ #Haskell #Python #Matemáticas
jaalonso.github.io
Definir la función igualesAlSiguiente :: Eq a => [a] -> [a] tal que (igualesAlSiguiente xs) es la lista de los elementos de xs que son iguales a su siguiente. Por ejemplo, igualesAlSiguiente [1,2,2,
Advent of Code 2024: Haskell solution reflections for all 25 days. ~ Justin Le. https://blog.jle.im/entry/advent-of-code-2024.html #Haskell #FunctionalProgramming
blog.jle.im
Admittedly a bit late, buuuuuut Merry belated Christmas and Happy New Years to all! This past December I again participated in Eric Wastl’s Advent of Code, a series of 25 daily Christmas-themed puzzles. Each puzzle comes with a cute story about saving Christmas, and the puzzles increase in difficulty as the stakes get higher and higher. Every night at midnight EST, my friends and I (including the good people of libera chat’s ##advent-of-code channel) discuss the latest puzzle and creative ways to solve and optimize it. But, the main goal isn’t to solve it quickly, it’s always to see creative ways to approach the puzzle and share different insights. The puzzles are bite-sized enough that there are often multiple ways to approach it, and in the past I’ve leveraged group theory, galilean transformations and linear algebra, and more group theory. This year was also the special 10 year anniversary event, with callbacks to fun story elements of all the previous years! Most of the puzzles are also pretty nice to solve in Haskell! Lots of DFS’s that melt away as simple recursion or recursion schemes, and even the BFS’s that expose you to different data structures and encodings. This year I’ve moved almost all of my Haskell code to an Advent of Code Megarepo. I also like to post write-ups on Haskelly ways to approach the problems, and they are auto-compiled on the megarepo wiki. I try my best every year, but sometimes I am able to complete write-ups for all 25 puzzles before the new year catches up. The last time was 2020, and I’m proud to announce that 2024 is now also 100% complete! You can find all of them here, but here are links to each individual one. Hopefully you can find them helpful. And if you haven’t yet, why not try Advent of Code yourself? :) And drop by the freenode ##advent-of-code channel, we’d love to say hi and chat, or help out! Thanks all for reading, and also thanks to Eric for a great event this year, as always!
Making My Life Harder with GADTs
https://www.parsonsmatt.org/2025/01/21/making_my_life_harder_with_gadts.html
Discussions: https://discu.eu/q/https://www.parsonsmatt.org/2025/01/21/making_my_life_harder_with_gadts.html
discu.eu
Discussions and related articles for «Making My Life Harder with GADTs»
Making my life easier with GADTs
https://acatalepsie.fr/posts/making-my-life-easier-with-gadts.html
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/making-my-life-easier-with-gadts.html
discu.eu
Discussions and related articles for «Making my life easier with GADTs»
GHC String Interpolation Survey Open!
https://discourse.haskell.org/t/ghc-string-interpolation-survey-open/11245
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-string-interpolation-survey-open/11245
discu.eu
Discussions and related articles for «GHC String Interpolation Survey Open! - Announcements - Haskell Community»
Documentation on using Renovate with haskell-actions
https://github.com/haskell-actions/setup/issues/111
Discussions: https://discu.eu/q/https://github.com/haskell-actions/setup/issues/111
discu.eu
Discussions and related articles for «Documentation on using Renovate with haskell-actions · Issue #111 · haskell-actions/setup · GitHub»
Minor #Haskell #ghc annoyance of the day is this warning:
"warning: [GHC-63394] [-Wx-partial]
In the use of ‘head’
(imported from Prelude, but defined in GHC.List):
"This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty."
I don't want this is on by default. If I want to call `head` on a list it is my problem that this might fail.
Luckily, the fix is easy:
{-# OPTIONS_GHC -Wno-x-partial #-}
Readings shared January 20, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/20-readings_shared_01-20-25 #ITP #LeanProver #IsabelleHOL #Math #FunctionalProgramming #Haskell #Python #CommonLisp #JanetLang #AI #LLMs #Programming
jaalonso.github.io
The readings shared in Bluesky on 20 January 2025 are Readings shared January 19, 2025. #ITP #LeanProver #FunctionalProgramming #Haskell #AI #LLMs #Exercitium: Primos consecutivos con media capicúa.
SupGen is program synthesizer that outperforms SOTA alternatives using the HVM (which is now in Haskell!)
https://www.youtube.com/watch?v=GddkKIhDE2c
Discussions: https://discu.eu/q/https://www.youtube.com/watch?v=GddkKIhDE2c
discu.eu
Discussions and related articles for «SupGen is an AI-free program synthesizer based on examples or dependent types. It outperforms the SOTA by up to 1000x!»
Haskell recap for week 3/2025
https://discu.eu/weekly/haskell/2025/3/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
#Exercitium: Primos consecutivos con media capicúa. https://jaalonso.github.io/exercitium/posts/2025/01/20-primos_consecutivos_con_media_capicua/ #Haskell #Python #Matemáticas
jaalonso.github.io
Definir la list primosConsecutivosConMediaCapicua :: [(Int,Int,Int)] formada por las ternas (x,y,z) tales que x e y son primos consecutivos cuya media, z, es capicúa. Por ejemplo, λ> take 5 primosCo
Interpreting Brainfuck in Haskell. ~ Abhinav Sarkar. https://abhinavsarkar.net/posts/brainfuck-interpreter/ #Haskell #FunctionalProgramming
abhinavsarkar.net
We write a few Brainfuck interpreters in Haskell.
Hasochism: The pleasure and pain of dependently typed Haskell programming. ~ Sam Lindley, Conor McBride. https://personal.cis.strath.ac.uk/conor.mcbride/pub/hasochism.pdf #Haskell #FunctionalProgramming
Hasochism: The Pleasure and Pain of Dependently Typed Haskell Programming
https://personal.cis.strath.ac.uk/conor.mcbride/pub/hasochism.pdf
Discussions: https://discu.eu/q/https://personal.cis.strath.ac.uk/conor.mcbride/pub/hasochism.pdf
Readings shared January 19, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/19-readings_shared_01-19-25 #ITP #LeanProver #FunctionalProgramming #Haskell #AI #LLMs
jaalonso.github.io
The readings shared in Bluesky on 19 January 2025 are Readings shared January 18, 2025. #Haskell #Python #CommonLisp #ITP #Coq #Rocq #Logic #Math #AI #MachineLearning #LLMs A toy example of a verifie
Interpreting Brainfuck in Haskell
https://abhinavsarkar.net/posts/brainfuck-interpreter/
Discussions: https://discu.eu/q/https://abhinavsarkar.net/posts/brainfuck-interpreter/
discu.eu
Discussions and related articles for «Interpreting Brainfuck in Haskell | abhinavsarkar.net»
Porting PFP from Haskell to OCaml
https://github.com/lewis-carson/PFPCaml
Discussions: https://discu.eu/q/https://github.com/lewis-carson/PFPCaml
discu.eu
Discussions and related articles for «GitHub - lewis-carson/PFPCaml: A port of PFP from Haskell to OCaml»
A new perspective on lenses. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/code-lenses/index.html #Haskell #FunctionalProgramming
reasonablypolymorphic.com
Writing an #interpreter for #Brainfuck is almost a rite of passage for any programming language implementer, and it’s my turn now. In this post, I write not one but four Brainfuck #interpreters in #Haskell: https://abhinavsarkar.net/posts/brainfuck-interpreter/
Please boost for reach. If you have any questions or comments, please reply to this post.
abhinavsarkar.net
We write a few Brainfuck interpreters in Haskell.
Haskell: A Great Procedural Language
https://entropicthoughts.com/haskell-procedural-programming
Discussions: https://discu.eu/q/https://entropicthoughts.com/haskell-procedural-programming
discu.eu
Discussions and related articles for «Haskell: A Great Procedural Language»
Readings shared January 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/18-readings_shared_01-18-25 #Haskell #Python #CommonLisp #ITP #Coq #Rocq #Logic #Math #AI #MachineLearning #LLMs
jaalonso.github.io
The readings shared in Bluesky on 18 January 2025 are Readings shared January 17, 2025. #Haskell #Python #ITP #Coq #Rocq #LeanProver #Logic #Math #AI #LLMs #Reasoning #Exercitium: Mastermind. #Haske
#Exercitium: Mastermind. https://jaalonso.github.io/exercitium/posts/2025/01/18-mastermind/ #Haskell #Python #Matemáticas
jaalonso.github.io
El Mastermind es un juego que consiste en deducir un código numérico formado por una lista de números. Cada vez que se una partida, el programa debe elegir un código, que será lo que el jugador debe
Listopia: List manipulation library inspired by Haskell package Data.List. ~ Ito Dimercel. https://github.com/Dimercel/listopia #CommonLisp #Haskell
github.com
List manipulation library inspired by Haskell package Data.List - Dimercel/listopia
Readings shared January 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/17-readings_shared_01-17-25 #Haskell #Python #ITP #Coq #Rocq #LeanProver #Logic #Math #AI #LLMs #Reasoning
jaalonso.github.io
The readings shared in Bluesky on 17 January 2025 are Readings shared January 16, 2025. #ITP #LeanProver #Agda #Logic #Math #SAT #SMT #FunctionalProgramming #Haskell #Python #Matemáticas #AI #LLMs #E
#Exercitium: Determinación de los elementos minimales. https://jaalonso.github.io/exercitium/posts/2025/01/17-elementos_minimales/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
jaalonso.github.io
Definir la función minimales :: Ord a => [[a]] -> [[a]] tal que (minimales xss) es la lista de los elementos de xss que no están contenidos en otros elementos de xss. Por ejemplo, minimales [[1,3],[
#MULCIA: Research software engineer at Epic. https://tinyurl.com/23jucqu4 #Job #CompSci #Haskell
discourse.haskell.org
The Verse research group at Epic Games, of which I am a member, is looking for a research software engineer to join the team. By way of context we are designing a new and rather unusual programming language called Verse. Verse is a functional logic language, with a distinctive and highly expressive type system. It is the language in which game designers and myriad other uses of the Unreal engine will give behaviour and life to their virtual realities. You can find a paper about it here. The jo...
Readings shared January 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/16-readings_shared_01-16-25 #ITP #LeanProver #Agda #Logic #Math #SAT #SMT #FunctionalProgramming #Haskell #Python #Matemáticas #AI #LLMs
jaalonso.github.io
The readings shared in Bluesky on 16 January 2025 are Readings shared January 15, 2025. #ITP #LeanProver #Logic #Math #CompSci #FunctionalProgramming #Haskell #Exercitium: Sucesión de números amigos.
Now added initial support for Haskell - auto-generate Haskell data models from Scala case classes - early preview, will extend further in hackathon
https://codeberg.org/jjba23/dmtscala
Discussions: https://discu.eu/q/https://codeberg.org/jjba23/dmtscala
discu.eu
Discussions and related articles for «jjba23/dmtscala: WIP: Parse and translate Scala data models into several programming languages - Codeberg.org»
#Exercitium: Suma de los números amigos menores que n. https://jaalonso.github.io/exercitium/posts/2025/01/16-suma_de_numeros_amigos_menores_que_n/ #Haskell #Python #Matemáticas
jaalonso.github.io
Dos números amigos son dos números enteros positivos distintos tales que la suma de los divisores propios de cada uno es igual al otro. Los divisores propios de un número incluyen la unidad pero no al
#Exercitium: Sucesión de números amigos. https://jaalonso.github.io/exercitium/posts/2025/01/15-sucesion_de_numeros_amigos/ #Haskell #Python #Matemáticas
jaalonso.github.io
Dos números amigos son dos números enteros positivos distintos tales que la suma de los divisores propios de cada uno es igual al otro. Los divisores propios de un número incluyen la unidad pero no a
The Haskell Unfolder Episode 38: tasting and testing CUDA (map, fold, scan). ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/ww4C3jlsesw?si=615ge7qYP7GBVp2A #Haskell #FunctionalProgramming
youtube.com
CUDA is an extension of C for programming NVIDIA GPUs. In this episode of the Haskell Unfolder we show how to set up a CUDA library so that we can link to it...
https://lira.kraamwinkel.be/articles/haskell_ffi
A while ago I wrote about the Foreign Function Interface in Haskell and how to make a desktop application with Qt6.
The following topics are covered:
foreign import to call C or C++-functions (without name mangling);foreign export to call Haskell-functions in C or C++GStorable);MonadReader (IORef [a]) m is better for storing pointers than MonadState [a] m;ccall and capiI already shared it on my previous account back then, but I am posting it here now too :)
An agda2hs-compatible representation of exact real arithmetic. ~ Viktor Csimma. https://csimmaviktor.web.elte.hu/acorn.pdf #ITP #Agda #FunctionalProgramming #Haskell
Readings shared January 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/15-readings_shared_01-15-25 #ITP #LeanProver #Logic #Math #CompSci #FunctionalProgramming #Haskell
jaalonso.github.io
The readings shared in Bluesky on 15 January 2025 are Readings shared January 14, 2025. #ITP #IsabelleHOL #Coq #Rocq #Haskell #FunctionalProgramming #Exercitium: Sucesión de números amigos. #Haskell
The Haskell Unfolder Episode 38: tasting and testing CUDA (map, fold, scan)
https://www.youtube.com/watch?index=38&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ww4C3jlsesw
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=38&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ww4C3jlsesw
discu.eu
Discussions and related articles for «The Haskell Unfolder Episode 38: tasting and testing CUDA (map, fold, scan) - YouTube»
Research Software Engineer at Epic
https://discourse.haskell.org/t/research-software-engineer-at-epic/11202
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/research-software-engineer-at-epic/11202
discu.eu
Discussions and related articles for «Research Software Engineer at Epic - Jobs - Haskell Community»
Hit the translate button and read about some interesting-looking #Haskell libraries.
https://zenn.dev/konn/articles/2025-01-oss-from-previous-job
zenn.dev
#Exercitium: Sucesión de números amigos. https://jaalonso.github.io/exercitium/posts/2025/01/15-sucesion_de_numeros_amigos/ #Haskell #Matemáticas
jaalonso.github.io
Dos números amigos son dos números enteros positivos distintos tales que la suma de los divisores propios de cada uno es igual al otro. Los divisores propios de un número incluyen la unidad pero no a
Readings shared January 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/14-readings_shared_01-14-25 #ITP #IsabelleHOL #Coq #Rocq #Haskell #FunctionalProgramming
jaalonso.github.io
The readings shared in Bluesky on 14 January 2025 are Readings shared January 13, 2025. #ITP #Coq #Rocq #HOL4 #CommonLisp #Programming #Math An Isabelle/HOL framework for synthetic completeness proof
https://lira.kraamwinkel.be/articles/haskell_ffi
A while ago I wrote about the Foreign Function Interface in Haskell and how to make a desktop application with Qt6.
The following topics are covered:
foreign import to call C or C++-functions (without name mangling);foreign export to call Haskell-functions in C or C++GStorable);MonadReader (IORef [a]) m is better for storing pointers than MonadState [a] m;ccall and capiI already shared it on my previous account back then, but I am posting it here now too :)
The #Haskell #Unfolder is back! In tomorrow's episode, we'll take a look at CUDA and write some simple functions in it. We'll also show how to interface from Haskell to CUDA and how to use QuickCheck to test CUDA functions from Haskell.
https://www.youtube.com/watch?v=ww4C3jlsesw&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=38
youtube.com
CUDA is an extension of C for programming NVIDIA GPUs. In this episode of the Haskell Unfolder we show how to set up a CUDA library so that we can link to it...
Hell (Haskell shell): Year in review. ~ Chris Done. https://chrisdone.com/posts/hell-year-in-review-2025/ #Haskell #FunctionalProgramming
chrisdone.com
Equality on recursive λ-terms
https://gist.github.com/VictorTaelin/1af22e2c87f176da0e5ff8cd3430b04f
Discussions: https://discu.eu/q/https://gist.github.com/VictorTaelin/1af22e2c87f176da0e5ff8cd3430b04f
discu.eu
Discussions and related articles for «Equality on Recursive λ-Terms · GitHub»
Haskell recap for week 2/2025
https://discu.eu/weekly/haskell/2025/2/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
하스켈 공부를 시작하고, 펑터를 슬슬 쓰기 시작하면서, Applicative 로 넘어갈 무렵에 볼만한 글입니다. 컨텍스트란 말이 편해지면, 펑터 다음 진도에 도움이 많이 됩니다.
최근 펑터를 공부하면서, 펑터가 달리 보여 5년전 글의 컨텍스트, Applicative, Traversable 내용을 보강해 봤습니다.
https://lionhairdino.github.io/posts/2020-07-02-Context.html
lionhairdino.github.io
맥락같은 모호한 설명을 하려는 문서가 아닙니다. 하스켈 펑터에서 컨텍스트는 펑터 타입에 접근할 때 항상 동작하는 코드를 의미합니다.
Readings shared January 11, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/11-readings_shared_01-11-25 #ITP #LeanProver #Coq #Rocq #Agda #FunctionalProgramming #Haskell #Python #Math #CategoryTheory #ComputerSci #Education #GenAI
jaalonso.github.io
The readings shared in Bluesky on 11 January 2025 are Readings shared January 10, 2025. #ITP #LeanProver #Logic #Math #Haskell #Python #ASP #LogicProgramming #AI #NeuroSymbolicAI #LLMs #Exercitium: N
예전 펑터 글에 "펑터 값을 프리미티브한 값처럼 쓰고 싶다"라는 목표를 먼저 세우고, `<$>`와 `<*>`등을 살펴보는 내용을 추가했습니다.
https://lionhairdino.github.io/posts/2023-03-09-functor.html
lionhairdino.github.io
수학에서 말하는 펑터가 하스켈에 어떤 모양, 어떤 이유로 들어왔는지 상상해본 글입니다.
Trying to learn persistent/esqueleto
https://www.yesodweb.com/book/persistent
https://hackage.haskell.org/package/persistent
persistent-postgresql https://hackage.haskell.org/package/persistent-postgresql
the Persistent entity syntax https://hackage.haskell.org/package/persistent-2.14.6.3/docs/Database-Persist-Quasi.html
esqueleto https://hackage.haskell.org/package/esqueleto

Screen capture from the Yesod book. However, there is one issue that newcomers are often bothered by: why are IDs and values completely separate? It seems like it would be very logical to embed the ID inside the value. In other words, instead of having: data Person = Person { name :: String } have data Person = Person { personId :: PersonId, name :: String } Well, there’s one problem with this right off the bat: how do we do an insert? If a Person needs to have an ID, and we get the ID by inserting, and an insert needs a Person, we have an impossible loop. We could solve this with undefined, but that’s just asking for trouble.

"One last trick you can do with attributes is to specify the names to be used for the SQL tables and columns. This can be convenient when interacting with existing databases."
예전 펑터 글에 "펑터 값을 프리미티브한 값처럼 쓰고 싶다"라는 목표를 먼저 세우고, `<$>`와 `<*>`등을 살펴보는 내용을 추가했습니다.
https://lionhairdino.github.io/posts/2023-03-09-functor.html
lionhairdino.github.io
수학에서 말하는 펑터가 하스켈에 어떤 모양, 어떤 이유로 들어왔는지 상상해본 글입니다.
#Exercitium: Números amigos. https://jaalonso.github.io/exercitium/posts/2025/01/11-numeros_amigos/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
jaalonso.github.io
Dos números amigos son dos números enteros positivos distintos tales que la suma de los divisores propios de cada uno es igual al otro. Los divisores propios de un número incluyen la unidad pero no al
Alpha beta pruning with the selection monad. ~ Johannes Hartmann, Jeremy Gibbons. https://trendsfp.github.io/abstracts/paper-028.pdf #Haskell #FunctionalProgramming
Shallowly embedded functions. ~ Mart Lubbers, Pieter Koopman, Niek Janssen. https://trendsfp.github.io/abstracts/paper-007.pdf #Haskell #FunctionalProgramming
Using GHC core to normalise student programs. ~ Matilda Blomqvist, Alex Gerdes. https://trendsfp.github.io/abstracts/paper-012.pdf #Haskell #FunctionalProgramming
On the correctness of Barron and Strachey’s cartesian product function. ~ Wouter Swierstra, Jason Hemann. https://trendsfp.github.io/abstracts/paper-006.pdf #Haskell #FunctionalProgramming #ITP #Agda
Categories and Haskell (An introduction to the mathematics behind modern functional programming). ~ Jan-Willem Buurlage. https://raw.githubusercontent.com/jwbuurlage/category-theory-programmers/master/doc/categories_for_programmers.pdf #CategoryTheory #Haskell #FunctionalProgramming
Readings shared January 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/10-readings_shared_01-10-25 #ITP #LeanProver #Logic #Math #Haskell #Python #ASP #LogicProgramming #AI #NeuroSymbolicAI #LLMs
jaalonso.github.io
The readings shared in Bluesky on 10 January 2025 are Readings shared January 9, 2025. #ITP #LeanProver #Logic #Math #FunctionalProgramming #Haskell #JavaScript #Python #AI #NeuralNetwork #ChatGPT #
#Exercitium: Máxima suma de caminos en un triángulo. https://jaalonso.github.io/exercitium/posts/2025/01/10-maxima_suma_de_caminos_en_un_triangulo/ #Haskell #Python #Matemáticas
jaalonso.github.io
Los triángulos se pueden representar mediante listas de listas. Por ejemplo, el triángulo 3 7 4 2 4 6 8 5 9 3 se representa por [[3],[7,4],[2,4,6],[8,5,9,3]] Definir la función maximaSuma ::
[ANN] Yolc - a Haskell-powered, safe, expressive, fun language for Ethereum
discu.eu
Discussions and related articles for «[ANN] Yolc - a Haskell-powered, safe, expressive, fun language for Ethereum»
Unable to build botan
https://github.com/haskell-cryptography/botan?tab=readme-ov-file#Installation
Discussions: https://discu.eu/q/https://github.com/haskell-cryptography/botan?tab=readme-ov-file%23Installation
discu.eu
Discussions and related articles for «GitHub - haskell-cryptography/botan: Haskell bindings for the Botan cryptography library»
Readings shared January 9, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/09-readings_shared_01-09-25 #ITP #LeanProver #Logic #Math #FunctionalProgramming #Haskell #JavaScript #Python #AI #NeuralNetwork #ChatGPT
jaalonso.github.io
The readings shared in Bluesky on 9 January 2025 are Readings shared January 8, 2025. #ITP #IsabelleHOL #AI #MachineLearning #LLMs Teaching "Foundations of mathematics" with the LEAN theorem prover.
Case Study — Using a JavaScript component inside a Haskell application
https://blog.haskell.org/case-study-foreign-integration-js-browser/
Discussions: https://discu.eu/q/https://blog.haskell.org/case-study-foreign-integration-js-browser/
discu.eu
Discussions and related articles for «Case Study — Using a JavaScript component inside a Haskell application | The Haskell Programming Language's blog»
Update n°40 from the GHC team at IOG
https://engineering.iog.io/2025-01-09-ghc-update/
Highlights:
• Luite finalized the patch adding compiler flags to to switch off speculative evaluation.
• Sylvain worked on bootstrapping GHC with Cabal.
engineering.iog.io
Triweekly update from the GHC DevX team at IOG.
Using a JavaScript component inside a Haskell application. ~ Mateusz Goślinowski. https://blog.haskell.org/case-study-foreign-integration-js-browser/ #Haskell #FunctionalProgramming #JavaScript
blog.haskell.org
New post on the #Haskell blog: “Case Study — Using a JavaScript component inside a Haskell application”
https://blog.haskell.org/case-study-foreign-integration-js-browser/
blog.haskell.org
@tolmasky if I had to implement reflection in Lean4 or Agda, I would try to mimic #Haskell's typeable.
But also, I think there must be a very important point here! In dependently typed languages, entities can have more than one type!
(frac 1 2) : Frac 2 4, but also (frac 1 2) : Frac 4 8, for instance.
[1] : ListLE 1, but also [1]: ListLE 42.
So, perhaps the whole idea of general reflaction is defeated by this property. And this is why #haskell offers superior reflection[1]. Note that #Typeable is in #GHC itself!
I don't know if I'm mansplaining here or if you're aware of haskell's Typeable, but here is a simple demo of its capabilities: https://github.com/cognivore/typeable-haskell-demo/blob/main/app/Main.hs
In #Lean, I would emulate it by defining asking the user to provide explict instances over an enum, just as you wrote! The existential quantification trick can be done in #Lean by carrying the instance inside a structure that ties the knot between the type and an entity which has this type:
```
structure Stuff where
α : Type
val : α
inst : Reflect α
```
You won't be able to construct it unless α is Reflect.
* * *
[1]: https://hackage.haskell.org/package/base-4.21.0.0/docs/Type-Reflection.html#t:TypeRep
hackage.haskell.org
DescriptionThis provides a type-indexed type representation mechanism, similar to that described by,Simon Peyton-Jones, Stephanie Weirich, Richard Eisenberg, Dimitrios Vytiniotis. "A reflection on types". Proc. Philip Wadler's 60th birthday Festschrift, Edinburgh (April 2016).The interface provides TypeRep, a type representation which can be safely decomposed and composed. See Data.Dynamic for an example of this.Since: base-4.10.0.0
GHC 9.12 & Cabal 3.14 releases
https://blog.haskell.org/ghc-9-12-cabal-3-14/
Discussions: https://discu.eu/q/https://blog.haskell.org/ghc-9-12-cabal-3-14/
discu.eu
Discussions and related articles for «GHC 9.12 & Cabal 3.14 releases | The Haskell Programming Language's blog»
Haskell recap for week 1/2025
https://discu.eu/weekly/haskell/2025/1/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
discu.eu
Pricing and premium features (RSS Feeds, email support, API, etc.) for discu.eu
Readings shared January 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/04-readings_shared_01-04-25 #ITP #IsabelleHOL #LeanProver #HOL_Light #Mizar #Math #Logic #Haskell #Python
jaalonso.github.io
The readings shared in Bluesky on 3 January 2025 are Readings shared January 3, 2025. #ITP #Lean4 #IsabelleHOL #Coq #Rocq #Math #FunctionalProgramming #OCaml #Haskell #Python #AI #MachineLearning #
McHale (2024) Streaming Compression via Laziness
http://vmchale.com/static/serve/lazy-c-api-streaming.pdf
Discussions: https://discu.eu/q/http://vmchale.com/static/serve/lazy-c-api-streaming.pdf
GHC 9.12 & Cabal 3.14 released!
Read the announcement at https://blog.haskell.org/ghc-9-12-cabal-3-14/
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
abhinavsarkar.net
We solve the Advent of Code 2020 “Seating System” challenge in Haskell using comonads and stencils.
Solving Advent of Code “Seating System” with Comonads and Stencils
https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
Discussions: https://discu.eu/q/https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
discu.eu
Discussions and related articles for «Solving Advent of Code “Seating System” with Comonads and Stencils | abhinavsarkar.net»
#introduction post on this new instance
Hello! I'm Ava, also known as faelif. I'm 18 and I'm studying for my A-levels here in the #UK (double #maths, #chemistry and #physics). I program in #Python and am learning #Haskell. I'm #transfemme but I don't really feel connected with gender at all.
I'm interested in #mathematics, #STEM more broadly, #trains, #politics, #history, #linguistics, #TokiPona and #ScienceCommunication.
I used to be on the fediverse @faelif@mastodon.social. You can also find me on Bookwyrm @faelif@bookwyrm.social.
Policy regarding taking over Hackage packages
https://discourse.haskell.org/t/policy-regarding-taking-over-hackage-packages/
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/policy-regarding-taking-over-hackage-packages/
discu.eu
Discussions and related articles for «Policy regarding taking over Hackage packages - Haskell Community»
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
abhinavsarkar.net
We solve the Advent of Code 2020 “Seating System” challenge in Haskell using comonads and stencils.
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
abhinavsarkar.net
We solve the Advent of Code 2020 “Seating System” challenge in Haskell using comonads and stencils.
#Exercitium: Caminos en un triángulo. https://jaalonso.github.io/exercitium/posts/2025/01/04-caminos_en_un_triangulo/ #Haskell #Python #Matemáticas
jaalonso.github.io
Los triángulos se pueden representar mediante listas de listas. Por ejemplo, el triángulo 3 7 4 2 4 6 8 5 9 3 se representa por [[3],[7,4],[2,4,6],[8,5,9,3]] Definir la función c
Readings shared January 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/03-readings_shared_01-03-25 #ITP #Lean4 #IsabelleHOL #Coq #Rocq #Math #FunctionalProgramming #OCaml #Haskell #Python #AI #MachineLearning
jaalonso.github.io
The readings shared in Bluesky on 3 January 2025 are Readings shared January 2, 2025. #Haskell #Python #Math #Exercitium: Mayor órbita de la sucesión de Collatz. #Haskell #Python #Matemáticas Proofs
#Exercitium: Mayor órbita de la sucesión de Collatz. https://jaalonso.github.io/exercitium/posts/2025/01/03-mayor_orbita_de_la_sucesion_de_collatz/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
jaalonso.github.io
Se considera la siguiente operación, aplicable a cualquier número entero positivo: Si el número es par, se divide entre 2. Si el número es impar, se multiplica por 3 y se suma 1. Dado un número cual
Parallel SAT solver. ~ Yixuan Li, Jiaqian Li, Phoebe Wang. https://www.cs.columbia.edu/~sedwards/classes/2024/4995-fall/reports/tsp-sat-report.pdf #Haskell #FunctionalProgramming
Parallel QuickHull algorithm in Haskell. ~ George Morgulis, Henry Lin. https://www.cs.columbia.edu/~sedwards/classes/2024/4995-fall/reports/Convex_Hull-report.pdf #Haskell #FunctionalProgramming
Modular probabilistic programming with algebraic effects. ~ Oliver Goldstein, Ohad Kammar. https://arxiv.org/abs/2412.19826 #Haskell #FunctionalProgramming

arxiv.org
Probabilistic programming languages, which exist in abundance, are languages that allow users to calculate probability distributions defined by probabilistic programs, by using inference algorithms. However, the underlying inference algorithms are not implemented in a modular fashion, though, the algorithms are presented as a composition of other inference components. This discordance between the theory and the practice of Bayesian machine learning, means that reasoning about the correctness of probabilistic programs is more difficult, and composing inference algorithms together in code may not necessarily produce correct compound inference algorithms. In this dissertation, I create a modular probabilistic programming library, already a nice property as its not a standalone language, called Koka Bayes, that is based off of both the modular design of Monad Bayes -- a probabilistic programming library developed in Haskell -- and its semantic validation. The library is embedded in a recently created programming language, Koka, that supports algebraic effect handlers and expressive effect types -- novel programming abstractions that support modular programming. Effects are generalizations of computational side-effects, and it turns out that fundamental operations in probabilistic programming such as probabilistic choice and conditioning are instances of effects.
Readings shared January 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/02-readings_shared_01-02-25 #Haskell #Python #Math
jaalonso.github.io
The readings shared in Bluesky on 2 January 2025 are Readings shared January 1, 2025. #ITP #LeanProver #Lean4 #Mizar #Math #Haskell #Python #Exercitium: Ternas pitagóricas con suma dada. #Haskell #Py
#Exercitium: Ternas pitagóricas con suma dada. https://jaalonso.github.io/exercitium/posts/2025/01/02-ternas_pitagoricas_con_suma_dada/ #Haskell #Python #Matemáticas
jaalonso.github.io
Una terna pitagórica es una terna de números naturales \((a,b,c)\) tal que \(a<b<c\) y \(a^2+b^2=c^2\). Por ejemplo (3,4,5) es una terna pitagórica. Definir la función ternasPitagoricas :: Integer ->
Readings shared January 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/01-readings_shared_01-01-25 #ITP #LeanProver #Lean4 #Mizar #Math #Haskell #Python
jaalonso.github.io
The readings shared in Bluesky on 1 January 2025 are Readings shared December 31, 2024. #ITP #IsabelleHOL Lean: First steps (21 - Simple induction). ~ Tariq Rashid (@rzeta0@mastodon.social). #ITP #Le
[Design] Dataframes in Haskell
https://discourse.haskell.org/t/design-dataframes-in-haskell/11108/2
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/design-dataframes-in-haskell/11108/2
discu.eu
Discussions and related articles for «[Design] Dataframes in Haskell - #2 - Haskell Foundation - Haskell Community»
[ANN] GHCup 0.1.40.0 released
https://discourse.haskell.org/t/ann-ghcup-0-1-40-0-released/11107
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ann-ghcup-0-1-40-0-released/11107
discu.eu
Discussions and related articles for «[ANN] GHCup 0.1.40.0 released - Announcements - Haskell Community»
Aztecs: A type-safe and friendly ECS for Haskell
https://github.com/matthunz/aztecs
Discussions: https://discu.eu/q/https://github.com/matthunz/aztecs
#Exercitium: Suma de múltiplos de 3 o de 5. https://jaalonso.github.io/exercitium/posts/2022/02/09-suma_de_multiplos_de_3_o_de_5/ #Haskell #Python #matematicas
jaalonso.github.io
Los números naturales menores que 10 que son múltiplos de 3 ó 5 son 3, 5, 6 y 9. La suma de estos múltiplos es 23. Definir la función sumaMultiplos :: Integer -> Integer tal que (sumaMultiplos n) es
Just in time, my #Haskell special #linkblog for December 2024: https://notes.abhinavsarkar.net/2024/links-12.
notes.abhinavsarkar.net
erebe/greenclip: Simple clipboard manager to be integrated with rofi
https://github.com/erebe/greenclip
Discussions: https://discu.eu/q/https://github.com/erebe/greenclip
discu.eu
Discussions and related articles for «GitHub - erebe/greenclip: Simple clipboard manager to be integrated with rofi - Static binary available»
Exported for tests only: Precise control over API visibility with custom warnings
discu.eu
Discussions and related articles for «Exported for tests only: Precise control over API visibility with custom warnings»
Just in time, my #Haskell special #linkblog for December 2024: https://notes.abhinavsarkar.net/2024/links-12.
notes.abhinavsarkar.net
#haskell hackage now has syntax highlighting 🥹
See e.g.
https://hackage.haskell.org/package/htree
a library to build and work with heterogeneous, type level indexed rose trees
Readings shared December 30, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/30-readings_shared_12-30-24 #ITP #Coq #Rocq #FunctionalProgramming #Haskell #CommonLisp #EmacsLisp #Emacs #Logic #Math #CategoryTheory #AI
jaalonso.github.io
The readings shared in Bluesky on 30 December 2024 are Readings shared December 29, 2024. #Haskell #Python #Math #AI #ITP Formal verification of a custom scheduling algorithm and specification of a R
Haskell recap for week 52/2024
https://discu.eu/weekly/haskell/2024/52/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Overloading the lambda abstraction in Haskell
https://acatalepsie.fr/posts/overloading-lambda
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/overloading-lambda
Overloading the lambda abstraction in Haskell
https://acatalepsie.fr/posts/overloading-lambda
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/overloading-lambda
Generalized Dijkstra in Haskell. ~ Lucas Escot. https://acatalepsie.fr/posts/haskell-dijkstra.html #Haskell #FunctionalProgramming
Readings shared December 29, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/29-readings_shared_12-29-24 #Haskell #Python #Math #AI #ITP
jaalonso.github.io
The readings shared in Bluesky on 29 December 2024 are Readings shared December 27, 2024. #ITP #IsabelleHOL #Math #Teaching #AI #LLMs #Emacs #Exercitium: Exponente en la factorización. #Haskell #Pyth
Category Theory Illustrated
https://abuseofnotation.github.io/category-theory-illustrated/
Discussions: https://discu.eu/q/https://abuseofnotation.github.io/category-theory-illustrated/
discu.eu
Discussions and related articles for «Category Theory Illustrated - index»
#Exercitium: Exponente en la factorización. https://jaalonso.github.io/exercitium/posts//2022/02/08-exponente_en_la_factorizacion/ #Haskell #Python #Matemáticas
jaalonso.github.io
Definir la función exponente :: Integer -> Integer -> Int tal que (exponente x n) es el exponente de x en la factorización prima de n (se supone que x > 1 y n > 0). Por ejemplo, exponente 2 24
Readings shared December 26, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/26-readings_shared_12-26-24 #Haskell #Python #Math
jaalonso.github.io
The readings shared in Bluesky on 26 December 2024 are Readings shared December 25, 2024. #Haskell #Python #Math #ITP #LeanProver #Lean4 #Lisp #Programming #Exercitium: Reconocimiento de potencias de
#Exercitium: Reconocimiento de potencias de 4. https://jaalonso.github.io/exercitium/posts/2022/02/04-reconocimiento_de_potencias_de_4/ #Haskell #Python
jaalonso.github.io
Definir la función esPotenciaDe4 :: Integral a => a -> Bool tal que (esPotenciaDe4 n) se verifica si n es una potencia de 4. Por ejemplo, esPotenciaDe4 16 == True esPotencia
Readings shared December 25, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/25-readings_shared_12-25-24 #Haskell #Python #Math #ITP #LeanProver #Lean4 #Lisp #Programming
Readings shared December 24, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/24-readings_shared_12-24-24 #ITP #Agda #Haskell #FunctionalProgramming #Haskell #Python #AI #LLMs #Math
#Exercitium: El teorema de Navidad de Fermat. https://www.glc.us.es/~jalonso/exercitium/14-dic-23/ #Haskell #Python #Math
Show HN: I Ported GHC Haskell Compiler to Windows 11 ARM. MC Gift
https://gitlab.haskell.org/ghc/ghc/-/issues/24603#note_601980
Discussions: https://discu.eu/q/https://gitlab.haskell.org/ghc/ghc/-/issues/24603%23note_601980
#Exercitium: Producto de los elementos de la diagonal principal. https://jaalonso.github.io/exercitium/posts/2022/02/03-producto_de_los_elementos_de_la_diagonal_principal/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
Compiling dependent type preconditions to runtime checks with Agda2Hs. ~ Jakob Naucke. https://repository.tudelft.nl/file/File_b39e0ab0-422a-48db-8ce4-cef2e783c3cc #ITP #Agda #Haskell #FunctionalProgramming
How to collect performance statistics with Cabal
https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
Discussions: https://discu.eu/q/https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
Haskell recap for week 51/2024
https://discu.eu/weekly/haskell/2024/51/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
The Cabal Manual now has a guide on how to collect performance statistics of Haskell applications. Read more at
https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
#Haskell Interlude's guest Tom Ellis works at Groq, using Haskell to compile AI models to specialized hardware. Listen to this episode about stability of both GHC and Haskell libraries, effects, and strictness.
Update n°39 from the GHC team at IOG
https://engineering.iog.io/2024-12-19-ghc-update/
Highlights:
• Sylvain kept working on building GHC with cabal-install instead of Hadrian
• Jeff: created a GHC JS Backend matrix room
• Luite Is back from vacation and has been preparing the GHC 9.6.7 release. Welcome back Luite!
Update n°38 from the GHC team at IOG
https://engineering.iog.io/2024-11-28-ghc-update/
Highlights:
• Sylvain explored how to build GHC with cabal instead of hadrian
• Jeff investigated variations in the Plutus benchmark suite, possibly related to garbage collection
• Luite worked on preparing the upcoming GHC 9.6.7
Haskell Interlude 60: Tom Ellis
https://haskell.foundation/podcast/60/
Discussions: https://discu.eu/q/https://haskell.foundation/podcast/60/
Generalized Dijkstra in Haskell
https://acatalepsie.fr/posts/haskell-dijkstra.html
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/haskell-dijkstra.html
Aztecs: A type-safe and friendly ECS for Haskell
https://github.com/matthunz/aztecs
Discussions: https://discu.eu/q/https://github.com/matthunz/aztecs
Readings shared December 21, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/21-readings_shared_12-21-24 #ITP #IsabelleHOL #Math #Haskell #FunctionalProgramming
Solving perfect numbers quickly with Haskell. ~ Andrew MacGillivray. https://gist.github.com/amacgillivray/c37a2a860df5117561ec64604bcb6b7d #Haskell #FunctionalProgramming
An imperative programmer tries to learn Haskell. ~ Thane Thomson. https://hatwd.com/p/an-imperative-programmer-tries-to #Haskell #FunctionalProgramming
Project: M36 (Relational Algebra Engine)
https://github.com/agentm/project-m36
Discussions: https://discu.eu/q/https://github.com/agentm/project-m36
#Exercitium: Reiteración de suma de consecutivos. https://jaalonso.github.io/exercitium/posts/2022/02/02-reiteracion_de_suma_de_consecutivos/ #Haskell #Python #Matemáticas
Readings shared December 19, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/19-readings_shared_12-19-24 #ITP #IsabelleHOL #Mizar #Logic #Math #Haskell #FunctionalProgramming #LLMs
Is there an active content management system written in #haskell ?
Remote Haskell position (but must be in EU/EES) at Scrive
https://careers.scrive.com/jobs/5365423-haskell-developer
Discussions: https://discu.eu/q/https://careers.scrive.com/jobs/5365423-haskell-developer
Linear calculi: A comparison approach. ~ Ana Jorge Carvalho de Soares Almeida. https://repositorio-aberto.up.pt/bitstream/10216/164137/2/700562.pdf #Haskell #FunctionalProgramming
Lift instance cause Cabal build error: unknown symbol with CFFI but Cabal repl works fine.
https://github.com/yourcomrade/FloPoCoFloat/tree/Error_branch
Discussions: https://discu.eu/q/https://github.com/yourcomrade/FloPoCoFloat/tree/Error_branch
Introducing bevy-remote-hs: a Haskell library for interfacing with the Bevy game engine
https://github.com/matthunz/bevy-remote-hs
Discussions: https://discu.eu/q/https://github.com/matthunz/bevy-remote-hs