Here is the latest OCaml Weekly News, for the week of May 26 to June 02, 2015.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-05/msg00101.htmlThomas Braibant announced:
There have been numerous discussions about the state of OCaml on Windows on the Opam GitHub , and especially here . What comes out is that there are many ways to use OCaml on Windows (using the Cygwin-based native win32 port, using the Cygwin port, compiling from sources to get a Microsoft based native Win32/Win64 port, using the WODI package manager, using OCamlPro's OCaml distribution for Windows ...), but that none of these seems to be a clear-cut solution. Moreover, the range of options has unfortunately shrunk since WODI has stopped being maintained . We feel like advertising and discussing individual and corporate efforts to improve the support of OCaml on Windows deserves a wider audience than people actively looking at a few disparate GitHub issues. Therefore, we have set up a `wg-windows` mailing list to work through the issues. Interested parties are welcome to join it here: http://lists.ocaml.org/listinfo/wg-windows Regards, Thomas  https://github.com/ocaml/opam/issues?utf8=%E2%9C%93&q=opam++windows  https://github.com/ocaml/opam/issues/246  http://www.typerex.org/ocpwin.html  http://wodi.forge.ocamlcore.org/
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-05/msg00102.htmlDavid Janin announced:
Inria Bordeaux opens a R&D engineer position in the PoSET research project, located at LaBRI, Bordeaux, France Object: research and development on new modeling and programing methods for realtime computerized artistic systems. Duration: two years from Autumn 2015. Where : Inria Bordeaux/CNRS LaBRI, within the research project PoSET. Salary: from 2000 to 2500 Euros monthly netto (including health insurance) depending on candidate qualification. Keywords: functional programing (Haskell or Ocaml), reactive programming, real-time system, graphical modeling, computational music, science and arts. More details below. To apply, send CV and motivation letter to David Janin, firstname.lastname@example.org ********************* ** Research Context The Inria research project PoSET is a new research team in Bordeaux with four permanent researchers and at least as many PhD students. It aims at developing a new approach to the design, implementation and execution of complex interactive media systems such as augmented musical pieces or interactive museographic installations. It aims in particular at developing the notion of tiled temporal media, a mathematically well-defined and rich model of temporal media, with a clean and efficient implementation of this model in the functional programming language Haskell. The resulting software platform should offer uniform, robust and easy-to-use tools for the homogeneous capture, transformation and production of heterogeneous temporal media: music, video, animation, etc. ** Mission Within the PoSET research and development team, the engineer will be the main developer of the project. His task will consists in developing consolidated versions of the existing programming modules and the current on-the-fly rendering kernel. Further developments, to be designed in collaboration with researchers and artists, will include interactive extensions of the rendering kernel, graphic modeling extensions based on higher dimensional tiles, and various domain-specific libraries (audio, music, video, control). His task will also include technical assistance to artists in residence creating artistic systems. ** Profile Master degree / engineering diploma in Computer Science - Creative and highly motivated - Solid programming skills in functional programming (Haskell, Ocaml) - Prior exposure to Human-Machine Interface and Computational Music would be a bonus - Language requirements: fluent spoken English or French and fluent written English ** Environment Hired by Inria Bordeaux Sud-Ouest, the engineer will be located within CNRS LaBRI in the lively city of Bordeaux which hosts many foreign students and researchers. Located in the heart of one of the most famous wine region of France, the direct surrounding of Bordeaux offers great outdoor recreation including surfing, sailing and cycling. The Pyrenees mountains (hiking, climbing and skiing) can be reached from Bordeaux in 3h by car. Paris can be reached from Bordeaux in 3h by train. ** About Inria: « Established in 1967, Inria is the only public research body fully dedicated to computational sciences. Combining computer sciences with mathematics, Inria’s 3,500 researchers strive to invent the digital technologies of the future. Educated at leading international universities, they creatively integrate basic research with applied research and dedicate themselves to solving real problems, collaborating with the main players in public and private research in France and abroad and transferring the fruits of their work to innovative companies. The researchers at Inria published over 4,500 articles in 2013. They are behind over 300 active patents and 120 start-ups. The 172 project teams are distributed in eight research centers located throughout France. » ** Some related links: * Inria Bordeaux Sud-Ouest: http://www.inria.fr/en/centre/bordeaux * UMR CNRS LaBRI laboratory http://www.labri.fr/index.php?n=Main.HomePage?userlang=en * PoSET research project http://www.labri.fr/perso/janin/poset.html * SCRIME (Studio de Création et de Recherche en Informatique et Musique Electroaccoustique) https://scrime.labri.fr/le-scrime/ * PoSET team leader http://www.labri.fr/perso/janin/ * Some publications in link with the project http://www.labri.fr/perso/janin/music.html
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-05/msg00104.htmlThomas Braibant announced:
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-06/msg00001.htmlGustave Nimant asked and Fabrice Le Fessant replied:
> is there any way in OCaml to get the name of a function from its body, in > order to write precise error messages for instance ? Recent versions of OCaml provide "__LOC__", "__FILE__", "__LINE__", "__MODULE__" and "__POS__" primitives that can be used to display precise error messages.Gabriel Scherer added:
"Recent" is 4.02 in that case -- although the implementors forgot to indicate it as such using @since tags in the documentation.Gustave Nimant then said and Francois Berenger replied:
> Thank you for this information I was not aware of. > It seems that the functions described in > http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html > do not answer my question : > "how to get the name of the current function ?" It is currently not possible. There is no __FUNCTION__ like you have in C. I was also quite interested by this feature a long time ago. For loggers it is quite useful. I cannot find the thread back, I don't know where to search the archives of caml-list. Gabriel Scherer mentioned there is not always a function name since they can be inlined by the compiler, if I remember correctly.Fabrice Le Fessant replied:
The main reason for the absence of __FUNCTION__ is probably that it does not really make sense : you might have several functions with the same name within the same module : let f x = x+1 let f list = List.map f list It makes sense in C, because you can only define a symbol once in a file, so the pair (__FILE__, __FUNCTION__) is uniq (and if the function is not static, it is probably even uniq within the executable). In OCaml, it is probably better to use the pair (__FILE__, __LINE__) to tell the dev where to search for the problem.
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/. 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 Runtime length encoding data compression method: http://blog.shaynefletcher.org/2015/05/runtime-length-encoding-data.html
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.