SHARE
TWEET

Untitled

a guest Mar 19th, 2019 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Basicamente construções haskellicas com do por, exemplo são na vdd açucares sintaticos "profundos", por isso a leitura do codigo é feita de maneira suave, mas na vdd isso
  2. --esconde um pouco a natureza monadica das funções
  3. fib_monadic_suggared :: Int -> IO Int
  4. fib_monadic_suggared x = do
  5.                             if (x < 0) then (return 1) else do
  6.                                                              m1 <- fib_monadic_suggared (x - 1)
  7.                                                              m2 <- fib_monadic_suggared (x - 2)
  8.                                                              print [m1, m2]
  9.                                                              return (m1 + m2)
  10.  
  11. --A mesma sem acuçar sintantico produz algo mais facild de visualizar a interface monadica
  12. fib_monadic_dessuggared :: Int -> IO Int
  13. fib_monadic_dessuggared x = if (x < 0) then (return 1) else
  14.                                                          fib_monadic_dessuggared (x - 1) >>= (\m1 -> fib_monadic_dessuggared (x - 2) >>= (\m2 -> print [m1, m2] >> return (m1 + m2)))  
  15. main :: IO ()
  16. main =  do
  17.           let q = 10
  18.           d <- fib_monadic_suggared q
  19.           print d
  20.           fib_monadic_dessuggared q >>= (\x -> print x)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top