To: seminaire-gallium-moscova@inria.fr From: Francois.Pottier@inria.fr Subject: SEM - INRIA : Gallium - 15/06/07 - Paris - FR Vous pouvez vous abonner à nos annonces de séminaires http://pauillac.inria.fr/seminaires/ S E M I N A I R E __ / _` _ / / o /| /| __ __ __ __ _ _ / ) __) / / / / / /\/| ----- / |/ | / )(_ / / ) ) ) __) (___/ (_/ (_ (_ / (__/ / | / | (__/ __)(_ (__/ (_/ (_/ I N R I A - Rocquencourt Amphi Turing du bâtiment 1 Vendredi 15 juin, 10h30 ------------ Keiko Nakata ------------ Kyoto University and INRIA ======================================================================= Exploring a type system for recursive modules with applicative functors ======================================================================= The ML module system supports the modular development of large programs. A programmer can factor programs into hierarchy using nested structures and can define functors, which are functions over modules, to reuse program codes. Moreover, signatures, which represent types of modules, allow the programmer to control abstraction of modules. In spite of this flexibility, modules cannot be defined recursively in ML, since dependencies between modules must accord with the order of definitions. A complex program may be naturally decomposed into recursive modules. Yet, this constraint of ML will force the programmer to consolidate conceptually separate components into a single module, intruding on modular programming. Introducing recursive modules is a natural way out of this predicament. In this talk, I will propose a type system for a ML-like module system with recursive modules and applicative functos. Most of existing work on recursive modules focuses on generative functors. While applicative functors provide more flexibility in expressing type sharing constraint between modules, they also require design consideration that does not appear in the case of generative functors. I will explore these problems and present our choices.