ABSTRACT
In this paper, we consider using reactive functional programming techniques in F#. We share our experience of using those techniques in developing natural user interface based on Kinect and Leap Motion sensors, and in controlling TRIK robotics toolset, and describe the project of a robotics platform, remotely controlled by gestures. We demonstrate how nicely reactive functional programming can be implemented on multiple platforms using F# programming language, and how streams of events can span boundaries of an isolated system in distributed environment. We also describe Kinect-based physical activity tracker project that uses reactive functional programming approach.
- Reactive Programming with Events, MASTER THESIS, Tomáš Petříček, Charles University in Prague, Faculty of Mathematics and Physics, http://tomasp.net/academic/theses/events/events.pdfGoogle Scholar
- Arrows, Robots and Reactive Functional Programming http://www.staff.science.uu.nl/~jeuri101/afp/afp4/hudak.pdfGoogle Scholar
- Don Syme. Async and Parallel Design Patterns in F#: Reporting Progress with Events (plus Twitter Sample) (blog post: http://blogs.msdn.com/b/dsyme/archive/2010/01/10/async-and-parallel-design-patterns-in-f-reporting-progress-with-events-plus-twitter-sample.aspx)Google Scholar
- A. Terekhov, R. Luchin, S. Filippov. Educational Cybernetical Construction Set for Schools and Universities. In Proc. of 9th IFAC Symposium on Advances in Control Education, 2012. - Vol. 9, Part 1, p. 430--435.Google ScholarCross Ref
- {Reference contains Cyrillic text which could not be captured.}Google Scholar
- D. Syme, A. Granicz, A. Cisternino. Expert F# 3.0. - Apress, 2012. Google ScholarDigital Library
- G. Salvaneschi, J. Drechsler, M. Mezini. Towards Distributed Reactive Programming. Proc. of 15th International Conference on Coordination Models and Languages, Florence, Italy, June 3--5, 2013.Google ScholarCross Ref
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston, MA, 1995. Google ScholarDigital Library
Index Terms
- Functional reactive programming: from natural user interface to natural robotics behavior
Recommendations
Robotics reactive programming with F#/Mono
CEE-SECR '14: Proceedings of the 10th Central and Eastern European Software Engineering Conference in RussiaAll that computing power of modern controllers has made possible the use of modern programming languages, different paradigms, and libraries even for embedded systems development. This also provides new capabilities for modern trends of software ...
Safe functional reactive programming through dependent types
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingFunctional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals. FRP is based on the synchronous data-flow paradigm and supports both continuous-time and discrete-...
Comments