From the hub, in category: "Introductory"
Scryer Prolog Meetup 2023 Notes
This post is external to PrologHubThe 9th and 10th of November was the Scryer Prolog Meetup 2023 in Düsseldorf. As a Scryer Prolog user and contributor, I was very excited to go to this meeting. Now, I'm back at home and I can write here a report of what happened in this event with the notes I've taken.
Difference Lists Explored
Difference Lists are a very powerful and useful tool. They're also difficult to understand and can result in difficult to read code. In this post we'll address both of these issues.
Functional Prolog: Map, Filter and Reduce
Prolog programs have both logical and procedural meanings. In this post we'll take a look at procedural ideas more commonly associated with functional programming than Prolog, namely: map, filter and reduce (foldl and foldr). We'll code them and then query them.
Prolog Fundamentals Catchup
This post is external to PrologHubThree Prolog fundamentals that I wish I'd understood earlier
Tips on planning, documenting, and testing a SWI-Prolog project
In the process of developing a fairly large SWI-Prolog project, I've developed some experience at using PlDoc — which actually goes beyond being an automated documentation system, doubling as an integrated development environment — and PlUnit, which I'll share here.
Transitive relations, a deeper dive.
Transitive relations show up a lot in AI code, in this post we look at a couple of ways to code them that depend on what you can assume about your domain and what Prolog you're using.
"Hello, <name>!", the second program improved.
After "Hello, world!" it's typical to write a program that asks the user's name and greets them. In this post we learn how to do this in SWI-Prolog without requiring a full-stop.