[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lifted products (strictness annotations
Did I reach the whole list?
My question concerns this:
> Furthermore, it makes perfect sense to declare a new type isomorphic to
> an existing function type. So whereas it is *not* ok to write
> data New a b = MkNew !(a->b) -- ! means strict
> (because of previous discussion about the difficulty with strictness in function
> types), it does make perfect sense to say
> newtype New a b = MakeNew (a->b)
> In short, using a strictness "annotation" (not really an annotation anyway,
> since it changes meaning) as a way to introduce a new isomorphic type doesn't
> work for function types.
I don't remember seeing about the difficulty of strictness in functions.
Could someone summarize that for me? Incidentally, isn't the only change
in meaning that strictness introduces is convergence/lack of convergence?