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.