I'm pleased to announce fixpoint 0.1, a (for now) small generic
programming library which allows data types to be manipulated as
fixpoints of their underlying functors. The library is mostly based on
"Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire"
by Erik Meijer, Maarte
Does 'MonadState s m => MonadState s (ReaderT r m)', found in
Control.Monad.Reader violate the coverage condition as I believe it
does?
Yes, it does.
Can one write a function using this library to force the type
inference engine to loop indefinitely? If not, what mitigating
conditions prevent
Hi,
A bit of a detailed technical question.
I'm writing a library which makes heavy use of the MTL (Monad.State,
etc) and monad transformers. I have a monad transformer, MymonadT,
which I want to inherit relevant type classes from the monads it
transforms, i.e.
MonadState s m => MonadState s (
Interested in recruiting Haskell programmers from Chalmers/Gothenburg
university? As an experiment, I am planning a recruitment event here in
December-see www.jobs-in-fp.org for how to take part.
John Hughes
___
Haskell mailing list
Haskell@haskell.o
Roman Leshchinskiy wrote:
instance Fixpoint [a] where
data Pre [a] s = Nil | Cons a s
project [] = Nil
project (x:xs) = Cons x xs
inject Nil = []
inject (Cons x xs) = x : xs
With this, we can easily define things like catamorphisms:
cata :: Fixpoint t => (Pre t s -> s)
Good stuff! You might also want to consider including code from
Uustalu et al, "Recursion Schemes from Comonads", 2001
http://citeseer.ist.psu.edu/uustalu01recursion.html
Chapter 7 has code formatted as Literate Haskell that generalizes cata,
ana, hylo (iteration), and para (primitive recursion
==
Tutorial Announcement and Call for Participation
Using Proof Assistants for Programming Language Research
Or:
How to Write Your Next POPL Paper in
When you want automated deriving of show/read etc., you need all the
components of your type also to be instances of show/read but you won't
want to *require* them to be automatically generated verions.
Standalone deriving does the wrong thing here. Standalone deriving
should not cause an ove