File: option_tuple.sail

package info (click to toggle)
sail-ocaml 0.19.1%2Bdfsg5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,008 kB
  • sloc: ml: 75,941; ansic: 8,848; python: 1,342; exp: 560; sh: 474; makefile: 218; cpp: 36
file content (13 lines) | stat: -rw-r--r-- 308 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
$sail_internal

union option ('a : Type) = {None : unit, Some : 'a}

function gen() -> option(nat) = None()

function wrap_broken() -> option((nat, nat)) = {
  match (gen()) {
    Some(i)  => let r = (i, i) in Some(r),  /* works */
    Some(i) => Some((i, i)), /* doesn't work */
    None()  => None()
  }
}