frp-d ~stream

Functional Reactive Programming (FRP) library.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

#FRP-D: Functional Reactive Programming Library for D

This library is built from the ground up in order to take full advantage of some of Ds unique features.

#Basic Usage

void main() {
	auto a = cell!int(1);
	auto b = cell(2);
	auto product = cf!mul(a,b);
	auto currentProduct = mul(a,b);
	writeln(a," * ",b," = ",product);
	a = 2;
	writeln(a," * ",b," = ",product);
	b = 3;
	writeln(a," * ",b," = ",product);
	writeln("but `currentProduct` never changed: ",currentProduct);

#Current State and Further

Currently FRP-D only has a Cell type.

Often called a "behavior" in other FRP implementations, the name "cell" was borrowed from Sodium (

The Cell is the most basic type in FRP and you can do a lot with just it.

This library is being developed to cover the full extent of FRP.

I intend to always have a simple sub-module that just contains this core functionality. Simple cells can have many use cases in code without having to bundle a full FRP library and the simple cell implementation can be a great way to see how this library works internally without wading through a lot of code.


Please, if you have an interest is seeing a good FRP library native in D, join in the fun! I love colaborating!

I have only just started this project so if you have questions just ask.

I also currently have Trello board for todo:

  • Jonathan Levi
Sub packages:
frp-d:cell, frp-d:stream
1.1.0-alpha.1 2019-Feb-01
1.0.0-beta.1 2019-Jan-25
~master 2019-Feb-01
~stream 2019-Feb-01
Show all 4 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 15 downloads total

Short URL: