lang_2023/tests/variants.lang

23 lines
570 B
Text
Raw Normal View History

2023-03-31 12:10:12 +03:00
decl test_variants : Unit -> Unit
def test_variants = {
var variant1 = | 'a' | 2 | "hello"
var | val | err = f x // optional types for each
; val -> "something" // open variant as value in expr
; val -!> "nothing" // open variant as None in expr
; ?err // open variant as value, or return None (if possible), operator
match variant1 with
| 'a' -> "something"
| 2 -> "something"
| "hello" -> "something"
| a -> "Something"
| String.of str -> "something"
| Int.of i -> "someting"
| 11 -> "nothing"
}
// ???????????????????????