Last active
June 2, 2018 01:06
-
-
Save hanshoglund/3e1485320b7f46cc13f378a951cc0431 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Prelude> let k = const | |
Prelude> let f = flip | |
Prelude> k f k k k k f k k k k f k k k $ 2 | |
? | |
--- | |
Prelude> :t k | |
k :: a -> b -> a | |
Prelude> :t k k | |
k k :: b -> a -> b1 -> a | |
Prelude> :t k k k | |
k k k :: a -> b -> a | |
Prelude> :t k k k k | |
k k k k :: b -> a -> b1 -> a | |
Prelude> :t k k k k k | |
k k k k k :: a -> b -> a | |
Prelude> :t k k k k k k | |
k k k k k k :: b -> a -> b1 -> a | |
Prelude> :t k k k k k k k | |
k k k k k k k :: a -> b -> a | |
Prelude> :t k k k k k k k k | |
k k k k k k k k :: b -> a -> b1 -> a | |
Prelude> :t k k k k k k k k k | |
k k k k k k k k k :: a -> b -> a | |
Prelude> :t k k k k k k k k k k | |
k k k k k k k k k k :: b -> a -> b1 -> a | |
Prelude> :t k k k k k k k k k k k | |
k k k k k k k k k k k :: a -> b -> a | |
Prelude> :t k k k k k k k k k k k k | |
k k k k k k k k k k k k :: b -> a -> b1 -> a | |
Prelude> | |
Prelude> | |
Prelude> :t f | |
f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t f | |
f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t f f | |
f f :: b -> (a -> b -> c) -> a -> c | |
Prelude> :t f f f | |
f f f :: (a -> ((a1 -> b -> c1) -> b -> a1 -> c1) -> c) -> a -> c | |
Prelude> :t f f f f | |
f f f f :: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f | |
f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f | |
f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f | |
f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f f | |
f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f f f | |
f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f f f f | |
f f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f f f f f | |
f f f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t f f f f f f f f f f f f | |
f f f f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> | |
Prelude> | |
Prelude> | |
Prelude> | |
Prelude> :t k k f | |
k k f :: a -> b -> a | |
Prelude> :t k f | |
k f :: b -> (a -> b1 -> c) -> b1 -> a -> c | |
Prelude> :t k f k f | |
k f k f :: b -> (a -> b -> c) -> a -> c | |
Prelude> :t k f k f k f k f | |
k f k f k f k f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f k f k f k f k | |
k f k f k f k f k :: b -> c -> c | |
Prelude> :t k f k f k f k f k f | |
k f k f k f k f k f :: c -> c | |
Prelude> :t k f k f k f k f k f k | |
k f k f k f k f k f k :: a -> b -> a | |
Prelude> :t k f k f k f k f k f k f | |
k f k f k f k f k f k f :: b -> (a -> b1 -> c) -> b1 -> a -> c | |
Prelude> :t k f k f k f k f k f k f k | |
k f k f k f k f k f k f k :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f k f k f k f k f k f k f | |
k f k f k f k f k f k f k f :: b -> (a -> b -> c) -> a -> c | |
Prelude> | |
Prelude> | |
Prelude> | |
Prelude> :t k f f | |
k f f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f f k f f | |
k f f k f f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f f k f f k f f | |
k f f k f f k f f :: (a -> b -> c) -> b -> a -> c | |
Prelude> | |
Prelude> | |
Prelude> :t f k f | |
f k f :: c -> c | |
Prelude> :t f k f f k f | |
f k f f k f :: c -> c | |
Prelude> | |
Prelude> :t f k f f k f f k f | |
f k f f k f f k f :: c -> c | |
Prelude> | |
Prelude> | |
Prelude> | |
Prelude> :t f f k | |
f f k :: (a -> (a1 -> b -> a1) -> c) -> a -> c | |
Prelude> :t f f k f f k | |
f f k f f k :: c -> c | |
Prelude> :t f f k f f k f f k | |
f f k f f k f f k :: (a -> (a1 -> b -> a1) -> c) -> a -> c | |
Prelude> | |
Prelude> | |
Prelude> | |
Prelude> :t f f f k f k f f f f k f f f f f | |
f f f k f k f f f f k f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> | |
Prelude> | |
Prelude> :t f f f k f k f f f f k f f f f f k f f f f f f f f f k | |
f f f k f k f f f f k f f f f f k f f f f f f f f f k :: c -> c | |
Prelude> :t f f f k f k f f f f k f f f f f k f f f f f f f f f k | |
f f f k f k f f f f k f f f f f k f f f f f f f f f k :: c -> c | |
Prelude> :t f f f k f k f f f f k f f f f f k f f f f f f f f f k f | |
f f f k f k f f f f k f f f f f k f f f f f f f f f k f | |
:: (a -> b -> c) -> b -> a -> c | |
Prelude> | |
Prelude> :t f f f k f k f f f f k f f f f f k f f f f f f f f f k | |
f f f k f k f f f f k f f f f f k f f f f f f f f f k :: c -> c | |
Prelude> | |
Prelude> :t (f f f k f k f f f f k f f f f f k f f f f f f f f f k) 2 | |
(f f f k f k f f f f k f f f f f k f f f f f f f f f k) 2 | |
:: Num c => c | |
Prelude> (f f f k f k f f f f k f f f f f k f f f f f f f f f k) 2 | |
^C | |
^C | |
d | |
^D | |
Interrupted. | |
Prelude> | |
Prelude> d | |
<interactive>:104:1: Not in scope: ‘d’ | |
Prelude> | |
Leaving GHCi. | |
^C | |
Hanss-MacBook:PPZ Hoglund$ | |
Hanss-MacBook:PPZ Hoglund$ ghci | |
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help | |
Prelude> :t k f | |
<interactive>:1:1: Not in scope: ‘k’ | |
<interactive>:1:3: Not in scope: ‘f’ | |
Prelude> let k = const | |
Prelude> let f = flip | |
Prelude> :t k f | |
k f :: b -> (a -> b1 -> c) -> b1 -> a -> c | |
Prelude> :t k f f | |
k f f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f k | |
k f k :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f k f | |
k f k f :: b -> (a -> b -> c) -> a -> c | |
Prelude> :t k f k k | |
k f k k :: b -> c -> c | |
Prelude> :t k f f f | |
k f f f :: b -> (a -> b -> c) -> a -> c | |
Prelude> | |
Prelude> :t k f f f f | |
k f f f f | |
:: (a -> ((a1 -> b -> c1) -> b -> a1 -> c1) -> c) -> a -> c | |
Prelude> :t k f f f f k | |
k f f f f k :: c -> c | |
Prelude> :t k f f f f f | |
k f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f f f f | |
k f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f f f f f | |
k f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f f f f f k | |
k f f f f f f f k :: c -> c | |
Prelude> :t k f f f f | |
k f f f f | |
:: (a -> ((a1 -> b -> c1) -> b -> a1 -> c1) -> c) -> a -> c | |
Prelude> | |
Prelude> :t k f f f f f f f f f f | |
k f f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f f f f f f f f f f f f | |
k f f f f f f f f f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k | |
k f f f k :: (a -> (a1 -> b -> a1) -> c) -> a -> c | |
Prelude> :t k f f f k f | |
k f f f k f :: (a1 -> (a -> b -> a) -> c) -> a1 -> c | |
Prelude> :t k f f f k f f | |
k f f f k f f :: (a1 -> (a -> b -> a) -> c) -> a1 -> c | |
Prelude> :t k f f f k f f k k | |
k f f f k f f k k :: a -> b -> a | |
Prelude> :t k f f f k f f k f | |
k f f f k f f k f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f f f k f f k f f | |
k f f f k f f k f f :: b -> (a -> b -> c) -> a -> c | |
Prelude> :t k f f f k f f k f f f | |
k f f f k f f k f f f | |
:: (a -> ((a1 -> b -> c1) -> b -> a1 -> c1) -> c) -> a -> c | |
Prelude> :t k f f f k f f k f f f f | |
k f f f k f f k f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k f f k f f f f f | |
k f f f k f f k f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k f f k f f f f f k | |
k f f f k f f k f f f f f k :: c -> c | |
Prelude> :t k f f f k f f k f f f f f k f | |
k f f f k f f k f f f f f k f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t f k f f f k f f k f f f f f k | |
f k f f f k f f k f f f f f k :: c -> c | |
Prelude> :t k k f f f k f f k f f f f f k | |
k k f f f k f f k f f f f f k :: c -> c | |
Prelude> :t k f f f k f f k f f f f f k | |
k f f f k f f k f f f f f k :: c -> c | |
Prelude> :t k f f f k f f k f f f f f | |
k f f f k f f k f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k f f k f f f f f f | |
k f f f k f f k f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k f f k f f f f f k f | |
k f f f k f f k f f f f f k f :: (a -> b -> c) -> b -> a -> c | |
Prelude> :t k f f f k f f k f f f f f f | |
k f f f k f f k f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k f f f k f f k f f f f f f | |
k f f f k f f k f f f f f f | |
:: (a1 -> ((a -> b -> c) -> b -> a -> c) -> c1) -> a1 -> c1 | |
Prelude> :t k k k k k f f k f k k k k k k f f k f k k k k k k k f f f f f k | |
k k k k k f f k f k k k k k k f f k f k k k k k k k f f f f f k | |
:: c -> c | |
---- | |
k,f by themselves always typecheck, but seem to eventually repeat | |
add s and () for more fun | |
Spectacular type errors: | |
(k ((s k k s) s) k k s) (s k k) ((k s) k s) (k s) k |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment