Podczas pętli w Haskell z warunkiem
Mam tutaj małą sytuację Haskella. Próbuję napisać dwie funkcje z monadami. Najpierw należy iterować przez funkcję, o ile warunek jest prawdziwy dla wejścia / wyjścia funkcji. Drugi powinien używać pierwszego, aby pobrać liczbę jako dane wejściowe i zapisać ją jako wynik, dopóki nie wprowadzisz spacji.
Utknąłem z tym, jakąś pomocą?
module Test where
while :: (a -> Bool) -> (a -> IO a) -> a -> IO a
while praed funktion x = do
f <- praed (funktion x)
if f == True then do
y <- funktion x
while praed funktion y
else return x
power2 :: IO ()
power2 = do putStr (Please enter a number.")
i <- getChar
while praed funktion
where praed x = if x /= ' ' then False else True
funktion = i