Abstract
This paper presents a symbolic pattern matcher developed for
Clojure. The matcher provides new types of function definition,
new conditional forms and new iterative structures. We argue that
pattern matching and unification differ in significant ways that
give them different semantics, both useful, and show that matcher
capability is enhanced by allowing patterns to be dynamically
created or embedded in data structures like rules and statechanging
operators. We evaluate the matcher by experimentation,
demonstrating that it can be used to simplify the specification of
inference mechanisms as well as other types of code.
Clojure. The matcher provides new types of function definition,
new conditional forms and new iterative structures. We argue that
pattern matching and unification differ in significant ways that
give them different semantics, both useful, and show that matcher
capability is enhanced by allowing patterns to be dynamically
created or embedded in data structures like rules and statechanging
operators. We evaluate the matcher by experimentation,
demonstrating that it can be used to simplify the specification of
inference mechanisms as well as other types of code.
Original language | English |
---|---|
Publication status | Published - 20 Apr 2015 |
Event | 8th European Lisp Symposium - Goldsmiths, University of London, London, United Kingdom Duration: 20 Apr 2015 → 21 Apr 2015 https://european-lisp-symposium.org/ |
Conference
Conference | 8th European Lisp Symposium |
---|---|
Country/Territory | United Kingdom |
City | London |
Period | 20/04/15 → 21/04/15 |
Internet address |