A
Size: a a a
A
A
blablabla = doне работает, потому что bar не может быть левее чем do
bar
EG
A
EG
EG
AZ
p
AZ
EG
EG
func = let x = ...
y = ...
EG
AZ
whileM' : (Monad m, Monad f, Alternative f) => (a -> Bool) -> m a -> m (f a)
whileM' p f = go
where go = do
x <- f
if p x
then do
xs <- go
pure (pure x <|> xs)
else pure empty
Type checking .\.\test.idr
.\.\test.idr:15:9:
|
15 | x <- f
| ^
end of block
EG
AZ
whileM' : (Monad m, Monad f, Alternative f) => (a -> Bool) -> m a -> m (f a)
whileM' p f = go
where go = do
x <- f
if p x
then do
xs <- go
pure (pure x <|> xs)
else pure empty
Type checking .\.\test.idr
.\.\test.idr:15:9:
|
15 | x <- f
| ^
end of block
whileM' : (Monad m, Monad f, Alternative f) => (a -> Bool) -> m a -> m (f a)
whileM' p f = go
where go = do
x <- f
if p x
then do
xs <- go
pure (pure x <|> xs)
else pure empty
p
AZ
p
func = let x = ...
y = ...
EG