#haskell - Mon 19 Feb 2007 between 01:52 and 01:56

NY Lost Funds



allbery_b:k Int
lambdabot*
jcreighKinds are like types *for* types.
allbery_b:k [Int]
lambdabot*
allbery_b:k Either
lambdabot* -> * -> *
allbery_b:k Either String
lambdabot* -> *
allbery_b:k Either String Int
lambdabot*
donsum..
allbery_bthat's it :)
dons:-)
bd_jcreigh: And sorts are kinds for kinds, right? Though, that starts to make my head hurt >.>
er, types for kinds
or kinds for types, I guess
pjdheh
donsyeah, you can classify kinds in things like Twelf
pjdsorta kinda types of things
allbery_bhaskell doesn't go beyond kinds, and has only limited supprt for kinds
dons:k 1#
lambdabotparse error on input `1#'
dons:k GHC.Base.Int#
jcreigh"sorts"? Now you've lost me.
lambdabot#
donsjcreigh: so you have values, like 7
and 7 can be classified by its type, int
and Int itself has a 'kind', the kind of heap allocated objects, *
as opposed to unboxed values, which have type Int# (for example), and kind #
:k (->)
lambdabot?? -> ? -> *
donsthe function constructor is interesting
since its sort-of kind polymorphic
since you can pass an unboxed or boxed type to ->
e.g. Int# -> Int
or Int -> Int
so # -> *
or * -> *
so you need a superkind, ??

Page: 5 12 19 26 33 40 47 54 61 68 75 82 89 

IrcArchive

NY Lost Funds