{
: pure
: bind1
: lift1
}
Where
Define (pure x)
'just.x
Define (bind1 m1 f)
Match m1
| 'nothing 'nothing
| 'just.x1 (f x1)
;
Define (lift1 m1 f)
Match m1
| 'nothing 'nothing
| 'just.x1 'just.(f x1)
;
{
: pure
: bind1
: lift1
}
Where
Define (pure x)
'just.x
Define (bind1 m1 f)
Match m1
| 'nothing 'nothing
| 'just.x1 (f x1)
;
Define (lift1 m1 f)
Match m1
| 'nothing 'nothing
| 'just.x1 'just.(f x1)
;