my guess is no too. An informal argument to that: imagine the datatype is abstract and no functions which act on it are exported .call it 'Type'. since there are no non-bottom values of this type that are exported, the only way to create them is with bottom as in:
(undefined :: Type) (or an equivalant) which is equivalant for a newtype (N undefined :: Type) and for a data (undefined :: Type) note that there is no way to create the (D undefined) which is what lets you observe the difference. therefore you cannot tell the difference... Just my line of thought which led to saying 'no', interpret it as you will. John On Sun, Mar 09, 2003 at 12:58:49PM +0100, Koen Claessen wrote: > Hal Daume III wrote: > > | there is a difference between > | > | (N undefined) `seq` () > | > | and > | > | (D undefined) `seq` () > > The question stated "without its constructor". My guess is > "no". > > /K > > _______________________________________________ > Haskell mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell > -- --------------------------------------------------------------------------- John Meacham - California Institute of Technology, Alum. - [EMAIL PROTECTED] --------------------------------------------------------------------------- _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell