File: enum_match.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 (18 lines) | stat: -rw-r--r-- 435 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

val "eq_anything" : forall ('a : Type). ('a, 'a) -> bool
val eq_atom = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "Z.eqb"} : forall 'n 'm. (atom('n), atom('m)) -> bool

overload operator == = {eq_atom, eq_anything}

$[sv_module { stdout = true }]
val "print_endline" : string -> unit

enum test = A | B

function main (() : unit) -> unit = {
  let x = A;
  match x {
    B => print_endline("B"),
    A => print_endline("A")
  }
}