Mercurial > urweb
annotate lib/ur/option.urs @ 1824:216e92b39fc1
Paranoid inlining prevention for FFI types at the Core level; less paranoid inlining promotion for passive values at the Mono level
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 19 Sep 2012 18:01:22 -0400 |
parents | a99b743a3087 |
children | 36428d853c97 |
rev | line source |
---|---|
adamc@841 | 1 datatype t = datatype Basis.option |
adamc@841 | 2 |
adam@1544 | 3 val monad : monad t |
adam@1544 | 4 |
adamc@846 | 5 val eq : a ::: Type -> eq a -> eq (t a) |
adamc@961 | 6 val ord : a ::: Type -> ord a -> ord (t a) |
adamc@846 | 7 |
adamc@944 | 8 val isNone : a ::: Type -> t a -> bool |
adamc@841 | 9 val isSome : a ::: Type -> t a -> bool |
adamc@844 | 10 |
adamc@844 | 11 val mp : a ::: Type -> b ::: Type -> (a -> b) -> t a -> t b |
adamc@846 | 12 val bind : a ::: Type -> b ::: Type -> (a -> option b) -> t a -> t b |
adamc@1068 | 13 |
adamc@1068 | 14 val get : a ::: Type -> a -> option a -> a |