Mercurial > urweb
view tests/rpat.lac @ 198:ab86aa858e6c
'Option' datatype encoding
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 09 Aug 2008 19:23:31 -0400 |
parents | b2d752455182 |
children |
line wrap: on
line source
val f = fn x : {A : int} => case x of {A = _} => 0 val f = fn x : {A : int} => case x of {A = _, ...} => 0 val f = fn x : {A : int, B : int} => case x of {A = _, ...} => 0 val f = fn x : {A : int, B : int} => case x of {A = 1, B = 2} => 0 | {A = _, ...} => 1 datatype t = A | B val f = fn x => case x of {A = A, B = 2} => 0 | {A = A, ...} => 0 | {A = B, ...} => 0 val f = fn x => case x of {A = {A = A, ...}, B = B} => 0 | {B = A, ...} => 1 | {A = {A = B, B = A}, B = B} => 2 | {A = {A = B, B = B}, B = B} => 3