Compiling DNA Strand Displacement Reactions Using a Functional Programming Language - Lakin, Matthew R; Phillips, Andrew (Practical Aspects of Declarative Languages - 16th International Symposium, 2014)
DNA nanotechnology is a rapidly-growing field, with many potential applications in nanoscale manufacturing and autonomous in vivo diagnostic and therapeutic devices. As experimental techniques improve it will become increasingly important to develop software tools and programming abstractions, to enable rapid and correct design of increasingly sophisticated computational circuits. This is analogous to the need for hardware description languages for VLSI. In this paper we discuss our experience implementing a domain-specific language for DNA nanotechnology using a functional programming language. The ability to use abstract data types to describe molecular structures and to recurse over these types to derive the various interactions between structures was a major reason for the use of a functional language in this project.