Skip to content

fpdart/compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compose with language operators

Try to use composition functions with language operators! You can use right (classic) and left composition.

You have two ways to define your composition: >> and *. Its same! For calling you need to use < (from left function) or > (from right function).

Examples

var addOne = (x) => x + 1;
var minusOne = (x) => x - 1;
var add = (x, v) => x + v;

print(c() >> addOne >> minusOne >> ((_) => add(1, _ * 2)) > 3); // 7
print(c() >> addOne >> minusOne >> ((_) => add(1, _ * 2)) < 3); // 7

print(c() * addOne * ((_) => _ * 2) > 4); // 9
print(c() * addOne * ((_) => _ * 2) < 4); // 10