[Haskell-cafe] Animas/Yampa: ArrowChoice?

Edward Amsden eca7215 at cs.rit.edu
Fri Jul 15 21:15:48 CEST 2011


On Fri, Jul 15, 2011 at 12:56 AM, Jason Dagit <dagitj at gmail.com> wrote:
> On Thu, Jul 14, 2011 at 5:04 PM, Ertugrul Soeylemez <es at ertes.de> wrote:
>> Hello all,


>>
>> I really like the way Animas (fork of Yampa) represents reactive
>> systems, and I would love to write some of my simulations using it.
Hi.

The Animas fork is something I did, to fix up some annoyances in
Yampa. It's otherwise the same.

>> Unfortunately most of what I want to do requires dynamic systems, which
>> can be boiled down to me believing to need an ArrowChoice instance for
>> the SF arrow, because I have to choose between different signal paths
>> depending on the input signal or events.
>>
>> Animas appears to be only suitable for robot-like systems with specific,
>> predefined actors.
>>
>> Is there anything I can do about it?  Is it difficult to write the
>> ArrowChoice instance?

Recall that signals in Animas/Yampa are conceptually continuous, which
means that an ArrowChoice instance would need to make a choice at
every instant. This would expose the underlying sample rate. So, no,
ArrowChoice doesn't conceptually fit in Animas/Yampa.

>> Or is there a different solution, which I
>> overlooked?
> If I understand the thesis about the Frag game correctly it uses
> rSwitch, or rpSwitch, to make a dynamic switch:
> http://www.haskell.org/haskellwiki/Yampa/rSwitch
> http://haskell.org/haskellwiki/Frag
The switching combinators are the correct solution for dynamic systems.

-- 
Edward Amsden
Student
Computer Science
Rochester Institute of Technology
www.edwardamsden.com



More information about the Haskell-Cafe mailing list