But there were things in Prolog which seemed inconvenient / counter-intuitive. \1
Some examples ... \2
Always having to think and write these in the form of relations feels unwieldy and overcomplicated. \3
I couldn't find equivalents for Prolog. All the examples of handling collections, you seemed to have write your own recursive routine to walk the data every time. \4
I'm a big fan of FP immutability. But the division of Prolog into fixed db of facts, and repl for queries, left me unable to figure out how to write applications where users build up a db of facts through interaction. \5
It seems like you should be able to build a great Eve-like reactive UI in Prolog. But it was hard to figure out where to start. \6
But I couldn't find the basic file-system and string handling support that would actually make this simple compared to, say, Python \7
- programming with higher-order "functions" for data manipulation,
- managing state in UIs and other user-build dbs, and
- how to write real parsers / compilers / file transforms, then I would definitely buy it.
\end