We write a JSON parser from scratch in Haskell and learn about basics of parsing, nuances of the JSON syntax, and parser combinators and property-based testing in Haskell.| abhinavsarkar.net
Recently I thought it would be good to start compiling the small functional| danieljharvey.github.io
This is a question posed by Aaron Levin on Reddit: > In WAI, Application has the type Request -> (Response -> IO ResponseReceiv...| Infinite Negative Utility
There’s still a problem though: we said the user was supposed to guess a value| entropicthoughts.com
We write a fast bytecode VM for arithmetic in Haskell.| abhinavsarkar.net
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.| in Code
Some Tricks for List Manipulation| doisinkidney.com
Typecheckers built for fun| sdiehl.github.io
Annotations in GHC| Shayne Fletcher
Having "solved" a bunch of these divide & conquer problems, I'm the first to admit to having being lulled into a false sense of security. At first glance, the problem of this post seemed deceptively simple and consequently I struggled with it, sort of "hand-waving", not really engaging my brain and getting more and more frustrated how the dang thing wouldn't yield to my experience! I think the moral of the story is math doesn't care about your previous successes and so don't let your past pr...| Shayne Fletcher
My last post on parsing in the presence of dynamic pragmas left us with this outline for calling the GHC parser.| Shayne Fletcher
This post about Handling GHC parse errors shows that using qualified in postpostive position is a syntax error unless the ImportQualifiedPost language extension is enabled. In that post, it is explained that the program| Shayne Fletcher
Did you know, a POk parse result from the GHC parser doesn't necessarily mean the parse was OK? This blog explains what's up with that. The source code below is from this example in the ghc-lib repo.| Shayne Fletcher
On behalf of Digital Asset I am excited to share with you the latest release of ghc-lib.| Shayne Fletcher
Ever had one of those days?| Shayne Fletcher
Writing an assembler turns out to be an interesting example: one needs to| blog.vmchale.com
We write a bytecode VM for arithmetic in Haskell.| abhinavsarkar.net
Summary: You can describe type classes like monads by the graphs they allow. In the Build Systems a la Carte paper we described build syste...| neilmitchell.blogspot.com
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.| frasertweedale.github.io
Developing innovative software can be challenging, and even experienced software agencies can struggle to estimate the time and resources needed to complete a project. Working with government entities can add additional obstacles, often requiring tailored solutions that accommodate multiple operating approaches and needs of various users, without altering people'| Obsidian Systems
Come and join MuniHac this year! Ryan Trinkle will present the session 'React + Reflex: Harmonizing TypeScript and Haskell with Functional Reactive Programming' Obsidian Systems specializes in fullstack and web products, offering out-of-the-box solutions to clients. During MuniHac, Ryan Trinkle from our company will present how to unlock the| Obsidian Systems
>Welcome to the third part of our series on the history of the Haskell language. To ensure a truly comprehensive understanding, we strongly encourage you to explore the previous chapters of this enthralling series: Part 1: The Outline - Beginnings (1990 - 2000) Part 2: Haskell and the Rise| Obsidian Systems
Haskell: Like a Steak in a Hot Dog 1 Since 1990 and beyond Haskell attracts students, researchers, and passionate engineers, thanks to its maturity and vibrant community who are deeply involved in various opensource projects and its gift economy approach. It welcomes those new to functional programming or those who| Obsidian Systems
For almost a decade, we’ve shaped our unique modus operandi to deliver great products to our customers with shorter timelines and smaller budgets, and we guarantee to lead an idea from plan to prototype in only ten weeks. This post is an overview of our workflow. How it| Obsidian Systems
7GUIs defines seven tasks that represent typical challenges in GUI programming -- 7GUIs: A GUI Programming Benchmark 7GUIs is a set of 7 typical GUI programming tasks of varying levels of complexity. We're going to implement the 7GUIs in Haskell using the reflex functional reactive programming framework. The structure of| Obsidian Systems
Announcing xcframework or: the happy path for wiring a Haskell dependency to your Swift app| alt-romes.github.io
I was playing around with recursion-schemes, which is pretty cool. It’s very nice to be able to define interpreters like this, so my immediate thought was: can we do this for the lambda-calculus? Strangely, I couldn’t find any examples online of lambda-calculus interpreters written as catamorphisms, and it actually turns out to be a little bit tricky. So here’s what I came up with.| Terms and Truth-Conditions
Posted on September 3, 2021 | amelia.how
Haskell vs. Rust: A production-level comparison of two languages.| FP Complete
Using logic programming to beat the game| jameshaydon.github.io
プログラミングをやっていると、「関数に副作用がある」とか「副作用がない」あるいは「純粋である」という話をちょいちょい耳にする。そして、「外界の状態を読み取るけど変更はしない関数」、例えば のような関数に副作用があるか?み […]| 雑記帳
Solving LinkedIn Queens in the LogicT monad| imiron.io
A popular meme in the world of PL’s is that “Haskell has monads”, with the implication that this is a distinctive feature of the language, separate from all others. While it is t…| Existential Type
To assist with job interviews at the NRAO we recently wrote a small “contest” program. Without giving away the details, the crux of the problem is| storytotell.org
Indexing Hackage: Glean vs. hiedb| simonmar.github.io
Reading Time Estimates for Pandoc Based Blog Generators| notes.abhinavsarkar.net
Update: fellow algorithms researcher Francisco Claude just posted a great article about using lazy evaluation to solve Tic Tac Toe games in Common Lisp. Niki (my brother) also wrote a post using generators with asynchronous prefetching to hide IO latency. Worth a read I| alexbowe.com
Elixir vs Haskell: compare their features, like concurrency, performance, scalability, and maintainability to find your best fit.| Erlang Solutions
A fun Haskell sample that draws a Sierpinski triangle via ASCII characters.| Alexandru Nedelcu - Blog
Scale your engineering power. We enable deep-tech startups to achieve their vision, from research to product delivery.| www.tweag.io
One of the distinguishing features of functional programming is an emphasis| jerf.org
Haskell interactive serverside web framework inspired by HTMX, Elm, and Phoenix LiveView - seanhess/hyperbole| GitHub
The yearly Advent of Code is always a source of interesting coding challenges. You can often solve them the easy way, or spend days trying to solve them “the right way.” I personally pr…| Bartosz Milewski's Programming Cafe
Interesting Links for December 2024| notes.abhinavsarkar.net
I keep saying that the more programming languages you know, the more you will understand all the others you know - I’m now at the point where I want to solve every problem I see in a handful of different languages. They all offer different functionality, and some are certainly more suited to particular problems than others, but there’s a world of difference between two characters and importing from two libraries.| Irregularly Scheduled Programming
In my current day job, I’m involved in the development of a research-based software tool, where the language being used is Haskell. While I can’t talk about the specifics of either the tool or the mathematics as yet, there was something interesting that we had to go through last month in the development process. As … Continue reading Type-theoretic considerations in functional language software development| theHigherGeometer
JavaScript Code Minification Report| The Haskell Programming Language's blog
We add error reporting capabilities to the JSON parser we wrote from scratch in Haskell.| abhinavsarkar.net
We add error reporting capabilities to the JSON parser we wrote from scratch in Haskell.| abhinavsarkar.net
Note: this post contains spoilers for one of the days of Advent of Code 2021.| siraben’s musings
So we’re already on astrid.tech v2, despite the fact that the footer still| astrid.tech
astrid.tech v1.0 is finally published after 6 months of active development!| astrid.tech
This post is answer to Jesper Cockx's article "1001 Representations of Syntax with Binding", so you can read it first (but this is not re...| Askar Safin
Posted| jesper.cx
(part 1, part 3) Last time we collected and processed the data for generating stupid fake elementary school science questions and answers. The important parts to remember are we generated two files questions.json and answers.json containing transition dictionaries mapping each word to an array / list of possible following …| Joel Grus
Over the last several months there has been noticeable and growing pain associated with the evolving integration tests around snapd, and given the project goal of being a cross-distribution platform, we are very keen on solving this problem appropriately so … Continue reading →| Labix Blog
Warning: this is probably only of interest to functional programmers.| Teaching, Playing, and Programming
(Boy is there a lot of Haskell here now. What’s up with that?) This one comes by way of Shachaf Ben-Kiki, who found it originally and mentioned it to me. Data.Traversable and Data.Foldable are two Haskell typeclasses that express related notions of a data structure being “list-like” in the sense that it contains zero or more elements, and an externally-provided function can be mapped over those elements in some way. GHC provides support (as a language extension) for automatically “der...| Accidentally Quadratic
Generating Standalone Haddock Docs for a Multi-package Haskell Project| notes.abhinavsarkar.net
Today’s shower thought is: Is there a way to interpret double negation elimination as a program?| rufflewind.com
Darcs Darcsとはgitやmercurialといった分散型バージョン管理システムの1つ。 Haskellで作られてて以前はGHCの開発に使われて| 八階ないブログ
I spent a while talking with Greg Price about the Haskell Network.HTTP issue previously featured here, and he was unconvinced I had the whole story. He spent a while reading some source and thinking...| Tumblr
There has been a lot of discussion recently about whether or not strings are broken or if we even need them. This misses what I believe to be a more significant issue with strings.| www.seancassidy.me
The following is what I usually do when I want to debianize a Haskell stuff from Hackage. This is a personal recipe, by no means official procedure or such. I may be wrong, badly at that. Check pkg-haskell repository whether your intended package already exists or not. Somebody might work …| Masayuki Hatta
We implement Co, a small language with coroutines and channels.| abhinavsarkar.net
I just returned from yet another fantastic ICFP week. I always have a blast at the conference. It would be easy to take the conversations I had there and turn them into a full-blown research progra…| Types and Kinds
I’m proud to announce that I’m nearing completion on a major patch to GHC, merging types and kinds. This patch has been in development since late 2012 (!), with many interruptions in the meantime. …| Types and Kinds
I just uploaded singletons-0.9.2 to hackage. This is a significant upgrade from previous versions, and it gives me a good chance to explain some of its features here. This post is a literate Haskel…| Types and Kinds
Haskell allows what I will call coincident overlap among type family instances. Coincident overlap occurs when two (or more) type family instances might be applicable to a given type family usage s…| Types and Kinds
I enjoy using a type system to help make sure my term level code is unimpeachably correct. This is where my interest in writing the singletons library came from. This library allows you to write so…| Types and Kinds
I am pleased to announce that I have pushed my implementation of ordered overlapping type family instances to GHC HEAD. This blog post is a literate Haskell file. Copy and paste into a .lhs file to…| Types and Kinds
There have been a handful of papers about System FC, the internal language used within GHC ([1] [2] [3] [4], etc.). Each of these papers uses a different characterization of FC, with variations amo…| Types and Kinds
A personal blog about functional programming, category theory, chess, physics and linux topics| beuke.org
A personal blog about functional programming, category theory, chess, physics and linux topics| beuke.org
A personal blog about functional programming, category theory, chess, physics and linux topics| beuke.org
My research group was busy this past year. Here’s a summary of what we’ve been up to in 2022-2023!| decomposition ∘ al
PSA: This post has a bunch of Haskell code, but I’m going to try to make it more broadly accessible. Let’s see how that goes.| Arun Raghavan
I’ve been having fun recently, writing a RESTful service using Haskell and Servant. I did run into a problem that I couldn’t easily find a solution to on the magical bounty of knowledge that is the Internet, so I thought I’d share my findings and solution.| Arun Raghavan
Yup, yet another post on my programming videogame: Dobadobots.| alternativebit.fr
Lately, I have been working on a video-game called DobadoBots.| alternativebit.fr
Lately, I have been working on a video-game called DobadoBots.| alternativebit.fr