Mercurial > urweb
annotate tests/case.ur @ 2158:b90103106177
Fix a maddening bug in the comparator for Core constructors
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Fri, 03 Jul 2015 17:25:56 -0400 |
parents | 71bafe66dbe1 |
children |
rev | line source |
---|---|
adamc@170 | 1 datatype t = A | B |
adamc@170 | 2 |
adamc@170 | 3 val swap = fn x : t => case x of A => B | B => A |
adamc@170 | 4 |
adamc@170 | 5 datatype u = C of t | D |
adamc@170 | 6 |
adamc@170 | 7 val out = fn x : u => case x of C y => y | D => A |
adamc@170 | 8 |
adamc@170 | 9 datatype nat = O | S of nat |
adamc@170 | 10 |
adamc@171 | 11 val is_two = fn x : nat => |
adamc@170 | 12 case x of S (S O) => A | _ => B |
adamc@171 | 13 |
adamc@171 | 14 val zero_is_two = is_two O |
adamc@171 | 15 val one_is_two = is_two (S O) |
adamc@171 | 16 val two_is_two = is_two (S (S O)) |