A functional approach to sex: Reproduction in the créatúr framework

Amy de Buitléir, Mark Daly, Michael Russell, Daniel Heffernan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Citation (Scopus)

Abstract

Implementing genetics and reproduction for artificial life involves a set of tasks that are only loosely dependent on the type of agent or the method of reproduction. Créatúr is a software framework for automating experiments with artificial life, and a library of modules that can be used to implement agents. In this paper we describe how Créatúr uses Haskell features such as monads, domain-specific embedded languages, and datatype-generic programming to simplify the implementation of genetics and reproduction. We discuss the possibility that type families could support duplicate instance declarations in appropriate circumstances.

Original languageEnglish
Title of host publicationTrends in Functional Programming - 15th International Symposium, TFP 2014, Revised Selected Papers
EditorsJay McCarthy, Jay McCarthy, Jurriaan Hage
PublisherSpringer-Verlag GmbH and Co. KG
Pages68-83
Number of pages16
ISBN (Electronic)9783319146744
ISBN (Print)9783319146744
DOIs
Publication statusPublished - 2015
Event15th International Symposium on Trends in Functional Programming, TFP 2014 - Soesterberg, Netherlands
Duration: 26 May 201428 May 2014

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8843
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference15th International Symposium on Trends in Functional Programming, TFP 2014
Country/TerritoryNetherlands
CitySoesterberg
Period26/05/1428/05/14

Keywords

  • Artificial life
  • Datatype generic programming
  • Domain specific language
  • Haskell

Fingerprint

Dive into the research topics of 'A functional approach to sex: Reproduction in the créatúr framework'. Together they form a unique fingerprint.

Cite this