Learning Prolog!

  • 2 Replies
  • 309 Views
*

Zero

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1067
  • Ready?
    • ThinkbotsAreFree
Learning Prolog!
« on: March 06, 2021, 08:27:36 pm »
Ooow, Prolog... scary name to me. But not anymore: I'm currently learning ISO Prolog as part of my project Jamie. It's worth spending time on it, elegant, powerful, I'm having a pleasant journey.
 O0

edit:
The book is "Programming in Prolog using the ISO standard, 5th edition", by W.F. Clocksin & C.S. Mellish (Springer). I'm on Android with SWI-Prolog on Termux.
If anyone is interested in reading the book together and learning/talking/helping each other, please let me know!
« Last Edit: March 06, 2021, 09:02:56 pm by Zero »

*

infurl

  • Administrator
  • **********
  • Millennium Man
  • *
  • 1172
  • Humans will disappoint you.
    • Home Page
Re: Learning Prolog!
« Reply #1 on: March 13, 2021, 12:26:56 am »
Hi Zero,

Prolog is certainly an amazing language. I've dabbled in it occasionally but never really tried to get serious with it. A couple of years ago I started working through the book "Representation and Inference for Natural Language" by Blackburn and Bos. That book lays the foundations for Combinatorial Categorial Grammar (CCG) which is currently the leading edge for natural language understanding using symbolic methods. The book is one big Prolog lesson because it presents everything in Prolog rather than mathematical abstractions making it a very interesting and easy read. It is readily available as a downloadable PDF if you would like to read it yourself.

https://www.researchgate.net/publication/319394064_Representation_and_Inference_for_Natural_Language_A_First_Course_in_Computational_Semantics
« Last Edit: March 13, 2021, 01:15:04 am by infurl »

*

ivan.moony

  • Trusty Member
  • ************
  • Bishop
  • *
  • 1529
    • contrast-zone
Re: Learning Prolog!
« Reply #2 on: April 19, 2021, 12:51:46 pm »
I just skimmed over a Prolog tutorial, and I found it overlapping very much with my project Exp-Log. The Prolog version described in tutorial has only a command line input/output, file read/write, and TCP socket input/output (at least those are only that are mentioned in tutorial). Tutorial, among other examples, also presents a Prolog Tic-Tac-Toe game AI player with graphical user interface made in Java, communicating to Prolog over TCP socket.

I find Prolog a bit confusing because it doesn't have a classical return statement, yet similar behavior is implemented by appending and altering an extra parameter in predicates. There are also some suspicious tricks like cut rule (preventing nondeterminism), but overall, Prolog is very impressive creation regarding to period of its creation (about year 1972., says Wiki).

I'm considering focusing Exp-Log exposition in a light of Prolog-like programming language, providing only parameterized file input/output (maybe also some server io), callable from other languages utilizing OS commands.
« Last Edit: April 19, 2021, 01:13:21 pm by ivan.moony »
There exist some rules interwoven within this world. As much as it is a blessing, so much it is a curse.