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

> running code directly off of data structures

I specifically addressed this. You may need to re-compile if you see a new code data structure instance, but when you've compiled the fact it came from a data structure isn't interesting. All JIT compilers have code as data - they have an IR.

> late binding

This is no more troublesome than it is in Ruby.

> dynamic CLOS dispatch with method combination

But these are optional features that you sometimes use. In Ruby all operations, method calls and most control structures use the strongest form of dynamic dispatch available in the language.

> full blown MOP

So does Ruby.

So I can't say Lisp is any more dynamic for the compiler than Ruby. A sibling of yours mentioned a trace extension but said people don't expect it to be fast so nobody is bothering. In the implementation of Ruby I work on, we've even made set_trace_func as fast as we can.



> All JIT compilers have code as data - they have an IR.

Lisp interpreters run mutable source code, not IR.

> > dynamic CLOS dispatch with method combination

> But these are optional features that you sometimes use. In Ruby all operations, method calls and most control structures

If you look at actual Lisp systems it's not optional. IO, Error handling, tools, ... all use CLOS.

> use the strongest form of dynamic dispatch available in the language.

CLOS uses a more dynamic form of dispatch.

> So I can't say Lisp is any more dynamic for the compiler than Ruby.

Using a compiler or interpreter makes no difference for CLOS.


Well I'm not an expert in compiling Lisp and I guess you're not an expert in compiling Ruby, so we're probably not going to come to an agreement on this.


> A sibling of yours mentioned a trace extension but said people don't expect it to be fast so nobody is bothering.

That's a bit of a misrepresentation of what I said. I don't know about TRACE in particular (which is not an extension but a core part of the language), but the sbcl developers in particular have been very attentive to the performance of development tools like that. (And, probably, the commercial vendors, as well.)




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

Search: