๐จโ๐ป Researcher at Kotlin Evolution Team ๐งโโ๏ธ Haskell wizard ๐ Author of 4 books ๐จโ๐ฉโ๐ฆโ๐ฆ +1 of @ElenaVielva
Sep 10 โข 6 tweets โข 2 min read
As preparation for my type checking workshop I've printed in a nice form four papers I think give you a better overview of the field. Here's a thread with them ๐งต
"OutsideIn(X): modular type inference with local assumptions" () describes the constraint-based approach to typing. It builds quite slowly, but ends up with a Haskell-like language which even includes GADTs.simon.peytonjones.org/assets/pdfs/ouโฆ
Mar 27, 2023 โข 12 tweets โข 2 min read
A small thread with some of my thoughts re. effects, continuations, and "direct style". ๐งต
One of the ideas floating in the FP community is "declaring and handling effects", where "effect" ranges from "throws an error" to "uses something from the context". In essence, what we want to do is to control the execution of a piece of code from the outside.
Feb 21, 2022 โข 4 tweets โข 2 min read
It's time to announce that in this month-between-jobs I'm working on a NEW BOOK! ๐
๐ Haskell (Almost) Standard Libraries ๐
A walk through the main libraries used by the Haskell community for "common" tasks. Think of data structures, serialization, network...
This is the current Table of Contents. Half of the book is already written โ๏ธ, the parts marked with TODO are yet to be finished (or even started).
I'm aiming for a first beta release by the end of the month, and have it finished around April.
May 29, 2020 โข 7 tweets โข 1 min read
I have this idea of "Formal DDD" in my mind since some time ago. So I've thought "let's run it throught Twitter to see what people think"
The core idea is to ensure that your "core domain" is really well-described, also in a way that can be formally verified. To do so you keep a model in Alloy/TLA+, which describes every invariant that the core domain should satisfy.
Oct 28, 2019 โข 11 tweets โข 2 min read
Here is my take on teaching #Haskell and what should we do better. Please engage in helpful criticism and discussion ๐
So, thread below ๐
For me, "functional style" requires of these three things:
- focus on immutability and separation of side-effects,
- higher-order functions,
- data types with support for sums/choices.
Everything but the last point is available in many mainstreams languages *now*.