Other Prolog Work

I created this site to post some simple Prolog code and for a bit of fun. There are several other projects that I have worked on over time using Prolog as well. These are more complex but also interesting or useful, so check out some of the links below if you are interested.

A demo to show how to server a React SPA from a Prolog web server.

I was using React at work at the time of writing this, and had a lot of problems with getting the in app routing working with the server routing. So this demo shows how to solve that problem.

https://github.com/da-poodle/react-and-prolog-demo

A library for managing Prolog data structures dynamically

One of the issues that Prolog has is if you change a data structure then it is hard to change that throughout your code. This library is an attempt to solve this problem, it isn't perfect but is very useful when doing prototypes.

https://github.com/da-poodle/fld

An implementation of the BrainFuck language using only Horn Clauses in Prolog.

It is said that the BrainFuck language is 'Turing Complete', and so anyone other language that can implement it is also Turing complete. It is also said that horn clauses are Turing complete, and this implementation of BrainFuck using only horn clauses confirms that you can implement BrainF* using only horn clauses. Make of that what you like.

https://github.com/da-poodle/brainfuck

Interesting Rosetta Code Additions

Over time I have also had a go at solving some of the more interesting problems on RosettaCode.org. Here are some of my favourites.

Games

Tools