Architecture Considerations for Prolog

Software architecture is a tricky subject at the best of times, often mitigated by following a framework. However, when you find yourself in the wilds of Prolog, there’s not much guidance out there, and not many templates to follow. In this post, I’ll provide some guidance built on the principal of substitution.