[Haskell-cafe] Re: systemtimmetypeable: Workaround for lack of
deriveable data instance in either System.Time or Data.Time.
ashley at semantic.org
Wed Oct 21 13:05:18 EDT 2009
Data.Fixed (in base) has been updated with Data instances in HEAD. When
that's released, I'll release time-extra that will contain Data
instances. I've got it all ready to go.
The reason Data instances are in time-extras is that the time library
must be Haskell 98, while Data instances require Rank2.
On Wed, 2009-10-21 at 11:15 -0500, Thomas Hartman wrote:
> on haskell reddit, dons suggested simply patching time. reasonable
> enough, but I hit a glitch where the Data.Fixed (in base lib) was
> missing a Data instance, and gave up when I couldn't find the source
> repo for base. Is this simply part of ghc?
> Anyways, that instance seems to be added in ghc 6.12 so probably a non
> issue now or closer to it.
> also, aavogton #haskell suggested
> as a workaround for people using time on happstack earlier than 6.12,
> probably nicer than the MyTime hack I created though it comes with a
> bit more baggage.
> I haven't upgraded to 6.12 but I would suggest that time now be made
> Data Generics friendly if it hasn't already, since this is probably a
> very simple change and would be helpful to happstack. If no one has
> time to do this I'll try to get around to it when I upgrade to 6.12.
> Also wouter swierstra suggested that standalone deriving (
> ) could be helpful in this case but I'm not sure why, or even whether
> this was for data-izing data.time or system.time or both.
> Given all this I won't be uploading anything to hackage, and hopefully
> the base libs + time will be data friendly soon enough.
> 2009/10/19 Thomas Hartman <tphyahoo at gmail.com>:
> > At
> > http://osdir.com/ml/[email protected]/2009-10/msg00197.html
> > I griped that the lack of Data-Derivable time values was causing me
> > headache in happstack.
> > In the proposed cabal package
> > http://patch-tag.com/r/tphyahoo/systemtimetypeable/snapshot/current/content/pretty/systemtimetypeable.cabal
> > I submit a workaround that, while probably not the ideal thing, has
> > proved helpful to me.
> > Basically, I use the type MyTime, which is data-deriveable, when
> > working with Macid in happstack; and convert from System.Time and/or
> > Data.Time with the accompanying utility functions when necessary.
> > Perhaps the utility functions are useful on their own as well. I found
> > it surprisingly hard to get from Data.Time values to System.Time
> > values.
> > Anyways, I am interested in what others think and, of course, patches
> > and suggestions welcome.
> > thomas.
More information about the Haskell-Cafe