frappe
frappe copied to clipboard
A Dart package for functional reactive programming
For your consideration : - some minor spelling tweaks in the readme.
It's not possible to sub-class Property from a non `frappe` library. ``` dart class Property extends Reactable { Property._(Stream stream, bool hasInitialValue, [T initialValue]) { ... } Property(Stream stream) =>...
Look into moving the implementation of transformation methods to `Reactable`. This'll make it easier to sub-class `Reactable`. ``` dart class Stream { ... } abstract class Reactable extends Stream {...
I want to find a really clean way to integrate frappe with polymer. I want a class that is - a true frappe Property / EventStream - directly usable in...
Contain the last event from the source for each interval. ``` dart var stream = source.throttle(new Duration(seconds: 2)); stream.listen(print); source: abcde------abcde source.throttled(2): --b--d--e----b--d--e ```
Some ideas around additional libraries. ## frappe/mouse.dart A library that defines mouse input properties and events. Can be imported with `import 'package:frappe/mouse.dart'`. ### `final Property position` A property of the...
Not sure I am doing this right but I feel the need for a PropertyController (or SignalController). I currently do: ``` dart class SignalController { final Property signal; final StreamController...
Signal is generally used in FRP publications for representing time-varying values. Perhaps it makes sense to rename `Property` to `Signal`. It's also doesn't overlap with the naming of class properties.
There might be a bug with `timeout()` calling the `onTimeout` callback even though the property delivers a value. ``` dart property.where((beOpt) => beOpt is Some).timeout(timeout, onTimeout: (_) { _log.finest('timed out...
Here are some ways that the documentation and learning material could be improved. Contributions and suggestions are appreciated. - Wiki - [ ] _API Overview_. Document each of the transformers,...