Recent posts
-
Exploring parsing APIs: the cost of recursion
- November 29, 2024
-
Exploring parsing APIs: adding a lexer
- November 28, 2024
-
Exploring parsing APIs: what to generate, and how
- November 22, 2024
-
Resumable exceptions
- November 4, 2024
-
Idea: a more structural code editor
- November 2, 2024
-
Subtyping and subsumption
- October 21, 2024
-
OOP is not that bad, actually
- October 9, 2024
-
My thoughts on OCaml
- April 24, 2023
-
Fast polymorphic record access
- January 23, 2023
-
Products and sums, named and anonymous
- April 10, 2021
-
Conditional compilation based on crate type
- December 24, 2020
-
8 years of Haskell
- June 30, 2020
-
gdb breakpoints with conditions on backtrace
- April 25, 2020
-
New blog post published on Well-Typed's blog
- March 25, 2020
-
Knot-tying: two more examples, and an alternative
- February 27, 2020
-
Knot-tying: why and how (and my opinions on it)
- February 21, 2020
-
Some arguments against small syntax extensions in GHC
- January 22, 2020
-
A project we've been working on presented at MuniHac 2018
- October 22, 2018
-
New blog post published elsewhere
- May 19, 2018
-
Debugging #15038
- April 28, 2018
All posts…
Tags
asm (1),
box2d (1),
c (2),
coffeescript (1),
coq (9),
cpp (3),
cps (1),
django (9),
en (101),
ffi (1),
gdb (1),
ghc (12),
ghcjs (2),
git (1),
gsoc (2),
haskell (50),
hslua (2),
java (15),
javascript (3),
kframework (1),
lisp (14),
lua (13),
multi-stage programming (6),
nautilus (2),
ocaml (6),
parsing (6),
partial evaluation (3),
plt (8),
prolog (2),
pygame (5),
python (38),
rpython (1),
rust (8),
shen (2),
supercompilation (5),
threejs (1),
tr (87),
types (6),
vim (8)