Skip to content

Commit c25caa9

Browse files
committed
post adts
1 parent 85a2274 commit c25caa9

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

copy/entries/faking-adts-and-gadts.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Faking ADTs and GADTs in Languages That Shouldn't Have Them
33
categories: Haskell
44
tags: functional programming, haskell, purescript, dhall, java
55
create-time: 2024/11/12 13:59:35
6+
date: 2025/04/01 10:29:41
67
identifier: faking-adts-and-gadts
78
slug: faking-adts-and-gadts
89
---
@@ -26,11 +27,19 @@ code][profunctor], the sky's the limit!
2627

2728
[profunctor]: https://www.reddit.com/r/haskell/comments/9m2o5r/digging_reveals_profunctor_optics_in_mineacraft/
2829

30+
This is an "April Fools" joke in the tradition of [my previous one][april] in
31+
some of these ways that we are going to twist these other languages might seem
32+
ill-advised or unconventional ... but hopefully they demonstrate some core
33+
ideas that can inspire actual practical use in your own adventures :)
34+
35+
[april]: https://blog.jle.im/entry/verified-instances-in-haskell.html
36+
37+
2938
Normal ADTs
3039
-----------
3140

32-
Algebraic Data Types (ADTs) are products and sums; that's why they're
33-
algebraic, after all!
41+
As a reminder, algebraic Data Types (ADTs) are products and sums; that's why
42+
they're algebraic, after all!
3443

3544
### Product Types
3645

@@ -99,7 +108,8 @@ public class Transaction {
99108
}
100109
```
101110

102-
[^java]: I didn't think I'd ever write "java bean" non-ironically on my blog.
111+
[^java]: I didn't think I'd ever write "java bean" non-ironically on my blog,
112+
but there's a first time for everything.
103113

104114
And there you go. Nothing too surprising there!
105115

0 commit comments

Comments
 (0)