Abstract
The Paisley library and embedded domain-specific language provides light-weight nondeterministic pattern matching on the Java platform. It fully respects the imperative semantics and data abstraction of the object-oriented paradigm, while leveraging the declarative styles of pattern-based querying and searching of complex object models. Previous papers on Paisley have focused on the functional paradigm and data flow issues. Here, we illustrate its use under the logic paradigm. We discuss the expressiveness and evaluate the performance of Paisley in terms of the well-known combinatorial search problem “send more money” and its generalizations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Online documentation and demonstration package with Paisley library binaries and multiple examples, including source code quoted here, available from [3] at http://bandm.eu/metatools/paisley/.
- 2.
Available from the Curry homepage at http://www.informatik.uni-kiel.de/~curry/examples/CLP/smm.curry.
- 3.
Kindly contributed by F. Reck, co-developer of the KiCS2 compiler [11].
References
Conery, J.S.: Logical objects. In: Kowalski, R., Bowen, K. (eds.) Proceedings of the 5th International Conference on Logic Programming, pp. 420–434. MIT Press (1988)
Kahn, K., Tribble, E.D., Miller, M.S., Bobrow, D.G.: Vulcan: logical concurrent objects. In: Shapiro, E. (ed.) Concurrent Prolog: Collected Papers, pp. 274–303. MIT Press, Cambridge (1987)
Lepper, M., Trancón y Widemann, B.: Metatools homepage (2013)
Trancón y Widemann, B., Lepper, M.: Paisley: pattern matching à la carte. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 240–247. Springer, Heidelberg (2012)
Trancón y Widemann, B., Lepper, M.: Paisley: a pattern matching library for arbitrary object models. In: Proceedings der 6. Arbeitstagung Programmiersprachen (ATPS 2013). LNI, vol. 215, pp. 171–186. Gesellschaft fr Informatik (2013)
Augustsson, L.: Compiling pattern-matching. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 368–381. Springer, Heidelberg (1985)
Pettersson, M.: A term pattern-match compiler inspired by finite automata theory. In: Pfahler, P., Kastens, U. (eds.) CC 1992. LNCS, vol. 641, pp. 258–270. Springer, Heidelberg (1992)
Dudeney, H.E.: Strand Magazine 68, p. 97 (1924)
Goetz, B.: Lambda expressions for the Java programming language (draft review 3). Java Specification Request 335, Oracle (2013)
Tamura, N.: Cryptarithmetic puzzle solver (2004). Accessed 1 June 2013
Braßel, B., Hanus, Michael, Peemöller, B., Reck, F.: KiCS2: a new compiler from curry. In: Kuchen, Herbert (ed.) WFLP 2011. LNCS, vol. 6816, pp. 1–18. Springer, Heidelberg (2011)
Antoy, S., Hanus, M.: Concurrent distinct choices. J. Funct. Program. 14, 657–668 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Trancón y Widemann, B., Lepper, M. (2014). Some Experiments on Light-Weight Object-Functional-Logic Programming in Java with Paisley. In: Hanus, M., Rocha, R. (eds) Declarative Programming and Knowledge Management. INAP WLP WFLP 2013 2013 2013. Lecture Notes in Computer Science(), vol 8439. Springer, Cham. https://doi.org/10.1007/978-3-319-08909-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-08909-6_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08908-9
Online ISBN: 978-3-319-08909-6
eBook Packages: Computer ScienceComputer Science (R0)