
data IList a b where
Id :: IList a a
ICons :: (a -> b) -> (b -> a) -> IList b c -> IList a c
2009/12/29 Jonathan Fischoff
This seems like exactly what I want, but there are two problems: I can't access the paper and it requires Generic Haskell. I'm just too much of newb to jump into generic Haskell :).
On Mon, Dec 28, 2009 at 7:41 PM, Dan Weston
wrote: This might be pertinent:
Alimarine et al, "There and Back Again: Arrows for Invertible Programming" http://www.cs.ru.nl/A.vanWeelden/bi-arrows/
Jonathan Fischoff wrote:
Hi, I would to create a list of tuples (or something similar) of invertible functions
[((a -> b), (b -> a)), ((b -> c), (c -> b)), ....
Such that I could call
forward invertibleFuctionList domainValue = ? -- composite all the functions backward invertibleFuctionList rangeValue = forward (reverse invertibleFuctionList) rangeValue -- or something similar
I would also like to concat them. This sounds like a job for GADT that someone might have already tackled. Any ideas?
-Jonathan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru