Hacker Newsnew | past | comments | ask | show | jobs | submit | raphscallion's commentslogin

> At least OCaml doesn't pretend to support threading, unlike most other GIL-bound languages.

OCaml does support threading, you don't need LWT of Async for I/O concurrency.

http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual039.ht...


Functors simply provide dependency injection for modules. It's no different from any other kind of dependency injection, except that modules themselves are a very flexible unit of organisation.


What about Jane Street's Core (http://ocaml.janestreet.com/?q=node/13), or Batteries Included (http://batteries.forge.ocamlcore.org/) ?


Go Batteries Included! (yes, I'm one of the developers, did that show? :))


The last time I tried installing Batteries (on OS X) it was a big PITA and it looked like it was dead in the water (this was about 18 months ago).

During the same time using GODI to install a xml processing library completely hosed my system after me foolishly granting it root rights, which killed my OCaml enthusiasm for good.

OCaml is in itself a really nice language (apart from some warts like lack of native multithreading support) but it's tooling, infrastructure and "first developer experience" and lack of progress in these areas in the last years is beyond atrocious (compared to F#, Scala, Clojure, Haskell, Ruby, Python, JavaScript).


OcamlJava is a work-in-progress implementation of OCaml on the JVM, from Xavier Clerc of INRIA. http://ocamljava.x9c.fr/

There's also Yeti ( http://mth.github.com/yeti/ ), an ML for the JVM, though I'm not sure how mature it is yet.


I'm really loving Yeti. It's not very mature but it's a very promising language.

It does need more libraries but it's also extremely interoperable with Java/JVM. Very simple and easy to call out to Java libraries. Also compiles to native JVM classes (can be called easily from Java).

For anyone interested, I managed to write a Mustache implementation last weekend:

https://bitbucket.org/puffnfresh/yetis-mustache/src


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

Search: