[Haskell-cafe] Science, FRP and Haskell

Dear cafe, I am please to announce that our paper on using FRP (and Haskell!) in physiological experimentation and analysis has now been published in Journal of the Royal Society Interface. Since most people on this list probably don't read that journal on a regular basis, I thought a quick note to the list would be appropriate. The full PDF is available here: http://rsif.royalsocietypublishing.org/cgi/reprint/rsif.2011.0616?ijkey=vFonCizaMFrAmIH&keytype=ref If this link doesn't work, just email me for a copy. I'll provide a brief summary here: -The main point of the paper is that there is a large conceptual overlap between FRP and the observation and analysis of physiological data. We show that many different quantities map on to Signals or Events (we introduce a third type scheme, Durations, similar to Events but with a start and an end time). These types can be used not only for data but also for meta-data. In fact, we make no distinction between the two. -We have developed a non-embedded functional programming language with first-class signals and events for executing experiments defined as functional reactive programs. A key innovation is that differential equations can be introduced by pattern matching on the derivative of a signal. One back-end supports the execution of some programs under a real-time (LXRT) environment. -We have carried out two non-trivial neurophysiology experiments to demonstrate the generality, concision and practical usefulness of our approach. -All code used for data acquisition, stimulus generation and presentation, analysis and producing figures was written in Haskell or in programming languages implemented in Haskell. I stress that the paper is about ideas and does not describe a mature software package. I am reimplementing a lot of those ideas and integrating them with Bayesian inference, such that we can analyse data in terms of physical, probabilistic models. This more mature language is called BAYSIG. here is the code described in the paper, in all it's messiness: https://github.com/glutamate/bugpan The repository for BAYSIG is here https://github.com/glutamate/baysig Both of these packages depend on a couple of unreleased cabal packages that can be found in my github account. Regards, Tom