[EMAIL PROTECTED] wrote:
Paul Hudak wrote:
  
In fact avoiding space leaks was one of the motivations for our moving
to an arrow framework for FRP (now called Yampa).  Arrows amount to a
point-free coding style, although with "arrow syntax" the cumbersomeness
of programming in that style is largely alleviated.
    
I think that's an entirely different thing.

You changed representation of signal transformers from

    newtype SF a b = SF ([a] -> [b])

to

    data SF a b = SF (a -> (b, SF a b))
  
I think that you misunderstood what I said.  When we went from FRP to Yampa, we changed from using signals directly, i.e. Signal a, to using signal functions, i.e.:

    SF a b = Signal a -> Signal b

When we did this, we made SF abstract, and we adopted the arrow framework to allow composing, etc. signal functions.  This meant that you could not get your hands on Signals directly, which helped to prevent space leaks.

What you describe above is a change that we made in the implementation of signal functions (specifically, from streams to continuations), which indeed is an entirely different thing.

     -Paul

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to