3 ms·
I didn't succeed in convincing my bosses to adopt a testing framework written in Prolog, but, technically, I worked in Prolog for almost half a year when workin
by crabbone 4y ago
I didn't succeed in convincing my bosses to adopt a testing framework written in Prolog, but, technically, I worked in Prolog for almost half a year when working on this proposal. This, however, was 5+ years ago.
For this purpose I used Golog (a very simple, and not very performant Prolog interpreter written in Go). We had already a lot of infrastructure code written in Go, so it would've been a big problem if we couldn't reuse it during migration.
I extended the interpreter in two major ways:
1. Marshalling of structs from Go to Prolog and back.
2. Made most of the meta-predicates parallizable.
The second was meant to be an essential improvement over existing testing framework because it struggled with deploying tests in a large distributed system, running them while allowing various communication patterns and collecting results. The system that was supposed to be tested in this way was a distributed parallel filesystem. The kind of tests I was hoping to leverage with my proposed framework were along the lines of: let multiple users perform various filesystem-related operations on the shared filesystem tree while connecting from different physical nodes and see if anything goes wrong.
The system worked enough for a demo, but was never approved for real use.
- YeGoblynQueenne 4y agoSorry to hear that. It sounds like a project that would have been very rewarding to work on. I for one would have liked to hear more about the parallelisation of meta-predicates, that sounds cool.