blog-static/code/compiler/13/examples/packed.txt

24 lines
393 B
Plaintext
Raw Normal View History

2020-09-08 18:38:05 -07:00
data Pair a b = { Pair a b }
defn packer = {
let {
data Packed a = { Packed a }
defn pack a = { Packed a }
defn unpack p = {
case p of {
Packed a -> { a }
}
}
} in {
Pair pack unpack
}
}
defn main = {
case packer of {
Pair pack unpack -> {
unpack (pack 3)
}
}
}