[Grace-core] Standard Prelude

Kim Bruce kim at cs.pomona.edu
Fri Jul 11 10:17:32 PDT 2014


As we are talking about changes to the standard prelude, I'd like to suggest that we add block types as well.  I've been using the following notations:

type Block0<T> = {         // {...:T}
    apply -> T
}

type Block1<U,T> = {       // {u:U -> ...:T}
    apply(elt:U) -> T
}

type Block2<U,V,T> = {       // {u:U -> ...:T}
    apply(fst: U, snd: V) -> T
}

etc.

Having these standard names around would make it easier to give consistent names to types that make them easier for readers to understand.  (I.e., yes, I understand anyone can make up their own names, but consistent names are easier for people to understand once they learn them.)

Kim






More information about the Grace-core mailing list