Hello
Here is the latest OCaml Weekly News, for the week of September 15 to 22, 2015.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-09/msg00099.html
Continuing the thread from last week, Yaron Minsky announced:Core_kernel has a recently added quickcheck library. Carl Eastlund, who is the main author, is finishing up a blog post describing it, but you can start with the documentation in this file: https://github.com/janestreet/core_kernel/blob/master/src/quickcheck_generator.mliGabriel Scherer then said and Carl Eastlund replied:
> This is very nice. > I hope the library will also get shrinking support, because it not so easy > to do, and important in practice. Glad you like it. Our Quickcheck implementation is new and its design is still somewhat of an experiment, so I can't claim it's a mature library as originally asked for in this thread, but of course we appreciate feedback from early adopters. As Yaron said, I'm writing up a blog post that will go into more detail about it. We just had an intern, Daniel Spencer, implement shrinking. That will make its way to the public release shortly.Simon Cruanes then asked and Carl Eastlund replied:
> I am working on adding shrinking into qtest > (https://github.com/vincent-hugot/iTeML/), and I'm curious about what > design choices you did. Haskell literate mentions > > shrink: 'a -> 'a list > > to shrink values, but on large counter-examples like large lists, it > might be very slow. I'm trying to use iterators to generate shrunk(?) > values lazily. > > Also, do Core users write random generators or shrinking functions > themselves, or do you have a deriver for them? I assume you use "with > sexp" to display counter-examples. Currently generators and shrinkers (and observers, which generate functions -- the analog to CoArbitrary in Haskell) are all written manually. I do intend to add syntax for them, but that's been pending on a few other updates, especially our switch from camlp4 to ppx syntax extensions. We do print counterexamples using s-expressions, as you say. Our shrinkers use the type ('a -> 'a Sequence.t), where Sequence.t is a lazy, unmemoized sequence type in Core.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-09/msg00119.html
Daniel Bünzli announced:I'd like to announce the first release of fmt which should be available shortly in opam. Quickly, the Format module is a good tool for pleasant printf debugging, installing custom printers for your types in the toplevel or rendering text for command line tools. However the API is terrible and very verbose. Fmt simply provides you a few combinators and shortcuts to quickly devise your own pretty-printers and dump the data structures of the standard library. Here's the blurb: Fmt exposes combinators to devise `Format` pretty-printing functions. Fmt depends only on the OCaml standard library. The optional Fmt_tty library that allows to setup formatters for terminal color output depends on the Unix library. Fmt is distributed under the BSD3 license. Home page: http://erratique.ch/software/fmt API docs: http://erratique.ch/software/fmt/doc/index.html Thanks to Gabriel Radanne for his feedback and patches.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-09/msg00120.html
Roberto Di Cosmo announced:The "Introduction to Functional Programming in OCaml" MOOC announced in July will start in a month, on October 19th. We are quite happy to see that there are now almost 1500 registrations for the course, and we would like to ask for a little help in disseminating the course even further, as it is well known that a large user base makes the learning process more effective in a MOOC. To help in this dissemination, an online version of the synthetic flyer distributed at ICFP with all the course information is now available: you can print it and post it on any billboard you may see fit http://www.dicosmo.org/share/Flyer-OCamlMOOC.pdf All the information on the course, including a teaser video, is also available at https://www.france-universite-numerique-mooc.fr/courses/parisdiderot/56002/session01/about The course is in english, but we are investigating the possibility of having subtitles in multiple languages on the platform used for the MOOC. There are 43 video sequences, with durations ranging from 4 minutes to 15 minutes. Contact me if you are willing to help in translating the subtitles in other languages (use the Subject : OCaml MOOC subtitles), and we'll see if there is the needed critical mass to set up this process. And if any of you, experienced OCamlers, wants to register to lend a hand in the forums every now and then, do not hesitate!
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-09/msg00130.html
Runhang Li announced:Videos of OCaml Workshop 2015 are finally available. [1] Video chair explained to me the reason: > I am not aware of videos in the Haskell Symposium that have bad > audio---please send me a link if you know of one, so I can have a look and see > what might have gone wrong. > > I am aware that some of the videos in the Haskell Implementors' Workshop > have bad audio, and that's because the speakers were not speaking in the > microphone. I think for next time we could try to arrange wireless > microphones for groups that want to be recorded, but that somewhat depends on > what’s available at the venue and the budget we have to work within. > > As for the OCaml workshop---that was pretty much entirely my fault as I was > busy with the recording upstairs and forgot to plug in the microphone into the > camera. > Unfortunately, the student volunteer didn't notice this either, so we have a > lot of ambient noise from the room. When I play around with the sound > setttings on the > video I can get it to levels where one can follow what is being said, but I > need to figure out how to save this in the audio track. So I still have hope > that we'll at > least get something to work with. My sincerest apologies to the OCaml > community! I myself am quite interested in watching these talks as I was at > the HS for > pretty much the whole day, so I didn't get to see any of them either. I hope everyone is happy with this result. [1]: https://www.youtube.com/playlist?list=PLnqUlCo055hU46uoONmhYGUbYAK27Y6rS
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-09/msg00131.html
Runhang Li asked and Gabriel Scherer explained:> Xavier; you mentioned during the state of ocaml 2015 talk that there > was a 30% faster bytecode runtime coming. Is there any more > information on this? I found this part of the talk difficult to > follow on youtube. > > I am mainly interested if there will be a change in the bytecode > runtime, or if it is related to the compiler. I believe the change that was described is the now-merged GPR#226: Compiling the run-time system at higher levels of C optimization https://github.com/ocaml/ocaml/pull/226 From the experiments reported by Xavier, I have the impression that most gains are about the way the C compiler optimizes the bytecode dispatch loop, so these would be specific to running bytecode-compiled programs. Native programs should also benefit by linking to a better-optimized runtime system, but no noticeable gains have been observed on these so far -- probably because a lot of the runtime code is memory-access-bound and harder to optimize. Note that we don't have much performance numbers for now, so extra data points are welcome: if you have a program spending a noticeable time in specific parts of the runtime system, you might see a gain.
Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocaml.org/. Amir Chaudhry: Governance of OCaml.org http://amirchaudhry.com/governance-ocaml-org OCamlCore Forge Projects: time https://forge.ocamlcore.org/projects/time/
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.