Planet Haskell
181 FOLLOWERS
Haskell is an advanced purely-functional programming language. An open-source product of more than twenty years of cutting-edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries, and an active community, Haskell makes it easier to produce..
Planet Haskell
19h ago
I'll be appearing at the Fringe in the Cabaret of Dangerous Ideas, 12.20-13.20 Monday 5 August and 12.20-13.20 Saturday 17 August, at Stand 5. (The 5 August show is joint with Matthew Knight of the National Museums of Scotland.)
Here's the brief summary:
Chatbots like ChatGPT and Google's Gemini dominate the news. But the answers they give are, literally, bullshit. Historically, artificial intelligence has two strands. One is machine learning, which powers ChatGPT and art-bots like Midjourney, and which threatens to steal the work of writers and artists and put some of us out of work. The oth ..read more
Planet Haskell
19h ago
I'm looking forward to Lambda Days 2024 and catching up with friends in Krakow ..read more
Planet Haskell
19h ago
All error messages are necessarily bad to some degree
This is something I feel like enough people don’t appreciate. One of the ways I like to explain this is by this old tweet of mine:
The evolution of an error message:
No error message
A one-line message
“Expected: … / Actual: …”
“Here’s what went wrong: …”
“Here’s what you should do: …”
I automated away what you should do
The invalid state is no longer representable
One of the common gripes I will hear about error messages is that they don’t tell the user what to do, but if you stop to think about it: if the error message knew exactly wh ..read more
Planet Haskell
6d ago
If you, like me, are using corfu to get in-buffer completion and extend it with orderless to make it even more powerful, you might have noticed that you lose the orderless style as soon as you enter lsp-mode.
My setup of orderless looks like this
(use-package orderless
:custom
(orderless-matching-styles '(orderless-literal orderless-regexp orderless-flex))
(completion-styles '(orderless partial-completion basic))
(completion-category-defaults nil)
(completion-category-overrides '((file (styles partial-completion)))))
which basically turns on orderless style for all things except w ..read more
Planet Haskell
6d ago
tl;dr You may not believe it, but Nix documentation is getting better. Nixpkgs and NixOS still need more time.
Table of contents
Overview
Motivation
Statistics
Retrospective
Thoughts on future work
Acknowledgements
Overview
This is a retrospective of my and many other people’s work on documentation in the Nix ecosystem between October 2022 and March 2024. It serves as a showcase of what we achieved together, and gives an impression of what’s involved in improving the user experience in a complex software system. A lot has happened during that time, so this text is quite lengthy.
The details ..read more
Planet Haskell
1w ago
Today, 2024-05-01, at 1830 UTC (11:30 am PDT, 2:30 pm EDT, 7:30 pm BST, 20:30 CEST, …) we are streaming the 24th episode of the Haskell Unfolder live on YouTube.
The Haskell Unfolder Episode 24: generic (un)folds
In our first anniversary episode, we are connecting back to the very beginning of the Haskell Unfolder and talk about unfolds and folds. But this time, not only on lists, but on a much wider class of datatypes, namely those that can be written as a fixed point of a functor.
About the Haskell Unfolder
The Haskell Unfolder is a YouTube series about all things Haskell hosted by Edsko d ..read more
Planet Haskell
1w ago
[ Content warning: Spoilers for Frank Herbert's novel Dune. Conversely none of this will make sense if you haven't read it. ]
Summary: Thufir Hawat is the real traitor. He set up Yueh to take the fall.
This blog post began when I wondered:
Hawat knows that Wellington Yueh has, or had a wife, Wanna. She isn't around. Hasn't he asked where she is?
In fact she is (or was) a prisoner of the Harkonnens and the key to Yueh's betrayal. If Hawat had asked the obvious question, he might have unraveled the whole plot.
But Hawat is a Mentat, and the Master of Assassins for a Great House. He doesn ..read more
Planet Haskell
1w ago
I'm strangely fascinated and often amused by crooked politicians, and Rod Blagojevich was one of the most amusing.
In 2007 Barack Obama, then a senator of Illinois, resigned his office to run for United States President. Under Illinois law, the governor of Illinois was responsible for appointing Obama's replacement until the next election was held.
The governor at the time was Rod Blagojevich, and Blagojevich had a fine idea: he would sell the Senate seat to the highest bidder. Yes, really. When his innovation came to light, the Illinois state legislature ungratefully but nearly unanimously im ..read more
Planet Haskell
1w ago
GHC 9.10.1-rc1 is now available bgamari - 2024-04-27
The GHC developers are very pleased to announce the availability of the release candidate for GHC 9.10.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org and via GHCup.
GHC 9.10 brings a number of new features and improvements, including:
The introduction of the GHC2024 language edition, building upon GHC2021 with the addition of a number of widely-used extensions.
Partial implementation of the GHC Proposal #281, allowing visible quantification to be used in the types of terms.
Exten ..read more
Planet Haskell
2w ago
The Nix daemon uses a custom binary protocol — the nix daemon protocol — to communicate with just about everything. When you run nix build on your machine, the Nix binary opens up a Unix socket to the Nix daemon and talks to it using the Nix protocol1. When you administer a Nix server remotely using nix build --store ssh-ng://example.com [...], the Nix binary opens up an SSH connection to a remote machine and tunnels the Nix protocol over SSH. When you use remote builders to speed up your Nix builds, the local and remote Nix daemons speak the Nix protocol to one another.
Despite its import ..read more