Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Didier Le Botlan's web page
[go: Go Back, main page]




Saarland University
Computer Science
Programming Systems
Didier Le Botlan




Alice
MLF

Didier Le Botlan

Personal information

My CV, in french, is available for download: cv.ps cv.pdf. You might be interested by the LaTeX source.

Phone ++49 681 302 5609
Fax ++49 681 302 5615
Office building 45 room 524
Address Didier Le Botlan
Universität des Saarlandes
Postfach 15 11 50
66041 Saarbrücken
Germany
Email My email adress is botlan put-here-the-at-sign ps.uni-sb.de
my face, the day my son first came home

Current Work

I have joined the Programming System Lab in January 2004 and work on the Alice project.

Alice Inspector
I am currently working on a new design of the Alice Inspector. The Inspector is a tool which can dynamically display any Alice value, show any run-time changes, and allow the user to explore the structure interactively.
Abstract Types
Hiding the underlying implementation of libraries through abstract types is a well-known technique for handling complexity. By hiding implementation details, programs can be understood and developed in distinct modules and the effects of a change can be localized. I have learnt some of the typing techniques used in functional languages for providing a satisfactory level of abstract types (usually at the modules level). First-class polymorphism (which I studied in my PhD) allows the programmer to handle first-class existential types, using a well-known encoding. This gives encapsulation (or type abstraction) at the value level, in complement of usual type abstraction, which are at the module level. Thanks to type inference, the amount of required type annotations is quite small. More details can be found in my thesis. The interaction between dynamic loading of components (as found in Alice) and abstract types yields serious problems. This topic has been addressed by Andreas Rossberg.
Constraint solving
I develop part of the interface between Alice and the brand new GECODE constraint library by providing higher-level abstractions more suitable to a functional language. These abstractions were designed by another member of the team, namely Guido Tack. They provide easy way to program search algorithms for constraint solving. I also use them in the implementation of a modular distributed search engine, which solves a constraint problem by using different networked computers. As an example, the Branch & Bound optimization is used transparently in the distributed search: found solutions are immediately propagated to other computers in order to optimize the rest of the search.
Concurrency
The distributed search engine has to deal with concurrency (that is, concurrent threads handling common data structures), using Alice primitives. Another higher-level form of concurrency is the Join-Calculus, which I have encoded within Alice. This encoding takes advantage of Alice built-in abstractions such as futures.

A first lesson of German: "Alice" is pronounced "Stockhausen".

Previous Work: PhD thesis

My PhD work was about adding first-class polymorphism to the ML language. The resulting language is called "MLF". More information can be found on my previous webpage, at INRIA.

You can download

The defense took place on May, 6th at Ecole Polytechnique (France, next to Paris).

European Projects

Some restricted-access information about European Projects.

Eating Fractals

Some vegetables are known to have a fractal shape. I once found a "chou romain" (Roman Cabbage) very similar to broccoli, but far more fractal. Look at the picture of this fractal vegetable.

Pictures

Here are some pictures of my son.

Computer Stuff

A page dedicated to some computer-related information.

Valid HTML 4.01! Valid CSS!