Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the pros and cons of Batteries and Core? [closed]

Tags:

ocaml

In the OCaml world at present there appear to be a number of competing extensions to the standard library, Batteries and Jane Street Core being the major ones as far as I can determine (I understand that ExtLib has been subsumed into Batteries?). What are the pros and cons of each one? Are they equivalent? Can they coexist? Does it make sense to "mix and match" or should I pick one and focus on it? Is Core widely used outside of Jane Street?

If it makes a difference I am on Debian, so Windows support is not a factor for me.

Thanks!

like image 839
Gaius Avatar asked Oct 08 '10 09:10

Gaius


People also ask

Are Sealed batteries better?

They require less regular maintenance or ventilation, and can withstand varying climates better than flooded batteries. Sealed rechargeable batteries also tend to charge faster than flooded batteries. However, sealed rechargeable batteries do not last as long as flooded batteries.


2 Answers

Caveat: I'm one of the authors of Batteries (although I've been out of touch for a year now) and the author of the about page linked above.

The big differences are the following:

  • Core is used daily in an industrial environment, while afaik Batteries doesn't have the same following
  • Core is maintained by one company, while Batteries is community-maintained
  • afaik (but I can be wrong), Core doesn't accept submissions or feature requests, while Batteries does
  • Batteries aims to accept any program written for OCaml's standard library, while Core doesn't aim to maintain backward-compatibility
  • Batteries used to come with additional external tools (they're not in the standard distribution at the moment, but I hope they'll return as an additional package), e.g. an improved toplevel, a compiler that requires zero configuration to use Batteries instead of OCaml's stdlib, etc.
  • Batteries comes with additional language extensions e.g. to handle Unicode natively, with a new, safer and more extensible printf, etc.
  • Batteries comes with lots of documentation, while last time I checked, Core didn't.

P.S.: Yes, ExtLib is now a subset of Batteries.

like image 104
Yoric Avatar answered Oct 02 '22 05:10

Yoric


The Batteries about page seems to include a comparison to other libraries that answers this question

(scroll down to "Relations to other libraries")

http://batteries.forge.ocamlcore.org/doc.preview:batteries-alpha3/html/about.html

like image 31
blueberryfields Avatar answered Oct 02 '22 05:10

blueberryfields