I think this (and a handful of other things like it: https://www.visirule.co.uk) are GLORIUS! Many thanks for taking the time to craate it; I thought the least I could do was give you my positive feedback.
I completely agree with you that such ‘low code’ environments should be a well-established paradigm as they are very useful on many levels including production code.
I am particularly intrigued by your implementation of the “higher order” structures like Findall, Formula, Group , Grammar etc. I shall look forward to finding out what they all do!
Looking forward to any updates, I hope to see further adoption.
PS proof-reading- this sentence (on here- [A preview of] Praxis; Visual Programming in Prolog – Praxis Dev-blog) does not make sense:
"Findall-branches need to get some privace, so we add the call to lists:set_of/2 in its own branch. "
(no such word as ‘privace’ in english).
Very glad you like the idea!
I’ve looked a bit at visirule, but haven’t had the opportunity to try it - it seems to have many interesting features, and LPA surely is an accomplished and experienced organization, so their ideas are probably very well worth looking at.
I have a feeling that the rules they draw (like the ones where branches meet again) will not be executed as very normal Prolog code, though, and I believe it would be for the best if Praxis (mainly) aimed at producing as normal Prolog code as possible, to make it easier for people to get into and adopt.
I’ve already spent a good amount of time thinking about how to implement “converging branches” in a good way, though - I Am very interested in allowing flexible ways of representing logic rules, but as a rule I aim to first and foremost cater to normal Prolog capabilities, making those rock-solid, and use that as a base for any possible future “logical adventurism”
Of course the different shapes and their uses need to be very carefully documented; documentation has actually become something of a hobby-horse for me - I will start by documenting the shapes in separate dev-blog posts, see how different methods of explanation work out, and then use that material as a basis for the “official” documentation material.
Thanks for your interest, and thank you for proofreading! I will deal with that particular blooper the next time I sit down with the blog