[Haskell-cafe] "Best" FRP package for newbie

638 views
Skip to first unread message

Arnaud Bailly

unread,
Feb 17, 2012, 2:50:34 AM2/17/12
to Haskell Cafe
Hello,
I am interested in exploring more in depth FRP. I had a look at the wiki page and started to explore "reactive" which looked promising at first glance and backed by quite a few articles and tutorials, but 1) it did not install properly on my haskell platform and 2) from the mailing-list archives it seems to have died a couple of years ago.

So my question is : What package would you recommend me to get my hands dirty with FRP? I am mostly interested in things related to music and network programming, if that matters.

Thanks in advance for your help,

Arnaud

"Gabríel A. Pétursson"

unread,
Feb 17, 2012, 3:13:17 AM2/17/12
to haskel...@haskell.org
Netwire by Ertugrul Söylemez would be a good library to start with. If for some reason netwire doesn't quite suit your needs, take a look at Animas, a fork of Yampa.

http://hackage.haskell.org/package/netwire-3.1.0
http://www.haskell.org/haskellwiki/Netwire
_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Heinrich Apfelmus

unread,
Feb 17, 2012, 3:47:24 AM2/17/12
to haskel...@haskell.org

Of course, I recommend my reactive-banana library.

http://haskell.org/haskellwiki/Reactive-banana
http://www.haskell.org/haskellwiki/Reactive-banana/Examples

Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com

Ertugrul Söylemez

unread,
Feb 17, 2012, 4:28:57 AM2/17/12
to haskel...@haskell.org
"Gabríel A. Pétursson" <gabr...@simnet.is> wrote:

> Netwire by Ertugrul Söylemez would be a good library to start with.
> If for some reason netwire doesn't quite suit your needs, take a look
> at Animas, a fork of Yampa.
>
> http://hackage.haskell.org/package/netwire-3.1.0
> http://www.haskell.org/haskellwiki/Netwire

Even though Netwire seems to be the library of choice for your purposes,
it is not exactly beginner-friendly. Heinrich Apfelmus' reactive-banana
library is much easier to get into, so you may want to start with that
one before approaching Netwire.

In any case, I can't really recommend Animas or Yampa. They are a proof
of concept, but in real world applications they proved to be unfortunate
choices, which was the original motivation for me to write Netwire in
the first place.


Greets,
Ertugrul

--
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/

signature.asc

Edward Amsden

unread,
Feb 17, 2012, 11:27:13 AM2/17/12
to Arnaud Bailly, Haskell Cafe
I got started in FRP with Yampa, and I currently "maintain" Animas,
which is a fork. AFAIK no one is really doing much with either
anymore. Yampa and Animas are both messy both in implementation and
the exposed interface. I did start with Yampa, but it was incredibly
frustrating because the abstraction is very leaky and thus things
often don't work as you'd expect. The only real changes to Animas are
the addition of some primitives for evaluation when you don't want a
tight loop.

I'm currently writing a Masters thesis on FRP which will hopefully
result in a much nicer signal function library, but of course you
don't want to wait that long. What I can offer though is to try to
answer any questions you might have as you're exploring FRP.

Netwire and reactive-banana both sound like good choices, though I
haven't really toyed much with either of them so I can't really make a
firm recommendation.

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

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

Adam Duracz

unread,
Feb 18, 2012, 6:18:05 AM2/18/12
to haskel...@haskell.org
Hi Arnaud,

While not necessarily in line with the state of the art of FRP libraries, I can warmly recommend going through the parts of Paul Hudak's "Haskell School Of Expression" that cover the Functional Animation Library ("FAL", basically a light version of Fran).
The book introduces FRP concepts gently and FAL is really nice to work with, at least when it comes to the type of code that is discussed in that book.

Good luck!

//Adam

edgar klerks

unread,
Feb 18, 2012, 7:00:04 AM2/18/12
to Adam Duracz, haskel...@haskell.org
As beginner I really liked reactive-banana. I used it in a inhouse
project for the graphical user interface (wx) and I found it easier to
use than the "imperative" approach. Unfortunately the
reactive-banana-wx package seems to be broken on 7.2.

Arnaud Bailly

unread,
Feb 18, 2012, 11:50:16 AM2/18/12
to Haskell Cafe
Thanks to all for your kind answers. I already installed reactive-banana and skimmed through the doc which is quite good and extensive: at least this is a good start. Should the need arise, I will not hesitate to tap into the knowledge and wisdom of the community !

Regards,
Arnaud

Heinrich Apfelmus

unread,
Feb 19, 2012, 3:06:30 AM2/19/12
to haskel...@haskell.org
edgar klerks wrote:
> As beginner I really liked reactive-banana. I used it in a inhouse
> project for the graphical user interface (wx) and I found it easier to
> use than the "imperative" approach. Unfortunately the
> reactive-banana-wx package seems to be broken on 7.2.

Actually, it's a weird bug in GHC 7.2 that break reactive-banana-wx.
Watching the build log on Hackage is fun: sometimes it doesn't build,
then it does build, then not. Fortunately, everything works fine on GHC
7.0.4 .


Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com


Reply all
Reply to author
Forward
0 new messages