4 ms·
1. There are libraries for that. 2. opam.
by e_d_g_a_r 11y ago
1. There are libraries for that. 2. opam.
- jerf 11y agoIt can be worthwhile to bless a set of libraries. Even if it seems like it can be done unofficially, it helps to have it done "officially", at least, from the point of view of a newcomer to the language. Haskell's getting some mileage out of that sort of thing, lately, starting with the "Haskell Platform" and lately moving into Stack, a blessed set of packages that are maintained in certain snapshot sets and guaranteed to compile together.
- e_d_g_a_r 11y agoI have created a starterkit package to get someone's new opam switch prepped quickly. https://github.com/fxfactorial/ocaml-starterkit https://github.com/fxfactorial/ocaml-starterkit See it for cool gifs/images.
- ZenoArrow 11y agoShouldn't #1 be out of the box these days? You'd hope it'd be included in the standard library. Do any of the standard library sets available for OCaml (e.g. Core, Batteries, etc...) have Unicode support?
- nextos 11y agoFor concurrency, Ocaml's spinoff Jocaml (based on joincalculus) works exceptionally well. It got a lot of attention on Tim Bray's widefinder benchmark: https://www.tbray.org/ongoing/When/200x/2007/10/30/WF-Results https://www.tbray.org/ongoing/When/200x/2007/10/30/WF-Result...
- jfaucett 11y ago"1. There are libraries for that." Yes, but I just think unicode support is so pervasive its not something you should really leave up to a library in 2016. Still this is just my biased opinion as a developer who needs it on virtually every project. "2. opam." see: https://opam.ocaml.org/doc/Packaging.html#Publishing https://opam.ocaml.org/doc/Packaging.html#Publishing, - basically, I think requiring a PR on github to get a package published is not "dead simple". Finally, the title contains "widespread adoption". There is no modern language on the Tiobe Index top 20 without those two characteristics except for possibly MATLAB and C# which both don't have good package managers as far as I know, but I could be wrong since I've never used either one of them. The List: (http://www.tiobe.com/tiobe_index http://www.tiobe.com/tiobe_index) Anyway, I'd like to see ML get more adoption. I think fixing these things are more fundamentally important than some others such as web frameworks, etc...
- jlarocco 11y agoI agree with you completely on #1. Without built in support, people screw up Unicode. They either won't use it at all, or they won't use it in all the places it's needed, and by the time it becomes a problem, it's a big problem. On #2, I disagree. The effort required to make the pull request is a small fraction of the effort required to make a library worth adding to Opam. At the same time, it's enough effort that it should prevent the NPM problem of a million stupid "libraries" for 2 line functions. I'm in the same boat as a lot of people here, in that I think OCaml looks great except for a few big shortcomings that they've ignored for a long time (unicode, multi-threading, etc.) that end up being deal killers for me. As I put it in another thread a while back, it's not even that I need the missing functionality all the time, it's that they refuse to add any of it for as long as possible.
- edwintorok 11y agoOCaml 4.03 will have a minimal UChar type and module, that will allow various Unicode libraries to agree on a common type: https://github.com/ocaml/ocaml/pull/80 https://github.com/ocaml/ocaml/pull/80 According to the author of one of the Unicode libraries that is the only thing the compiler should distribute by default, and I agree with that, otherwise you need everything that comes with Unicode too to make it useful: normalization, segmentation, etc. If an application needs that it can link with the unicode library, having it separate from the compiler means features and updates can be implemented faster. Also see here on how other languages (Python in this example) got it wrong: https://sympa.inria.fr/sympa/arc/caml-list/2014-07/msg00050.html https://sympa.inria.fr/sympa/arc/caml-list/2014-07/msg00050.... https://sympa.inria.fr/sympa/arc/caml-list/2014-07/msg00054.html https://sympa.inria.fr/sympa/arc/caml-list/2014-07/msg00054.... The linked introduction to Unicode (for OCaml but not only) is also very informative: http://erratique.ch/software/uucp/doc/Uucp.html#uminimal http://erratique.ch/software/uucp/doc/Uucp.html#uminimal