Here is the latest OCaml Weekly News, for the week of May 02 to 09, 2017.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2017-05/msg00004.htmlBe Sport announced:
Be Sport is looking to hire developers for fulltime positions in Paris, for a development and research work. If you are interested, please email email@example.com Jérôme Vouillon and Vincent Balat Profile 1: Development and animation of the Ocsigen project (Js_of_ocaml, Eliom, ...) The developer will be integrated to the Ocsigen team, and will take in charge the implementation and improvement of some modules for Web and mobile development in OCaml. In particular, she/he will possibly work on off-line mobile apps with Eliom, Ocsigen for ReasonML, Eliom apps on MirageOS, client-server widgets for Js_of_ocaml and Eliom, etc. She/he will also take part in the animation of the developers community, relations with users, documentation, etc. Profile 2: OCaml developers (mobile/Web) The developers will take part in the development of some features of our apps. They will be integrated in the programming team: participation in the writing of specifications, implementation (client / server), stylesheets, testing … They will initially work on improving existing features, before progressively taking the lead on some components. Skills in databases, Web technologies and/or machine learning are welcome. The company: Be Sport is a young tech company with an ambitious research and development program. We believe in the use of modern technologies coming from research to build strong basis for our apps. We work in close relationship with research laboratories (CNRS, Inria, univ. Paris Diderot, Univ. Pierre et Marie Curie ...). Our main focus at the moment are languages and typing for Web and mobile apps, recommendation algorithms for social networks, classification algorithms. Our first app is a social network dedicated to sport. Be Sport premises are located in the center of Paris.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2017-05/msg00016.htmlTom Ridge announced:
tjr_btree is a B-tree library written in OCaml. The examples include a simple on-disk key-value store. https://github.com/tomjridge/tjr_btree Example: ---- (** A simple example of a kv store. *) open Small_string.O (* SS is now an alias for Small_string *) open Ss_ss_map_on_fd (* filename *) let fn = Default.default_filename (* construct keys and values from an int *) let k x = "k"^(string_of_int x) |> SS.of_string let v x = "v"^(string_of_int x) |> SS.of_string (* create and init store, write some values, and close *) let do_write () = ( print_endline "Writing..."; (* create and initialize *) let s = ref (from_file ~fn ~create:true ~init:true) in (* get map operations *) let map_ops = imperative_map_ops s in (* write values *) for x=1 to 1000 do (* TODO this would be much faster if we used insert_many *) map_ops.insert (k x) (v x); done; (* close *) close !s ) (* open store, delete some values, and close *) let do_delete () = ( print_endline "Deleting..."; let s = ref (from_file ~fn ~create:false ~init:false) in let map_ops = imperative_map_ops s in for x=100 to 200 do map_ops.delete (k x); done; close !s ) (* open store and check whether various keys and values are correct *) let do_check () = ( print_endline "Checking..."; let s = ref (from_file ~fn ~create:false ~init:false) in let map_ops = imperative_map_ops s in assert(map_ops.find (SS.of_string("k100")) = None); assert(map_ops.find (SS.of_string("k1000")) = Some(SS.of_string("v1000"))); close !s ) (* actually execute the above *) let _ = ( do_write(); do_delete(); do_check() ) ----
Here are links from many OCaml blogs aggregated at OCaml Planet, http://ocaml.org/community/planet/. Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong http://jobs.github.com/positions/0a9333c4-71da-11e0-9ac7-692793c00b45 Preprocessor extensions for code generation http://blog.shaynefletcher.org/2017/05/preprocessor-extensions-for-code.html New opam features: “opam install DIR” http://www.ocamlpro.com/2017/05/04/new-opam-features-opam-install-dir/
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.