Abstract
The ecology of Earth's first large organisms is an unsolved problem in palaeontology. This experience report discusses the determination of which ecosystems could have been feasible, by considering the biological feedbacks within them. Haskell was used to model the ecosystems for these first large organisms - the Ediacara biota. For verification of the results, the statistical language R was used. Neither Haskell nor R would have been sufficient for this work - Haskell's libraries for statistics are weak, while R lacks the structure for expressing algorithms in a maintainable manner. This work is the first to quantify all feedback loops in an ecosystem, and has generated considerable interest from both the ecological and palaeontological communities.
Supplemental Material
- N. J. Butterfield. Macroevolution and macroecology through deep time. Paleontology, 50: 41--55, 2007.Google Scholar
Cross Ref
- J. Gehling and G. Narbonne. Spindle-shaped Ediacara fossils from the Mistaken Point assemblage, Avalon Zone, Newfoundland. Canadian Journal of Earth Sciences, 44 (3): 367--387, 2007.Google Scholar
Cross Ref
- Ø. Hammer, D. Harper, and P. Ryan. PAST: Paleontological statistics software package for education and data analysis. Palaeontologia Electronica, 4 (1), 2001.Google Scholar
- G. Hutton. Programming in Haskell. CUP, 2007. Google Scholar
Digital Library
- J. Illian. Statistical analysis and modelling of spatial point patterns.Google Scholar
- R. Jenkins and J. Gehling. A review of the frond-like fossils of the Ediacara assemblage. South Australian Museum, 1978.Google Scholar
- M. Laflamme, S. Xiao, and M. Kowalewski. Osmotrophy in modular Ediacara organisms. Proceedings of the National Academy of Sciences, 106 (34): 14438, 2009.Google Scholar
Cross Ref
- M. McMenamin. The garden of Ediacara. Palaios, pages 178--182, 1986.Google Scholar
Cross Ref
- N. Mitchell. Hoogle overview. The Monad.Reader, (12): 27--35, November 2008.Google Scholar
- A. M. Neutel, J. A. P. Heesterbeek, J. van de Koppel, G. Hoenderboom, A. Vos, C. Kaldeway, F. Berendse, and P. C. de Ruiter. Reconciling complexity with stability in naturally assembling foodwebs. Nature, 449: 559--602, 2007.Google Scholar
Cross Ref
- R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2008.Google Scholar
- T. Siegfried. Odds are, it's wrong: Science fails to face the shortcomings of statistics. Science News, 177 (7): 26--29, 2010.Google Scholar
Cross Ref
- V. Smith, J. Yu, T. Smulders, A. Hartemink, and E. Jarvis. Computational inference of neural information flow networks. PLoS Computational Biology, 2, 2006.Google Scholar
- The GHC Team. The GHC compiler, version 6.12.3. http://www.haskell.org/ghc/, 2010.Google Scholar
- D. Wood, R. Dalrymple, G. Narbonne, J. Gehling, and M. Clapham. Paleoenvironmental analysis of the late Neoproterozoic Mistaken Point and Trepassey formations, southeastern Newfoundland. Canadian Journal of Earth Sciences, 40 (10): 1375--1391, 2003.Google Scholar
Cross Ref
Index Terms
Functional programming through deep time: modeling the first complex ecosystems on earth
Recommendations
Functional programming through deep time: modeling the first complex ecosystems on earth
ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programmingThe ecology of Earth's first large organisms is an unsolved problem in palaeontology. This experience report discusses the determination of which ecosystems could have been feasible, by considering the biological feedbacks within them. Haskell was used ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12: Proceedings of the 2012 Haskell SymposiumProgrammers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Functional programming languages for verification tools: a comparison of Standard ML and Haskell
We compare Haskell with Standard ML as programming languages for verification tools based on our experience developing the verification platform Truth in Haskell and the Edinburgh Concurrency Workbench (CWB) in Standard ML. We review not only technical ...







Comments