
Hi Henry, RebindableSyntax implies NoImplicitPrelude, which puts Eq, Ord, Show, and Read out of scope. Cheers, Li-yao On 8/31/2020 10:12 AM, Henry Laxen wrote:
Hi Cafe,
I have encountered the following puzzling behaviour from a very simple program:
Consider
-- {-# LANGUAGE RebindableSyntax #-} module A where import Data.Time
running this with ghci gives:
A> :i UTCTime type UTCTime :: * data UTCTime = UTCTime {utctDay :: Day, utctDayTime :: DiffTime} -- Defined in ‘time-1.9.3:Data.Time.Clock.Internal.UTCTime’ instance [safe] Eq UTCTime -- Defined in ‘time-1.9.3:Data.Time.Clock.Internal.UTCTime’ instance [safe] Ord UTCTime -- Defined in ‘time-1.9.3:Data.Time.Clock.Internal.UTCTime’ instance [safe] Show UTCTime -- Defined in ‘time-1.9.3:Data.Time.LocalTime.Internal.ZonedTime’ instance [safe] FormatTime UTCTime -- Defined in ‘time-1.9.3:Data.Time.Format.Format.Instances’ instance [safe] Read UTCTime -- Defined in ‘time-1.9.3:Data.Time.Format.Parse’ instance [safe] ParseTime UTCTime -- Defined in ‘time-1.9.3:Data.Time.Format.Parse.Instances’
Now uncomment the first line (RebindableSyntax) and rerun it:
A> :i UTCTime type UTCTime :: * data UTCTime = UTCTime {utctDay :: Day, utctDayTime :: DiffTime} -- Defined in ‘time-1.9.3:Data.Time.Clock.Internal.UTCTime’ instance [safe] FormatTime UTCTime -- Defined in ‘time-1.9.3:Data.Time.Format.Format.Instances’ instance [safe] ParseTime UTCTime -- Defined in ‘time-1.9.3:Data.Time.Format.Parse.Instances’
And all of the nice instances for UTCTime have disappeared. Why?
Best wishes, Henry Laxen _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.