4 ms·
Prolog -> Lisp ? Prolog is a logical and Lisp is Multiparadigm/Functional, completly different. I'd also change Erlang for Go, and maybe add Scala there too.
by dysoco 14y ago
Prolog -> Lisp ? Prolog is a logical and Lisp is Multiparadigm/Functional, completly different.
I'd also change Erlang for Go, and maybe add Scala there too.
- sea6ear 14y agoYet whenever you see prolog or datalog reimplemented (see On Lisp, PAIP, AllegroGraph, Clojure Datalog implemetation, etc) the implementers have tended to appropriate Lispy syntax rather than the original Prolog syntax. This might also just be laziness, or perhaps simply love for lisp syntax by people using lisp.
- martinced 14y ago"the implementers have tended to appropriate Lispy syntax" But doesn't it make sense that, once you're extending a Lisp dialect to add some Prolog implementation, you'll keep using the Lisp syntax? I don't see it a question of lazyness or love: one of the main point so many people accept to deal with Lisp's seemingly crazy parentheses is homoiconicity. It's not that parentheses are that great and that we love seeing: ))))))))) or )))]))]))) (in Clojure). It's that the benefit (homoiconicity) far outweight the cost of using that syntax.
- yixizhang 14y agoI think it's the same reason that you replace Erlang with Go, because they both aim for concurrency. So in terms of writing ai programs, why can't Prolog be replaced by Lisp?
- mturmon 14y agoBecause Prolog and Lisp are really quite different. Have you used Prolog for a significant project? Its resolution and backtracking capability can be very powerful for some problems, and you'd have to implement them in Lisp. I read the sources of an algorithm-derivation system that was done in Prolog (you give it some model relationships and it pattern-matches to find a learning algorithm to fit model parameters to data). It was quite elegant and got a lot of power for free.