News for hackers. Stuff that matters.
Re:I Use Ugly Languages by dysoco on Friday December 21, 2012 @12:39PM (#4953631)
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.

Re:I Use Ugly Languages by sea6ear on Friday December 21, 2012 @12:44PM (#4953652)
Yet 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.

Re:I Use Ugly Languages by martinced on Saturday December 22, 2012 @01:36PM (#4957125)
"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.

Re:I Use Ugly Languages by yixizhang on Friday December 21, 2012 @12:44PM (#4953654)
I 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?
Re:I Use Ugly Languages by mturmon on Friday December 21, 2012 @12:55PM (#4953698)
Because 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.