Alain Frisch

136 rue de la Croix Nivert, 75015 Paris, France.   Tel: +33 6 12 36 85 02.
alain@frisch.fr     http://alain.frisch.fr
Born May 13th, 1978.   French citizen.

Current position

Since June 2011
Lexifi SAS. Chief Technology Officer.
LexiFi is an innovative provider of software applications and infrastructure technology for the capital markets industry.

Past positions

2007-2011
Lexifi SAS. R&D engineer.
2004-2007
INRIA Rocquencourt (Cristal/Gallium project). Research associate.
XML types & Objective Caml; high-performance streaming XML transformations; exact type-checking techniques. Extending the Objective Caml compiler with dynamic loading of native code.
2006-2007
Wink Technologies (now MyLife). Freelance consulting.
Design and implementation of a specialized search engine, with geocoding features.
2001-2004
École Normale Supérieure (Paris, France). Master's degree & Ph.D from Université Paris 7 (defended in Dec. 2004).
Theory, design and implementation of a functional language adapted to XML. Advisor: Giuseppe Castagna.
2003
Microsoft Research (Cambridge, UK). 3-month research internship.
Structural types and the Microsoft .NET virtual machine. Advisor: Luca Cardelli.
1999
MIT Artificial Intelligence Lab (Boston, US). 4-month research internship.
Applying methods from medical imagery (image segmentation) to the detection of abnormal events on video recorded scenes. Advisor: Olivier Faugeras.
1999
École Normale Supérieure (Paris, France). 3-month research internship in Mathematics.
Fix-point equations of endofunctors and domain equations in CPO,CPO* categories. Advisor: Giuseppe Longo.
Publications in top journals (JACM, TOPLAS) and conferences (POPL, ICFP, LICS, ICALP, DBPL) on programming languages.
Participation in program committees and jury member of a Ph.D thesis award committee.
Detailed research Curriculum Vitae: http://alain.frisch.fr/cv_eng_recherche.html.

Education

2002-2004
Telecom Paris (one of the top French engineering schools), Corps des Telecommunications (now Corps des Mines).
Post-graduate engineering curriculum (for top positions in the French administration).
1998-2002
École Normale Supérieure (top French scientific school; admission on a national competitive exam, rank: 4th).
Undergraduate and graduate studies in Mathematics and Computer Science.
Degrees
Mathematics: Licence,Maîtrise,Agrégation (National teaching diploma).
Computer Science: Master's degree (DEA) on Semantics, Proofs, Languages (grade: 19/20; rank: 1st), Ph.D.
Engineering degree from Telecom Paris (now Telecom ParisTech).
Awards
French honorific prize for high-school students (Concours Général): first accessit in Mathematics. 1996.
Best Ph.D thesis award from the French society of professors and researchers in Computer Science (SPECIF). 2005.

Software development, domains of technical expertise

Domains of scientific expertise
Programming languages: design, compilation, theory.
XML technologies.
Applying functional programming techniques to finance.
Programming languages
Objective Caml: mastering the language and the internals of its compilers (front- and back-ends); programming in Caml(-Light) since 1996; member of the core development team.
Fluent in C, C#, Javascript. Good experience of x86 assembly, Java, PHP, SQL.
Other
Operating systems: system programming on Windows and Unix; GUI programming on Windows.
Database: experience with using and programming PostgreSQL, MySQL, Oracle, Sqlite.
System administration experience with Linux, Solaris, Apache, and with web, database and email servers.
Drupal administration and templating.
Open-source projects
CSML (http://www.lexifi.com/csml)
A type-safe bridge between OCaml and .Net/C#.
Nostalgy (http://alain.frisch.fr/soft_mozilla.html)
A productivity extension for the Thunderbird mail client, written in Javascript and XUL. About 130,000 downloads as of 2010-05-01.
CDuce (http://www.cduce.org)
A strongly-typed higher-order functional language adapted to the manipulation of XML documents. Part of my Ph.D thesis.
About 20 kLoc in OCaml. First released in 2003. About 90 subscribers to the users' mailing list.
OCamlDuce (http://www.cduce.org/ocaml)
A complete extension of the OCaml tool suite that integrates CDuce directly in the OCaml langage.
XStream (http://yquem.inria.fr/~frisch/xstream)
A high-performance streaming compiler for XML transformations written in functional style.
Sudoku (http://alain.frisch.fr/sudoku.html)
A very efficient Sudoku (and Quasigroup with Holes) solver and minimizer. Used to generate the world first minimal 25x25 sudokus and 30x30 QWH puzzles.
Contributions to the OCaml community (http://alain.frisch.fr/soft.html)
Libraries, including: Postgres (bindings to PostgreSQL), SpiderCaml (bindings to Mozilla's Javascript implementation), ulex (lexer generator for Unicode), XPath (an XPath engine)
Various extensions to the compiler (included in the core distribution).
Older projects
Savoirweb (http://www.savoirweb.com/)
Launching with a small team the Savoirweb internet start-up (defining the project, implementing a prototype for the web site; OCaml, Perl, PHP, My-SQL). 2000.
Lector (http://www.vigdor.com/)
Design and implementation (Pascal, x86 assembly) of an electronic book software (with advanced search, annotation and navigation features) for a publisher. 1992.