Carboxyl is a library for functional reactive programming in Rust, a functional and composable approach to handle events in interactive applications. Read more in the docs…
Usage example
Here is a simple example of how you can use the primitives provided by Carboxyl. First of all, events can be sent into a sink. From a sink one can create a stream of events. Streams can also be filtered, mapped and merged. A signal is an abstraction of a value that may change over time. One can e.g. hold the last event from a stream in a signal.
extern crate carboxyl;
One can also directly iterate over the stream instead of holding it in a signal:
extern crate carboxyl;
Streams and signals can be combined using various primitives. We can map a stream to another stream using a function:
extern crate carboxyl;
Or we can filter a stream to create a new one that only contains events that satisfy a certain predicate:
extern crate carboxyl;
There are a couple of other primitives to compose streams and signals:
merge
two streams of events of the same type.- Make a
snapshot
of a signal, whenever a stream fires an event. lift!
an ordinary function to a function on signals.switch
between different signals using a signal containing a signal.
See the documentation for details.
License
Copyright 2014, 2015, 2016 Eduard Bopp.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.