Is there an attempt at making a more beginner-friendly, perhaps graphical, form of prolog. Perhaps something like Squeak, but where the computation model is more logic programming than imperative, structured programming?
Or perhaps some other friendly presentation of logic programming?
02/12/2024, 12:10 AM
I made Blawx, which is a block-based visual version of constraint answer set programming aimed at legal purposes. Very prolog-like. See https://GitHub.com/Lexpedite/blawx. I also have some ideas for how prolog debuggers and tracers could be enormously easier to use. But no time to implement them. :)
02/12/2024, 12:10 AM
A key question here: what would you (the beginner) do with it? Would your logic-programming system be better for making games, or visual art, or music, or web-applications, than Scratch is for making games or Max is for making sounds?
I would be so excited to see someone come up with a domain of application that is of interest to (some) beginners where logic programming would excel! I would not be excited to see a graphical format for Prolog demoed with the recursive definition of “ancestor” in terms of “parent”!
02/12/2024, 12:12 AM
Law is the domain of interest to beginner programmers in which logic programming excels. :)
02/12/2024, 12:14 AM
Oh yeah I like that a lot! Seems like a natural fit. Of course, there are only so many people out there interested in modeling law. I’d like to see more target domains.
(And I suppose I’m responding to @Guyren Howe’s question about “friendly presentation of logic programming” with a warning, that “friendly presentations of logic programming” are pretty pointless if there isn’t anything substantial the beginners can do with logic programming after it is presented to them in an admittedly friendly way.)
02/12/2024, 3:37 AM
I am obsessed with finding new ways for non-programmers to express computation (programmers can also use these to reduce the amount of programming they have to do).
I have some thoughts at frest.substack.com.
As a general observation, Excel is functional programming, and FileMaker is relational. I’m fairly convinced that non-programmers can do richer kinds of programming, and do programming more easily, in that sort of programming model, rather than in something mostly imperative, like Squeak.
Logic programming is obviously a generalisation of both functional and relational programming.
Recent musing has led me to a relational data store with triggers as a really interesting paradigm. But not SQL, which is abominable — picture a Datalog database with triggers in your favourite languages.
You could express much of a business application in Datalog, and then do anything side-effecting or subject to efficiency issues or requiring Turing-complete processes in your favourite language.
It would also be good, particularly for non-programmers, to express at least some sorts of those triggers in something resembling the relational paradigm they’re already working in. Hence, my question about friendly presentations of logic programming.
I’ll take a look at Blawx. Thanks!