2 | import public Control.Monad.Elin
3 | import public FS.Pull
11 | export %inline covering
12 | pullElin : (forall s . EmptyPull (Elin s) es r) -> Outcome es r
13 | pullElin f = either absurd id $
runElin (pull f)
17 | export %inline covering
18 | mpullElin : Monoid r => (forall s . EmptyPull (Elin s) [] r) -> r
19 | mpullElin f = either absurd id $
runElin (mpull f)
21 | export %inline covering
22 | toSnocList : (forall s . Stream (Elin s) [] o) -> SnocList o
23 | toSnocList p = mpullElin (lastOr [<] $
fold (:<) [<] p)
25 | export %inline covering
26 | toList : (forall s . Stream (Elin s) [] o) -> List o
27 | toList p = toSnocList p <>> []