Dunai/Bearriver - FRP - New version and hacktoberfest

Indeed, an implementation based on dunai would be better in many ways.

Yampa has been there for a long time, and we want to do this right. I don’t want people to see their code break, but improve over time.

So far, we’ve ported the core of Yampa, and work under the assumption that everything is expressible in terms of Yampa core. If one day we can assert that bearriver has 100% the same API as Yampa, is not slower for any significant application, does not consume substantially more memory, does not make error messages harder to understand, etc. then it could make sense to make bearriver the new Yampa.

I’d probably opt for “killing” bearriver and keeping Yampa alive, which has been there for much longer. There’s some fundamental differences, like the fact that, in principle, bearriver signals do not exist at time 0 and Yampa’s do, and we’d have to have a compelling story for that. And I’d speak with Henrik Nilsson and Antony Courtney before doing something this big.

There are games that compile against Yampa or bearriver based on a flag in the cabal file, so it’s already pretty functional as it is. However, there is no urgency in this IMO. I find that implementing the core of other stream languages and FRP flavours on top of dunai should have higher priority.

3 Likes