Oh! I have a good, small (single-purpose; reusable), useful one! A text field which tab-completes words or phrases from a dictionary.
Haskeline provides useful (non-FRP) for implementing this, but it seems like FRP could handle this in an interesting way. Tom On 7/10/11, Heinrich Apfelmus <apfel...@quantentunnel.de> wrote: > Henning Thielemann wrote: >> Heinrich Apfelmus wrote: >> >>> Question: how would you actually like to describe the guitar simulator >>> at a high-level? Did you already wish for some specific combinators? >>> Assume that you had something like reactive-banana available and >>> imagine that there were a benevolent djinn granting you three new >>> primitive combinators of your choice. >> >> If I would know of appropriate combinators, I would just implement them >> and not ask the djinn. :-) > > Fair enough. :D > > How did you do it with lazy lists? The more I think about it, the more I > come to the conclusion that it's impossible to implement this without > duplicating the event data type. As said, the main problem is that you > want a combinator > > append :: Pattern -> Pattern -> Pattern > > that plays the second pattern (event sequence, the guitar strum) right > after the first one. This means that patterns are *finite*, but this > seems to collide with the requirement that any FRP style Event must be > potentially infinite. > > Once you do implement a small DSL for patterns, everything is fine, > though, as the Wave.hs example demonstrates. > > > Best regards, > Heinrich Apfelmus > > -- > http://apfelmus.nfshost.com > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe