Re: [Haskell-cafe] FRP, arrows and loops

2010-04-06 Thread Maciej Piechotka
On Fri, 2010-04-02 at 14:51 -0400, Christopher Lane Hinson wrote: > On Fri, 2 Apr 2010, Maciej Piechotka wrote: > > > 1. How to interpret ArrowLoop? I have two possible implementations: > > > > type RunSF a = a Dynamic () > > > > data SF a b c = > > SF (a (Dynamic, b, RunSF, Set Unique) (c, Set U

Re: [Haskell-cafe] FRP, arrows and loops

2010-04-02 Thread Christopher Lane Hinson
On Fri, 2 Apr 2010, Maciej Piechotka wrote: 1. How to interpret ArrowLoop? I have two possible implementations: type RunSF a = a Dynamic () data SF a b c = SF (a (Dynamic, b, RunSF, Set Unique) (c, Set Unique, SF a b c)) (...) instance ArrowLoop (SF a) where loop (SF f) = loop' f undefine

Re: [Haskell-cafe] FRP, arrows and loops

2010-04-02 Thread Miguel Mitrofanov
1) Haven't look closely, but your second ArrowLoop instance seems righter. The question really is the same as with MonadFix instances; you can always define an instance like this data M = ... -- whatever instance Monad M where ... instance MonadFix M where mfix f = mfix f >>= f ...but this gen

[Haskell-cafe] FRP, arrows and loops

2010-04-01 Thread Maciej Piechotka
Hello. I'm trying to understand the FRP (by implementing FRP system on my own) and I think I'm slowly getting it. 1. How to interpret ArrowLoop? I have two possible implementations: type RunSF a = a Dynamic () data SF a b c = SF (a (Dynamic, b, RunSF, Set Unique) (c, Set Unique, SF a b c)) (.