Skip to main content

Demonstrating Multiple Prolog Programming Techniques Through a Single Operation

  • Chapter
  • First Online:
Prolog: The Next 50 Years

Abstract

Without doubt Prolog, as the most prominent member of the logic programming (LP) approach, presents significant differences from the mainstream programming paradigms. However, demonstrating its flexibility to larger audiences can indeed be a challenging task, since the declarative style of LP lies outside the mainstream programming languages most are familiar with. In this paper, we demonstrate how alternative implementations of a single list operation can prove to be a rather helpful tool for demonstrating a plethora of Prolog programming aspects and techniques, and some issues associated with these, such as efficiency, readability and writability of code.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
eBook
USD 64.99
Price excludes VAT (USA)
Softcover Book
USD 84.99
Price excludes VAT (USA)

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Bratko, I.: PROLOG Programming for Artificial Intelligence, 4th edn. Addison-Wesley Longman Publishing Co., Inc, USA (2012)

    Google Scholar 

  2. Brna, P., et al.: Prolog programming techniques. Instr. Sci. 20(2), 111–133 (1991). https://doi.org/10.1007/BF00120879

    Article  Google Scholar 

  3. Clocksin, W.F., Mellish, C.S.: Programming in Prolog, 5 edn.. Springer, Berlin (2003). https://doi.org/10.1007/978-3-642-55481-0

  4. Flach, P., Sokol, K., Wielemaker, J.: Simply logical - the first three decades. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog: 50 Years of Future, LNAI 13900, pp. 184–193. Springer, Cham (2023)

    Google Scholar 

  5. Gegg-Harrison, T.S.: Learning prolog in a schema-based environment. Inst. Sci. 20(2), 173–192 (1991). https://doi.org/10.1007/BF00120881

    Article  Google Scholar 

  6. Hermenegildo, M.V., Morales, J.F., Lopez-Garcia, P.: Some thoughts on how to teach prolog. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog: 50 Years of Future, LNAI 13900, pp. 107–123. Springer, Cham (2023)

    Google Scholar 

  7. Hogan, A., Blomqvist, E., Cochez, M., D’amato, C., Melo, G.D., Gutierrez, C., Kirrane, S., Gayo, J.E.L., Navigli, R., Neumaier, S., Ngomo, A.C.N., Polleres, A., Rashid, S.M., Rula, A., Schmelzeisen, L., Sequeda, J., Staab, S., Zimmermann, A.: Knowledge graphs. ACM Comput. Surv. 54(4), 1–37 (2022). https://doi.org/10.1145/3447772

    Article  MATH  Google Scholar 

  8. Morales, J.F., Abreu, S., Hermenegildo, M.V.: Teaching prolog with active logic documents. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog: 50 Years of Future, LNAI 13900, pp. 171–183. Springer, Cham (2023)

    Google Scholar 

  9. O’Keefe, R.A.: The Craft of Prolog. MIT Press, Cambridge (1990)

    Google Scholar 

  10. Ross, P.: Advanced Prolog: Techniques and Examples. Addison-Wesley (1989)

    Google Scholar 

  11. Sekovanić, V., Lovrenčić, S.: Challenges in teaching logic programming. In: 2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO), pp. 594–598 (2022). https://doi.org/10.23919/MIPRO55190.2022.9803530

  12. Sterling, L., Shapiro, E.: The Art of Prolog (2nd Ed.): Advanced Programming Techniques. MIT Press, Cambridge (1994)

    Google Scholar 

  13. Van Someren, M.W.: What’s wrong? Understanding beginners’ problems with Prolog. Instr. Sci. 19(4), 257–282 (1990). https://doi.org/10.1007/BF00116441

    Article  Google Scholar 

  14. Warren, D.S.: Introduction to Prolog. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog: 50 Years of Future, LNAI 13900, pp. 3–19. Springer, Cham (2023)

    Google Scholar 

  15. Warren, D.S.: Writing correct prolog programs. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog: 50 Years of Future, LNAI 13900, pp. 62–70. Springer, Cham (2023)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nick Bassiliades .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bassiliades, N., Sakellariou, I., Kefalas, P. (2023). Demonstrating Multiple Prolog Programming Techniques Through a Single Operation. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M.V., Kowalski, R., Rossi, F. (eds) Prolog: The Next 50 Years. Lecture Notes in Computer Science(), vol 13900. Springer, Cham. https://doi.org/10.1007/978-3-031-35254-6_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35254-6_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35253-9

  • Online ISBN: 978-3-031-35254-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics