Mercurial > urweb
view lib/ur/option.ur @ 949:6646b95f1860
Disable GCC inlining to stop goofy errors
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 17 Sep 2009 13:30:56 -0400 |
parents | da3ec6014d2f |
children | 8c37699de273 |
line wrap: on
line source
datatype t = datatype Basis.option fun eq [a] (_ : eq a) = mkEq (fn x y => case (x, y) of (None, None) => True | (Some x, Some y) => x = y | _ => False) fun isNone [a] x = case x of None => True | Some _ => False fun isSome [a] x = case x of None => False | Some _ => True fun mp [a] [b] f x = case x of None => None | Some y => Some (f y) fun bind [a] [b] f x = case x of None => None | Some y => f y