1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
namespace Loa.
import Loa/Boolean.
import Loa/True.
import Loa/False.
export partial class Maybe<a> {
public otherwise: a -> a.
public isSome -> Boolean.
public isNone -> Boolean.
}
export class None {
is Maybe<_>.
public isSome =>
False.
public isNone =>
True.
public <a> otherwise: a fallback =>
fallback.
}
class Some<a> {
is Maybe<a>.
private var a value.
public init of: a value =>
value: value.
public isSome =>
True.
public isNone =>
False.
public otherwise: _ =>
self value.
}