4 ms·
There are least three competing standard libraries: Jane Street's Core (high-quality but fairly big, also generates large binaries due to OCaml's lack of good d
by mercurial 11y ago
There are least three competing standard libraries: Jane Street's Core (high-quality but fairly big, also generates large binaries due to OCaml's lack of good dead code elimination support), Batteries (older, developed by the community), and Containers (Simon Cruanes' project, mostly - smaller but very well-designed).
They all have their advantages, the issue is that there is no one true alternative standard library, which makes the life of library writers difficult (especially when you want to use a type in your interface that is only present in one of these libraries).
- nickpsecurity 11y agoI see the problem. Wouldn't this happen if SML was industrialized to any degree by different players? Back to Ocaml, what would your proposal be to deal with this aside from adding dead code elimination for Core? That would be my first strategy because Ocaml needs it anyway.
- mercurial 11y agoI think it's difficult to tell people to jettison their stdlib dependencies by now (I think OPAM reverse dependencies are about 50/50 between Core and Batteries). What I'd like to see is at least common data structures for useful things (like time) in the standard stdlib, and hooks for nice things like gen/seq (other high-qualities-but-very-lightweight libraries from the author of Containers).
- nickpsecurity 11y agoIt might be difficult but it needs a strong, standard lib. I can't remember that many languages that really made it with several competing libraries for the basics. Could go Common LISP approach and do an integration but that would probably be similarly ugly. A LCD approach with stuff like you suggested might work. Maybe source-to-source translation from one to the other. (shrugs) Still think fragmentation might hold them back.