Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Science of Computer Programming - Special issue on mathematics of program construction
Communications of the ACM
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Functional reactive programming, continued
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
SDML: A Multi-Agent Language for Organizational Modelling
Computational & Mathematical Organization Theory
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Modeling user interfaces in a functional language
Modeling user interfaces in a functional language
Experiences creating three implementations of the repast agent modeling toolkit
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Data parallel Haskell: a status report
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Hi-index | 0.02 |
Agent-based infection-transmission models, which simulate an infection moving through a population, are being employed more frequently by health policy-makers. However, these models present several obstacles to widespread adoption. They are complex entities and impose a high development and maintenance cost. Current tools can be opaque, requiring multidisciplinary collaboration between a modeler and an expert programmer, and another round of translation when communicating with domain experts. In this paper, we describe the use of functional reactive programming (FRP), a programming paradigm created by imbuing a functional programming language with an intrinsic sense of time, to represent agent-based models in a concise and transparent way. We document the conversion of several agent-based models developed in the popular hybrid modeling tool AnyLogic to a representation in FRP. We also introduce Frabjous, a programming framework and domain-specific language for computational modeling. Frabjous generates human-readable and modifiable FRP code from a model specification, allowing modelers to have two transparent representations in which to program: a high-level model specification, and a full functional programming language with an agent-based modeling framework.