[Haskell-cafe] I Need a Better Functional Language!
Grigory Sarnitskiy
sargrigory at ya.ru
Tue Apr 10 14:42:21 CEST 2012
10.04.2012, 02:00, "Ryan Ingram" <ryani.spam at gmail.com>:
> A concurring opinion here, and an example.
>
> iff :: Bol -> a -> a -> a
> iff True x _ = x
> iff False _ x = x
>
> f, g :: Bool -> Bool
> f x = x
> g x = iff x True False
>
> Are these two functions equal? I would say yes, they are. Yet once you can pattern match on functions, you can easily tell these functions apart, and create a function
>
> h :: (Bool -> Bool) -> Bool
> such that h f => True but h g => False.
>
> -- ryan
I've just remembered an interesting statement that there is a language where each equivalence class of programs Dan Doel mentioned (f = g iff forall x. f x = g x) has a single program in it. That is there is a one-to-one correspondence between programs and functions. Though as far as I understood one cannot construct a translator from this language to another language.
More information about the Haskell-Cafe
mailing list