Skip to main content

Some Experiments on Light-Weight Object-Functional-Logic Programming in Java with Paisley

  • Conference paper
  • First Online:
Declarative Programming and Knowledge Management (INAP 2013, WLP 2013, WFLP 2013)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    Available from the Curry homepage at http://www.informatik.uni-kiel.de/~curry/examples/CLP/smm.curry.

  3. 3.

    Kindly contributed by F. Reck, co-developer of the KiCS2 compiler [11].

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Lepper, M., Trancón y Widemann, B.: Metatools homepage (2013)

    Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. 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)

    Google Scholar 

  6. Augustsson, L.: Compiling pattern-matching. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 368–381. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. Dudeney, H.E.: Strand Magazine 68, p. 97 (1924)

    Google Scholar 

  9. Goetz, B.: Lambda expressions for the Java programming language (draft review 3). Java Specification Request 335, Oracle (2013)

    Google Scholar 

  10. Tamura, N.: Cryptarithmetic puzzle solver (2004). Accessed 1 June 2013

    Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. Antoy, S., Hanus, M.: Concurrent distinct choices. J. Funct. Program. 14, 657–668 (2004)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Baltasar Trancón y Widemann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics