Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Those aren't declarative, search-for-answers types of languages in the style Prolog is. It's currently hard for most people to get high-performance code out of a Prolog for average problem in programming. Whereas, once you understand dataflow or SIMD tricks, you can get quite a bit of mileage out of the other stuff you mentioned that runs circles around imperative, sequential code.


Once you understand Prolog tricks, you can get code that runs circles around imperative code, even SIMD-optimized.

And it's currently hard for people to get high-performance SIMD and/or data flow code out of imperative code.


>> It's currently hard for most people to get high-performance code out of a Prolog for average problem in programming.

Hi nick.

To my experience, this is not at all the case. Prolog was "slow" in the '70s, when nothing was as fast as C. Nowadays, it's not just the case anymore. Try a modern Prolog compiler like YAC, with tabling and everything.

What kind of high-performance code were you trying to write, that didn't go as fast as you like? If it's something interesting I'm all for helping out.


I mean in the sense of high-performance applications. I'm sure it's fast enough for average. Since other commenter mentioned SIMD, I'm going straight to examples to see what the speed is like. Good test cases would include a key-value store, web server of at least lighttpd complexity, game like Quake (esp interested in fps), top Prolog vs imperative engines for parsing/NLP, MP3 player, and so on. Stuff that taxes even imperative programs for speed. I'd love to see Prolog do those with similar speed (esp no pauses on real-time).

Either of you have examples of such things?

EDIT: And what's the story on concurrency in terms of safety and scaling?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: