[Haskell-cafe] A question about causality in FRP

Ertugrul Soeylemez es at ertes.de
Fri Oct 14 10:31:24 CEST 2011

David Barbour <dmbarbour at gmail.com> wrote:

> If you want first-class behaviors or behavior transformers, those will
> need a different abstraction than 'nested' behaviors. Nested != First
> Class.  You'd have special functions to lift a first-class behavior as
> an argument (e.g. add a phantom type to prohibit non-causal
> observation), and to lower it into the main system for sampling
> (e.g. ArrowApply).

The usual model for arrowized FRP is based on this type:

    newtype Auto a b = Auto (a -> (b, Auto a b))

I would be very interested in how you would write an ArrowApply instance
for such a type.  So far my conclusion is:  It's impossible.

Do you have a different AFRP model in mind?


nightmare = unsafePerformIO (getWrongWife >>= sex)

More information about the Haskell-Cafe mailing list