
Joy (programming language) interpreter in Prolog - triska
https://groups.google.com/d/msg/comp.lang.prolog/X0ujdV9ML5U/AU0UFMZ7EAAJ
======
macintux
Joy was discussed here recently, not a lot of comments though:

[https://news.ycombinator.com/item?id=17685548](https://news.ycombinator.com/item?id=17685548)

------
sevensor
This seems neat, and I'd like to know more about why it was done. Is there a
particular link between logic programming and concatenative programming?

~~~
macintux
I don't know the answer, but there was a fair bit of discussion here on HN
recently that Prolog made for a nice platform for building out a new language.

I'll try to find the comments.

~~~
macintux
Some recent relevant discussions:

[https://news.ycombinator.com/item?id=17698534](https://news.ycombinator.com/item?id=17698534)

[https://news.ycombinator.com/item?id=17739569#17742934](https://news.ycombinator.com/item?id=17739569#17742934)

[https://news.ycombinator.com/item?id=17674859](https://news.ycombinator.com/item?id=17674859)

[https://news.ycombinator.com/item?id=17671478](https://news.ycombinator.com/item?id=17671478)

~~~
sevensor
Thanks for digging up the context!

------
lalos
I've been seeing more movement here around Prolog, any idea why? Prolog has
existed for a long time so that's why I'm surprised.

~~~
triska
The core language has indeed been around for several decades. However, many
important features that are necessary for more interesting Prolog programs
have become widely available and implemented with acceptable efficiency only
in the much more recent past.

For example, this concrete Joy interpreter depends on features
(call_residue_vars/2, copy_term/3 etc.) that were added to a development
version of SWI-Prolog only a few years ago. It takes at least several months,
often even years, until development features make it into stable versions and
distributions, and until application programmers get accustomed to them or
even start using them.

------
jshap70
cool, I've recently needed some help interpreting joy

