Here is the latest OCaml Weekly News, for the week of February 03 to 10, 2015.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-02/msg00016.htmlEray Ozkural announced:
Please find some job adverts below, we are communicating open positions involving OCaml development. I anticipate that there would be enthusiastic and talented researchers in the OCaml community who might be interested in working on general-purpose machine learning. I am aware that the desired skills are a tall order; we do need the best programmers in the world. Please correspond directly with me for enquiries. Kind Regards, =============================================================== We are a general purpose artificial intelligence startup with an emphasis on universal machine learning methods and parallelism. We wish to expand our team, and we would like to work with competent researcher-programmers who will be able to advance our prototypes. Machine Learning Researcher: We would like to work with bold researchers who are capable of advancing the state-of-the-art in artificial general intelligence algorithms. The bulk of the work requires analyzing and improving existing proprietary models and methods at our firm, however we would like the ideal candidate to propose entirely new general-purpose machine learning models and methods, and address open problems in mathematical artificial intelligence. Job responsibilities: – Improve existing universal machine learning algorithms – Propose, design and implement new machine learning methods – Analyze theoretical properties of proposed methods – Experimentally verify machine learning methods Desired Skills and Experience: – PhD in a relevant subject (machine learning, statistics, data mining, neuroscience, etc.), or equivalent research experience – Functional programming experience – Experience in Artificial General Intelligence methods – Experience in stochastic/deep-learning models – Experience in logical reasoning methods – Able to design and execute machine learning experiments Functional Programming Researcher: Our prototypes are written in OCaml, and C++. We would like to move into a purely functional direction since multi-core programming is essential to high-performance. We are also interested in inventing domain-specific languages for AI tasks. The ideal candidate for this position would be able to make good use of existing functional programming technology to better express our algorithms and models, and optimize existing code. He/she would be competent in expressing parallelism in a functional fashion. He/she has good command of programming language semantics and can design a new domain-specific functional PL for given requirements. He/she can design an efficient runtime system and is familiar with problems in scientific computing, and/or data mining. Job responsibilities: – Design, and implement functional and imperative algorithms – Implement new domain specific functional language interpreters and runtimes – Propose and implement parallel programming libraries – Optimize, refactor, and expand existing functional codebase Desired Skills and Experience: – PhD level or similar experience required – OCaml and Haskell experience – Experience in purely functional algorithms and data structures – Experience in programming language semantics and design – Experience in runtime design and implementation – Experience in functional approaches to parallelism – Experience in scientific computing and/or data mining Parallel Computing Researcher: Implementing a human-level AI system requires a high degree of parallelism. We purpose to build systems that will scale well to billion cores on heterogeneous parallel computers. The ideal candidate for this position would be able to design scalable algorithms for computationally intensive AGI algorithms with non-trivial data structures. He/she would have experience with advanced task and data partitioning methods, and a variety of parallel computing architectures (both MIMD and SIMD, both shared and distributed memory, grid computing, at least). He/she would like to design middle-ware/library code that will facilitate ease of implementation across many architectures, and has working knowledge of both explicit and implicit parallelism. Job responsibilities: – Design, and implement scalable algorithms to solve grand challenges in AGI – Design, and implement solutions for heterogeneous architectures – Design, and implement programming methods and paradigms for exa-scale computing – Analyze and Improve existing parallel algorithms Desired Skills and Experience: – PhD level or similar experience required – Experience in designing scalable parallel algorithms – Can program with functional and imperative languages – Solid understanding of functional parallel programming – Experience with heterogeneous architectures – MPI, CUDA, C++ experience. – Experience with GPGPU algorithm design – Scientific computing and/or data mining experience – Grid/cloud computing experience
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-02/msg00041.htmlContinuing this old thread, David Baelde suggested:
Another (late, but maybe useful) suggestion is to look at bisect: http://bisect.x9c.fr/ It's not a static analysis but a coverage checker. Still, it'll show you entry points, and also dead code, on some example runs. I've tried it recently (on a medium pure OCaml tool) and found it surprisingly easy to use.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-02/msg00044.htmlYotam Barnoy announced said:
Another year has gone by, and Google Summer of Code is upon us again. Unfortunately, it doesn't seem like we're ready to participate this year either (sign up dates for mentoring organizations are Feb 9th to the 20th). After seeing some comments on reddit, I have taken the liberty of establishing 2 pages on the ocaml.org wiki: - GSoC ideas (https://github.com/ocaml/ocaml.org/wiki/GSoC-ideas): this is a list of ideas for projects that students could do. It needs to be filled up and then maintained, so that by next year at least, we actually have something to show google. - GSoC Application (https://github.com/ocaml/ocaml.org/wiki/GSoC-application): a hastily filled out application covering the questions google expects answered. This should also be maintained so that it's pretty much ready to go. Please fill out these pages as much as you can -- particularly the ideas page. I haven't listed any project ideas myself, but I tried to write some guidelines for the kinds of things that could be used as projects.Gabriel Scherer replied:
Thanks for starting this discussion. I've been considering the idea of preparing an OCaml GSoC application for Summer 2016. (It's too early to tell but I'm considering volunteering as a mentor for 2016, while I already know very well that this would be impossible for 2015.) The previous effort led by Sylvain Le Gall and Cristophe Troestler was in 2011. You can find what they collected here: https://forge.ocamlcore.org/plugins/mediawiki/wiki/gsoc-team/index.php/Main_Page I will try to collect some nice GSoC ideas for OCaml and add them to the wiki page.Anil Madhavapeddy also replied:
My experience with GSoC is that they look for a combination of breadth and preparedness, as well as selecting a few smaller organisations that are different every year. I prefer mentoring in these internship programs for projects that use OCaml as a means rather than an end, as the language will improve just by more people using its ecosystem and tools. It's usually counterproductive to expect interns to dive in and fix core compiler bugs, whereas a larger percentage could very valuably get started on things like OPAM, js_of_ocaml or Mirage. Mirage/Xen will definitely be putting in an application this year again, and anyone interested in doing an OCaml related project is very welcome to mail me a suggestion or add it directly to: https://github.com/mirage/mirage-www/wiki/Pioneer-Projects It would be great to see an OCaml application as well, of course, although it might be time better spent organising a page that is maintained on an ongoing basis rather than just for the purposes of GSoC.Jon Harrop later added:
Couple of ideas: · Android support for OCaml. · Replace the backend of GLSurf (which currently generates C code and compiles it with GCC) with a generic library that uses LLVM for run-time compilation of generated code.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-02/msg00071.htmlJulien Signoles announced:
The CEA LIST, Software Security Labs (LSL) is looking for candidates for 2 postdoc positions to begin as soon as possible at Saclay, France. * Quick position descriptions: Both positions include theoretical research and OCaml development related to Frama-C, a framework for code analysis of C programs. 1. Function Synthesis for C Programs from Formal Specifications: the aim of this postdoc is to automatically generate a function body that satisfies a given function contract. This way, it becomes possible to test a function which calls an undefined-but-specified function. See link below for details. 2. Program Transformation for Information Flow Analysis of C Programs: the aim of this 18-months research-engineer position is to improve a program transformation tool which tracks information flows of C programs. See link below for details. * Context: The successful candidates will work in the CEA LIST's new offices located at the heart of Campus Paris Saclay, in the largest European cluster of public and private research. * Requirements: Candidates should have a Ph.D. in Computer Science (at least, the defense is planned soon). They should be familiar with several of the following topics: - functional programming (OCaml) - semantics of programming languages (ISO C 99) - compilation techniques - formal specification - logic (first subject) - information flow security (second subject) * Application: Applicants should send an email to Julien Signoles (Julien.Signoles _at_ cea.fr) including a CV and a motivation letter. * Links: 1. https://bts.frama-c.com/dokuwiki/lib/exe/fetch.php?media=mantis:frama-c:postdoc:sujet_postdoc_generation_from_spec.pdf 2. https://bts.frama-c.com/dokuwiki/lib/exe/fetch.php?media=mantis:frama-c:postdoc:sujet_cdd_information_flow.pdf
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/>. Recursive lists in C++: http://shayne-fletcher.blogspot.com/2015/02/recursive-lists-in-c.html Unikernel demo at FOSDEM: http://amirchaudhry.com/unikernel-arm-demo-fosdem I wrote a book about OCaml (in Portuguese): http://andreiformiga.com/blog/?p=435 Ninth OCaml compiler hacking evening (back in the lab, with a talk from Oleg): http://ocamllabs.github.com/compiler-hacking/2015/02/05/back-in-the-lab.html Release of Bookaml 2.0: https://forge.ocamlcore.org/forum/forum.php?forum_id=920
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.