Experience Report: A Haskell interpreter for CellML

In this paper we present our use of functional programming (FP), specifically Haskell, to provide an operational semantics for a domain-specific language, CellML, that describes mathematical models of biological processes. We analyse the benefits and shortcomings of this approach, in comparison with...

Cijeli opis

Bibliografski detalji
Glavni autori: Cooper, J, McKeever, S
Format: Conference item
Izdano: ACM Press 2007
_version_ 1826267704170905600
author Cooper, J
McKeever, S
author_facet Cooper, J
McKeever, S
author_sort Cooper, J
collection OXFORD
description In this paper we present our use of functional programming (FP), specifically Haskell, to provide an operational semantics for a domain-specific language, CellML, that describes mathematical models of biological processes. We analyse the benefits and shortcomings of this approach, in comparison with other semantic definitions for CellML. It is our claim that using FP for our semantics results in a more concise and useful artifact for describing what such a model means. The use of lazy evaluation removes the need to explicitly determine an evaluation order for the model, resulting in a more elegant interpreter. Crucially, using FP enables us to prove the correctness of optimisation techniques for such models. This gives us more confidence in scientific deductions from simulation results. We compare the Python implementation of these optimisation techniques with our use of Haskell in proving their correctness.
first_indexed 2024-03-06T20:58:15Z
format Conference item
id oxford-uuid:3a00e4f7-99f5-41e3-8455-83d6b2c6ffc1
institution University of Oxford
last_indexed 2024-03-06T20:58:15Z
publishDate 2007
publisher ACM Press
record_format dspace
spelling oxford-uuid:3a00e4f7-99f5-41e3-8455-83d6b2c6ffc12022-03-26T13:58:56ZExperience Report: A Haskell interpreter for CellMLConference itemhttp://purl.org/coar/resource_type/c_5794uuid:3a00e4f7-99f5-41e3-8455-83d6b2c6ffc1Department of Computer ScienceACM Press2007Cooper, JMcKeever, SIn this paper we present our use of functional programming (FP), specifically Haskell, to provide an operational semantics for a domain-specific language, CellML, that describes mathematical models of biological processes. We analyse the benefits and shortcomings of this approach, in comparison with other semantic definitions for CellML. It is our claim that using FP for our semantics results in a more concise and useful artifact for describing what such a model means. The use of lazy evaluation removes the need to explicitly determine an evaluation order for the model, resulting in a more elegant interpreter. Crucially, using FP enables us to prove the correctness of optimisation techniques for such models. This gives us more confidence in scientific deductions from simulation results. We compare the Python implementation of these optimisation techniques with our use of Haskell in proving their correctness.
spellingShingle Cooper, J
McKeever, S
Experience Report: A Haskell interpreter for CellML
title Experience Report: A Haskell interpreter for CellML
title_full Experience Report: A Haskell interpreter for CellML
title_fullStr Experience Report: A Haskell interpreter for CellML
title_full_unstemmed Experience Report: A Haskell interpreter for CellML
title_short Experience Report: A Haskell interpreter for CellML
title_sort experience report a haskell interpreter for cellml
work_keys_str_mv AT cooperj experiencereportahaskellinterpreterforcellml
AT mckeevers experiencereportahaskellinterpreterforcellml