Skip to content

Comment on OCaml 4.03 will, “if all goes well”, support multicoreparent

Comments

There's no built-in encoding/decoding stuff, ie. you need to use a library like Batteries, Camomile, uutf/uucp if you want to do something like capitalise, split or count characters.

Writing the appropriate glue isn't very hard, the interfaces either work with bytes or have to/from-bytes functions, but I suppose it's a bit annoying (at least when first starting out with the language) to have to figure out which lib is needed for which type of string operation, e.g. if you're into Batteries you still need Camomile (or uucp) for lowercasing:

    module C = CamomileLibraryDefault.Camomile
    module CM = C.CaseMap.Make(C.UTF8)
    module U = Batteries.UTF8
    
    let lower_initial bytes =
      U.sub (U.of_string_unsafe bytes) 0 1
      |> U.to_string_unsafe
      |> CM.lowercase
    
    let () =
      lower_initial "Åge" |> print_endline (* prints "å" *)

That's pretty horrible. Thanks for the explanation.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.