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

This is a variant of the "Turing tarpit" fallacy - that is, saying that all things that are technically possible are equivalent.

Calling Java code in Clojure is completely seamless[1] - there's a world of difference from the CL FFI (which isn't that bad to use), which is turn easier to use than the CPython FFI.

You might as well say that C is just as powerful as Common Lisp, because you can implement Common Lisp in it. Ergonomics matter.

The point of a library is that you're supposed to be able to use its interface without worrying about the code underneath - so, Clojure does have access to the entire Java ecosystem.

My comment about lack of libraries was mostly referring to non-Clojures - CL in particular, but my argument also applies to Scheme and Racket and others.

[1] http://xahlee.info/clojure/clojure_calling_java.html



I certainly don't recall it as being seamless; Clojure is a very different language from Java, and the interop code I've seen doesn't look like the kind of Clojure anyone would write otherwise, hence the comparison to CFFI which has the same impedance issues.

But it's all JVM bytecode, so ofcourse it's going to be somewhat smoother.




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

Search: