News for hackers. Stuff that matters.
Re:Show HN: TerminusDB – An open source in-memory graph data... by tlowrimore on Tuesday April 14, 2020 @03:17PM (#22870244)
This looks really great. It's interesting to see that 99% of the source code is Prolog. I'm curious to know what advantage--real or perceived--did Prolog provide over some other, more mainstream language?

Also, @ggleason, based upon your experience with other languages, would you still use Prolog if you had to do the whole thing over again?

Re:Show HN: TerminusDB – An open source in-memory graph data... by ggleason on Tuesday April 14, 2020 @03:50PM (#22870623)
Prolog implementations are very efficient at implementing back-tracking, so if you end up using a lot of back-tracking it definitely makes sense. My first prototype was started in java and it was a nightmare. Secondly, for writing the query compiler, prolog was just such an elegant language.

SWIPL has a large enough and nice enough library that it makes it feel similar to other dynamic languages (python, etc.) in terms of implementing run-of-the-mill glue code.

I'm very fond of prolog as the implementation language for the constraint checking, and especially CLP(fd). I think CLP(fd) is such a killer feature, that once people start using it in their queries, they're going to wonder how they got-on before.

I would like prolog to be a lot more feature-mature for the current age however. It needs a bigger community to help flesh the language out! So many things could be made better - better mode analysis, better type checking and simply more libraries.

Re:Show HN: TerminusDB – An open source in-memory graph data... by tlowrimore on Tuesday April 14, 2020 @05:08PM (#22871473)
Thank you so much for your response. You may have convinced me to have another look at Prolog. I stumbled upon it 15 years ago, but never used it for any real project. I just remember really loving its declarative style.