
"Functional reactive programming (FRP) supports elegant programming of dynamic and reactive systems by providing first-class, composable abstractions for behaviors (time-varying values) and events (stream of time values)"
RxJS
Flapjax
Shafty
Javelin
Behaviors/Properties/Signals
B = 1C = 2A = B + C//A = 3B = 2//A = 3
B = 1C = 2A = B + C//A = 3B = 2//A = 4
$('#some-input').bind('keydown', function(e){ if(e.keyCode == 13 && $(this).value().length > 3){//The ENTER key$.ajax({url:'/search',method:'get'data:{query:$(this).value()},success: function(data){//Do something with the response}});} });
function doSearch(){ if($("#search-input").value() > 3){ //The search ajax }}$("#search-button").bind('click', function(e){ doSearch(); });$("#search-input").bind('keyup', function(e){ if(e.keyCode == 13){ doSearch();} });
http://conal.net/papers/icfp97/
http://conal.net/papers/simply-reactive/old-tech-report-superceded.pdf
http://sean.voisen.org/blog/2013/09/intro-to-functional-reactive-programming/
http://www.youtube.com/watch?v=nket0K1RXU4
http://www.haskell.org/haskellwiki/Functional_Reactive_Programming
https://github.com/Reactive-Extensions/RxJS
https://github.com/baconjs/bacon.js
http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming/1030631#1030631
https://github.com/Cicayda/yolk-examples/tree/master/src/yolk_examples/client