>> I have some set of algorithms that needs such-and-such operations to be as fast as possible. Can I create a VM that is tailored for that?
Yes, this is basically what PyPy does for Regexes, they have a custom regex engine that has "can_enter_jit" in it. So basically what you get is a jitted regex engine. The results are astounding: http://morepypy.blogspot.com/2010/06/jit-for-regular-expression-matching.html They show a 8x speed improvement over the Java Regex engine. Now for core.logic...that's a bit of a different story. The thing about tracing JITs is that they excel at making small tight loops extremely efficient, so depending on the implementation of core.logic, that may or may not apply. >>It would be pretty impressive if one could parameterize the VM space, and access different parts of that space within a contiguous clojure program. So that's a bit hard due to the way PyPy implements types...or doesn't. PyPy does not define what a type is at all. Instead it leaves the typing system open to the developer of the interpreter. So a C# interpreter may define a type's vtable as a list, and use ids to figure out what method to run, or a Python jit may just use a dictionary to look up a method on a given type. Because of this, the JIT really has no way to perform interop between two types. On top of that, PyPy does not allow loading any modules at runtime. All interop with outside libs must be through FFI (like ctypes in Python). So actually the standard library in pypy is 100% pure python code that makes FFI calls to C Libraries. In CPython, there is a mixture of C and Python code. Timothy -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en