do is Coalton’s monadic sequencing form.
Syntax
(do
⟨clause⟩...)
;; ⟨clause⟩ := ⟨expr⟩
;; | (⟨var⟩ <- ⟨expr⟩)
Semantics
dois surface syntax for sequencing monadic operations.- Use
<-to bind the result of an action. - Ordinary local bindings can also appear inside a
doblock. - Values are usually returned with
pure.
Example
(do
(a <- ax)
(b <- bx)
(pure (+ a b)))