Main.hs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import Wnioskowanie
  2. import Drzewo (Wyrażenie)
  3. main :: IO ()
  4. main = interact ogar
  5. ogar :: String -> String
  6. ogar wejście =
  7. let wyr = (read wejście):: Wyrażenie
  8. in show (wywnioskuj wyr)
  9. {--
  10. let i = "fun x -> x"
  11. let s = "fun x -> fun y -> fun z -> x z (y z)"
  12. let k = "fun x -> fun y -> x"
  13. let o = "fun f -> fun g -> fun x -> f (g x)"
  14. let y = "fun f -> (fun x -> f x x) (fun y -> f y y)"
  15. (Funkcja "x" (Zmienna "x"))
  16. (Funkcja "x" (Funkcja "y" (Funkcja "z"
  17. (Wywołanie
  18. (Wywołanie (Zmienna "x") (Zmienna "z"))
  19. (Wywołanie (Zmienna "y") (Zmienna "z"))))))
  20. (Funkcja "x" (Funkcja "y" (Zmienna "x")))
  21. (Funkcja "f" (Funkcja "g" (Funkcja "x"
  22. (Wywołanie
  23. (Zmienna "f")
  24. (Wywołanie (Zmienna "g") (Zmienna "x"))))))
  25. (Funkcja "f" (Wywołanie
  26. (Funkcja "x" (Wywołanie (Wywołanie (Zmienna "f") (Zmienna "x")) (Zmienna "x")))
  27. (Funkcja "y" (Wywołanie (Wywołanie (Zmienna "f") (Zmienna "y")) (Zmienna "y")))))
  28. --}