Am Sonntag, 19. März 2006 15:53 schrieb Bulat Ziganshin:
> Hello Manuel,
>
> Sunday, March 19, 2006, 5:35:12 AM, you wrote:
>
> MMTC> PS: IIRC Clean supports strict tuples.
>
> i've proposed to allow adding strict mark to any type constructors and
> type constructor parameters so that finally we can define any data
> structure that can be defined in strict languages. in particular:
>
> type StrictPair a b = !(,) a b
> type StrictElements a b = (,) !a !b
> type StrictBoth a b = !(,) !a !b
> type StrictFunction a b = !(->) !a !b
>
> strictMap :: StrictFunction a b -> ![!a] -> ![!b]
>
> where ![!a] is a strict list with strict elements

Strictness has to refer to attributes (the things you apply a data constructor 
to).  In you approach, strictness is connected to type arguments.  This 
causes problems.  For example, if you have

        data T a = C a a,

what would T !a mean?  Would both attributes be strict?  But how would you 
force only one attribute to be strict then?

These thinkings make me believe that assigning strictness flags to type 
arguments is just not sensible.

Best wishes,
Wolfgang
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime

Reply via email to