Paradoxes there are at logic and math. At programing languages we have bugs or features :))
Higher universe levels are needed first of all for more abstract programming.
P.S. By the way, we don't need have extra TupleList, we have already list!
t3 :: [ (Int :: **) -> (Bool ->
Bool
->
Bool
:: **) -> (String :: **) ]
t3 = [42 :: Int, (&&), "This is true *** type" ]
> :k t3
*
> head t3
42 :: Int
> (head $ tail t3) True True
True :: Bool
Wvv
2 Aug 2013 at 5:34:26, Daniel Peebles [via Haskell] ([hidden email]) wrote:
The higher universe levels are mostly "used" to stave off logical paradoxes in languages where you care about that kind of stuff. In a fundamentally impredicative language like Haskell I don't see much point, but I'd be happy to find there is one :)On Thu, Aug 1, 2013 at 4:55 PM, Wvv <[hidden email]> wrote:The right one is `instance Functor TupleList where ...`