Skip to main content

Reflections on Automation, Learnability and Expressiveness in Logic-Based Programming Languages

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

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 13900))

Abstract

This position paper sketches an analysis of the essential features that logic-based programming languages will need to embrace to compete in a quickly evolving field where learnability and expressiveness of language constructs, seen as aspects of a learner’s user experience, have become dominant decision factors for choosing a programming language or paradigm.

Our analysis centers on the main driving force in the evolution of programming languages: automation of coding tasks, a recurring promise of declarative languages, instrumental for developing software artifacts competitively.

In this context we will focus on taking advantage of the close correspondence between logic-based language constructs and their natural language equivalents, the adoption of language constructs enhancing the expressiveness and learnability of logic-based programming languages and their synergistic uses in interacting declaratively with deep learning frameworks.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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.

    at https://github.com/ptarau/natlog, ready to install with “pip3 install natlog”.

  2. 2.

    but not closer, as unnecessary verbosity can hinder expressiveness.

  3. 3.

    https://www.swi-prolog.org/pldoc/man?section=engines.

  4. 4.

    see https://github.com/ptarau/natlog/blob/main/apps/natgpt/chat.nat.

  5. 5.

    see https://github.com/ptarau/natlog/blob/main/apps/natgpt/chat.py.

  6. 6.

    at https://github.com/ptarau/natlog/tree/main/apps/natgpt/pics.

  7. 7.

    https://chat.openai.com/chat.

References

  1. Andersen, C., Swift, T.: The Janus System: a bridge to new prolog applications. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)

    Google Scholar 

  2. Brown, T., et al.: Language models are few-shot learners. In: Larochelle, H., Ranzato, M., Hadsell, R., Balcan, M., Lin, H. (eds.) Advances in Neural Information Processing Systems. vol. 33, pp. 1877–1901. Curran Associates, Inc. (2020). https://proceedings.neurips.cc/paper/2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf

  3. Genesereth, M.: Prolog as a knowledge representation language the nature and importance of prolog. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)

    Google Scholar 

  4. Hermenegildo, M.V.: An abstract machine for restricted AND-parallel execution of logic programs. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, pp. 25–39. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-16492-8_62

    Chapter  Google Scholar 

  5. Manhaeve, R., Dumancic, S., Kimmig, A., Demeester, T., De Raedt, L.: Deepproblog: neural probabilistic logic programming. In: Bengio, S., Wallach, H., Larochelle, H., Grauman, K., Cesa-Bianchi, N., Garnett, R. (eds.) Advances in Neural Information Processing Systems 31, pp. 3749–3759. Curran Associates, Inc. (2018). http://papers.nips.cc/paper/7632-deepproblog-neural-probabilistic-logic-programming.pdf

  6. Ouyang, L., et al.: Training language models to follow instructions with human feedback (2022). https://doi.org/10.48550/ARXIV.2203.02155, https://arxiv.org/abs/2203.02155

  7. Ramesh, A., et al.: Zero-shot text-to-image generation (2021). https://doi.org/10.48550/ARXIV.2102.12092, https://arxiv.org/abs/2102.12092

  8. Kowalski, R., Fariba Sadri, M.C., Davila, J.: Combining Logic Programming and Imperative Programming in LPS. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)

    Google Scholar 

  9. Tarau, P.: The BinProlog Experience: architecture and implementation choices for continuation passing prolog and first-class logic engines. Theory Pract. Logic Program. 12(1–2), 97–126 (2012). https://doi.org/10.1007/978-3-642-60085-2_2

    Article  MathSciNet  MATH  Google Scholar 

  10. Tarau, P.: Natlog: a Lightweight logic programming language with a neuro-symbolic touch. In: Formisano, A., et al. (eds.) Proceedings 37th International Conference on Logic Programming (Technical Communications), 20–27th September 2021 (2021)

    Google Scholar 

  11. Vaswani, A., et al.: Attention is all you need. In: Guyon, I., et al. (eds.) Advances in Neural Information Processing Systems, vol. 30. Curran Associates, Inc. (2017). https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf

  12. Vision, C.M., at LMU Munich, L.R.G.: Stable Diffusion (2018–2022). https://github.com/CompVis/stable-diffusion

  13. Warren, D.S.: Introduction to prolog. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)

    Google Scholar 

Download references

Acknowledgments

These reflections have been inspired by the live and deep-probing Prolog’50 discussions lead by Bob Kowalski and Veronica Dahl with focus on logical thinking and logic-based programming as well as on approaches to make logic-based programming accessible to newcomers, including use cases for a first-contact introduction to computing. I am thankful to the participants of these meetings for sharing their thoughts on both the last 50 years and the next 50 years of logic programming. Finally, many thanks go to the reviewers of the paper for their careful reading and constructive suggestions that helped clarify and substantiate key concepts covered in the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paul Tarau .

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

Tarau, P. (2023). Reflections on Automation, Learnability and Expressiveness in Logic-Based Programming Languages. 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_29

Download citation

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

  • 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