0

Do functional reactive programming (FRP) frameworks provide a good setting for creating a network of spiking neurons?

Such a network looks as follows: There is a connectivity graph that defines which neurons receive input from which other neurons and they send output if and only if their voltage exceeds some threshold. They compute the evolution of their voltage according to some differential equation. They should all compute in parallel. A user-interface is not important but performance is.

It seemed to me that functional reactive programming might be a good fit because each neuron continuously waits for input to come while processing some function in the meantime. But I am new to FRP and that is why I am asking here.

I also have some particular subquestions:

  1. Which FRP framework to use? I have some familiarity with Haskell and saw that reactive-banana and reflex were among the most used ones. Would you recommend one of those for the task or another one and why?
  2. Do (those) FRP frameworks take care of concurrency and parallelism and automatically distribute the work done by different neurons / computational units among different cores or even to the GPU or would I have to resort to different techniques to ensure that?

Hope that question is not too naive. Thanks a lot.

0 Answers0