Ian Piumarta
My professional/academic interests and experience include
object-oriented and highly-reflective programming systems and
languages, programming language implementation, metalinguistic
abstraction and recursive implementation, platform-neutral code
distribution, interpreters and interpretive techniques, virtual
machines, runtime optimisation, highly-portable optimisation
techniques, and dynamic code generation.
I graduated (with honours) in Computer Science in May 1987 at
the University of Manchester (UK). In October 1992 I received a
Ph.D. in Computer Science from the same institution for my work on
code generation techniques for dynamic languages. During my
eight years at Manchester I was involved with the design and
development of a wide range of programming systems, from low-level
assembly language development tools for the PDP-11 through to
implementations of high-level languages such as Scheme and Smalltalk.
I worked for one year on the implementation of the Dylan language,
at Harlequin in Cambridge and IRCAM
in Paris. Then, in 1995, I joined the SOR project at INRIA as an "expert engineer", where I
was involved with reference-based distributed object
systems and distributed garbage collection algorithms. In
1998 I began a collaboration with the Laboratoire d'Informatique de l'Université
Paris VI (LIP6) on a novel, highly-configurable virtual virtual
machine architecture intended to address the development and
deployment needs of many newly-emerging application domains. From 1999
I worked full-time on this project, as a member of
the LIP6, leading the technical research and development work.
Several publications document this
activity.
Early in 2004 I moved from Paris to Palo Alto to join Alan
Kay's Advanced Software Research Group at Hewlett-Packard
Laboratories. My work continued along almost similar lines, building
a highly-dynamic execution environment intended to support systems
such as Alan's Croquet, and
the "$100 laptop",
projects.
As a Smalltalk fanatic I created (and continue to maintain) the
first non-Macintosh port of Squeak
(for Unix/X11 and later Mac OS X). I am contributing actively to
the development of Squeak in my spare time, in particular to the
virtual machine, remote communications facilities, and Squeak-based
"turnkey" consumer appliances. I have contributed to, edited,
and typeset several published books (technical and educational) about,
or based on, Squeak.
Employment and Education
| 2007-01 - today |
Senior Computer Scientist - Viewpoints Research Institute
Searching for computing's equivalent of the Bose-Einstein
Condensate.
Two questions occupy most of my thoughts: how can we eliminate the
accidental complexity that is stifling computing (and put some of
the beauty back into the discipline), and how small (physically and
conceptually) can a self-describing, self-bootstrapping,
self-hosting, self-sustaining computing system be? The two
questions are intimately related.
This work is now
an integral part of a five-year, multi-million dollar research
project funded by the National Science
Foundation.
|
| 2005-12 - 2006-12 |
Senior Computer Scientist - Foundation Systems
(consulting full-time for Viewpoints Research Institute)
See above.
|
| 2004-04 - 2005-12 |
Senior Systems Software Engineer - Hewlett-Packard Laboratories
I was a member of Alan Kay's Advanced Software Research
Group at HP Labs, building a VVM-like runtime architecture to
support the needs of the Croquet project. In contrast to earlier
work more emphasis is being placed on integration (header-level
compatibility with platform libraries and OS services) and
configurable resource utilisation characteristics (multiple
interoperable execution paradigms, pluggable garbage collectors,
etc.) to better support both high-end and resource-constrained
target platforms. C++ has also been removed entirely from the
VVM-inspired portions of the work, eliminating the remaining barrier
to late-bound behaviour at all levels within the system by making
the "kernel" language support both static and dynamic compilation
models within a single execution model. The entire self-describing
universe can (at long last) be created from nothing.
|
| 1999-07 - 2004-03 |
Researcher - Laboratoire d'Informatique de l'Université Paris 6
My research activities were centred around highly-configurable
virtual machine architectures that can be dynamically reconfigured to support different
bytecoded (or other) languages. Such architectures offer solutions to many of the design,
deployment and maintenance problems of distributed/agent-based/highly-interoperable systems,
"smart card" applications, and embedded systems. The research issues cover a wide range of
disciplines: Unification of interpreted and compiled implementation techniques, dynamic
optimisation, language-neutral data and program representation, programming language semantics,
security and behavioural verification, and real-time/extensible operating systems, etc.
|
| 1995-02 - 1999-06 |
Expert Engineer - INRIA Rocquencourt
I was a member of the SOR project (Systèmes d'Objets Répartis) working
on distributed object systems in the context
of the SSP Chains project, sponsored by the CNET (Centre National d'Etudes des
Télécommunications, the research arm of France Telecom). SSP Chains use
reference-tracking for distributed object location and management, incorporating RPC-based remote
invocation and a precise, distributed garbage collector.
|
| 1993-12 - 1995-01 |
Software Engineer - Harlequin
I was a member of the Symbolic Processing Division, working on compiler back-end technology for a
Dylan compiler, based at IRCAM in Paris and Harlequin in Cambridge. I was also involved with
collaborative research in the context of the ESPRIT "OMI/GLUE" project, with particular interest
in the development of ANDF (the OSF's Architecture Neutral Distribution Format which grew from
work on TDF by the UK Defence Research Agency) as a delivery vehicle for Dylan. As part of
this work I contributed to the evolution of the ANDF specification (developing its support for
functional languages), and developed a Dylan "producer" for ANDF.
|
| 1992-03 - 1993-11 |
Research Associate - University of Manchester
I was a member of the Medical Informatics Group working on GALEN, a European AIM (Advanced
Informatics in Medicine) project. Our work centred on a novel terminological (semantic)
network (written in Smalltalk) for representing medical terminology for use in diverse applications
such as translation between different medical coding schemes, conversion of structured medical
data into natural language, and data-driven dynamic generation of information entry forms for
medical applications. My contributions included a graphical browser for semantic network
content, and a comprehensive GUI toolkit designed primarily to support program-generated
interfaces. A reduced version of this toolkit is available from: ftp://st.cs.uiuc.edu/Smalltalk/MANCHESTER/manchester/4.1/interactors/.
I also contributed a "scripting" language for integrating the various components of the GALEN
architecture. This led to an extensible Lisp-like "kernel" running within Smalltalk.
The framework, along with example implementations of Scheme and a subset of Common Lisp, is
available from ftp://st.cs.uiuc.edu/Smalltalk/MANCHESTER/manchester/4.1/lisp/.
|
| 1991-01 - 1992-02 |
Research Associate - University of Manchester
I was a member of a small project investigating object-oriented support for multimedia
applications. I developed a language-independent object model, a scheme for shared object
locking in distributed applications, and contributed to the design of a reference-tracking
object location service.
|
| 1987-09 - 1991-01 |
Ph.D. Student - University of Manchester
My Ph.D. work began by investigating compilation strategies for Smalltalk on the MUSHROOM
(Manchester University Software and Hardware Realisation of an Object-Oriented Machine)
architecture - a RISC-based platform with various hardware peculiarities designed to better
support dynamic, object-oriented languages. The lack of hardware (and a fast emulator)
dissuaded me from going too far in that direction. I decided to investigate the compilation
of Smalltalk directly to 68020 native code instead. This led to the invention of delayed code generation, a
technique for efficiently generating high-quality native code in single-pass compilers. My
Smalltalk compiler generated 68020 code that outperformed the contemporary Xerox PARC (PS2.3)
implementation (which also used dynamic translation to native code) by a factor of 3.5 on the
standard Smalltalk "Green Book" benchmark suite.
|
| 1989-05 - 1989-11 |
Research Assistant - University of Manchester
I took a six-month break from my Ph.D. to work as a full-time research assistant, implementing
Scheme for the REKURSIV architecture. The compiler generated bytecodes that were either
interpreted (by a portable virtual machine written in C) or implemented directly in microcode (on
the REKURSIV hardware). This project was terminated prematurely with the demise of Linn
Smart Computing, the company responsible for the REKURSIV chipset.
|
| 1987-06 - 1987-09 |
Summer Intern - University of Manchester
I populated and debugged a prototype PCB for a 68010-based microcomputer. I then took an
existing "monitor" program that I had previously developed for a home-made 68010 machine, and
added a disassembler and other debugging utilities to it for use in the prototype.
|
| 1985-06 - 1985-09 |
Summer Intern - University of Manchester
As part of the first year undergraduate course in Computer Science, the University taught assembly
language programming on an old PDP-11/70 supporting 16 users, each having a "satellite" LSI-11
machine. To improve the situation I spent 6 weeks designing and implementing a standalone
editor and assembler which ran within the LSI-11s, leaving the central PDP-11 responsible only for
providing filestore and printing services. The system that I developed was used for
undergraduate teaching during the following three years.
|
| 1984-09 - 1987-05 |
Undergraduate Student - University of Manchester
A considerable component (3 months) of the third year was devoted to project work. I worked
with two other students to design and implement a 32-bit, microprogrammable CPU with configurable
word size and byte order. Our "vision" was a single piece of hardware that could be a 6502,
a PDP-11 or a 68000, depending on the phase of the moon. The CPU was wire-wrapped on three
triple-size eurocards using AMD bit-slice components. I also wrote the microassembler for
this machine, in C running under AT&T Unix on a MicroVAX, and built the front-end interface
(that connected the entire CPU to a 6502-based personal computer, as a "slave" processor).
|
Academic Qualifications (Post-Secondary Education)
| 2001-03 |
Qualification aux fonctions de maître de conférences
A formal qualification conferring the right to assume a position of Assistant Professor within the
French university system. |
| 1992-10 |
Ph.D. in Computer Science - University of Manchester (UK)
Dissertation: Delayed Code Generation in a Smalltalk-80 Compiler
|
| 1987-05 |
B.Sc. in Computer Science - University of Manchester (UK)
Class 2(i), with honours.
|
| 1984-06 |
S-Level qualifications
Physics, grade 1.
|
| 1984-06 |
A-Level qualifications
Physics, grade A.
Computer Science, grade A.
General Studies, grade B.
Further Mathematics (Pure and Applied), grade D.
|
| 1983-06 |
A-Level qualifications
Mathematics (Pure and Applied), grade A. (Examination taken one year early.)
|
| 1982-03 |
Miscellaneous
Royal Schools of Music certificate in Classical Guitar Grade 5 (intermediate),
133 points out of 135 possible, with distinction.
|
Notes: A-Level ("advanced") examinations are usually taken at the age of 17 or 18, and are
prerequisites for entrance to a British university. Grades run from "A" (best) to "E" (worst) with
"F" being fail. S-Level ("special") examinations are taken at the same time, are purely voluntary,
and cover material beyond that taught in A-Level courses (corresponding to first-year university
level). Grades run from 1 (best) to 4 (worst) with "F" being fail.
Teaching Experience
- University course: Principles of Operating Systems
- ISTM, Université Léonard de Vinci, Paris
- lectures, tutorials and practicals
- course presented during two consecutive years
- Postgraduate supervision
- supervisor and advisor for many successful DEA (masters) and thesis
(Ph.D.) students at INRIA and University of Paris 6
- served as examiner for several theses
- Miscellaneous
- teaching assistant for industrial courses on C, C++ and Smalltalk
- teaching assistant for undergraduate laboratory work
- various academic seminars and tutorials
Other Professional Duties
I have served (or am serving) on the following conference, symposium
and workshop programme committees:
- Sixth International Conference on Creating, Connecting and Collaborating through Computing (C5 2008)
- ACM SIGPLAN Dynamic Languages Symposium (DLS 2007)
- Fifth International Conference on Creating, Connecting and Collaborating through Computing (C5 2007)
- Dynamic Languages Symposium (DLS 2006)
- Fourth International Conference on Creating, Connecting and Collaborating through Computing (C5 2006)
- ACM SIGPLAN Workshop on Interpreters, Virtual Machines and Emulators (IVME'04)
- International Workshop on Language Agnostic Runtime Support (OOPSLA 2003)
- ACM SIGPLAN Workshop on Interpreters, Virtual Machines and Emulators (IVME'03)
- International Workshop on Language Agnostic Runtime Support (OOPSLA 2002)
Selected Areas of Technical Expertise
- Processor Architectures
- including 6502, Z80, PDP-11, M68000, RS6000/PowerPC, IA32 (x86), Sparc
- Programming Languages
- assembly languages (all of the above architectures)
- C, C++, Objective-C, Smalltalk, Lisp (various), and many other less interesting languages
- Operating systems
- CP/M, Mac OS (8 through X), Unix (BSD and derivatives, Linux, OSF/1, HP-UX, Irix)
- Unix system administration (on all of the above)
- Environments
- Unix system programming (standard libraries, networking, X11, etc.)
- MPW (Mac Carbon), OS X (Foundation, AppKit, various Core frameworks, etc.)
- Programming tools
- lex/yacc (and derivatives), cpp, m4, make, awk, sed, and all the other standard tools you can think of
- Distributed system implementation
- client/server architectures, RPC techniques
- distributed garbage collection, reference tracking mechanisms, etc.
- Programming language implementation
- source and program analysis, intermediate forms, static optimisation, code generation
- metalanguages and runtime metadata representations
- virtual machine and interpreter implementation
- runtime optimisation (dynamic change of representation, dynamic code generation, etc.)
- portable execution mechanisms (tree/structure interpreters, bytecode, threaded code, etc.)
- Computer typesetting and document preparation systems
- LaTeX and TeX (class/style package design, prepress typesetting of articles and books, etc.)
- FrameMaker, Tgif, and other graphical tools
- Hardware
- Digital electronics, microcomputer design, prototyping
Personal Information, Skills and Interests
I was born in Devizes, Wiltshire (UK), on 7 July 1966. I am an
European citizen holding: a British passport, driving licenses in
California and France, a recreational boating license in Australia,
and a pilot's license in the USA. My personality type (according to
Myers-Briggs and Keirsey) is (a somewhat extreme)
INTP.
I am fluent in English and French.
I am interested in all aspects of science but in particular physics,
astronomy, and cosmology.
I enjoy any and all forms of music that are in some way original.
When time permits I enjoy playing classical guitar and have played
electric guitar in several folk and rock groups since the age of 15.
|
I have been intrigued by the (black art and) science of
high-fidelity audio reproduction for at least twenty years.
Dissatisfied with almost all commercial, so-called "audiophile",
products I have now turned to designing and building my own high-end
audio equipment. I am still very much convinced of the superiority of
analogue over digital media, and am currently (just) managing to
resist abandoning "solid state" entirely in favour of "vacuum state"
electronics. (None of this is due to "Luddite" prejudice but rather
an absolute refusal to abandon quality in the name of convenience,
profit-driven technological "progress", or the economic interests of
mass marketeers.) |
 |
|
I am fascinated by all aspects of aviation (private and
commercial) and ATC operations. I hold a private pilots's license
(single-engine land and sea) to which I am slowly adding additional
endorsements and ratings. Most of my primary training was done at Palo Alto before moving to
LA. I now fly out of Santa
Monica airport and have logged approximately 200 hours. |
 |
Selected Publications
Refereed conference and workshop papers
- Ian Piumarta.
Open, extensible composition models.
In Proceedings of the 1st Workshop on Free Composition (FREECO) 2011.
ACM, New York, NY. (To appear.)
- Ian Piumarta.
An association-based model of dynamic behaviour.
In Proceedings of the 1st Workshop on Free Composition (FREECO) 2011.
ACM, New York, NY. (To appear.)
- Ian Piumarta.
PEG-based transformer provides front-, middle- and back-end stages in a simple compiler.
In Proceedings of the 2nd International Workshop on Self-Sustaining Systems (S3) 2010.
ACM, New York, NY. ISBN 978-1-4503-0491-7
DOI 10.1145/1942793.1942796
- Ian Piumarta and Alessandro Warth.
Open, Extensible Object Models.
In Proceedings of the 1st International Workshop on Self-Sustaining Systems (S3) 2008.
Published as Lecture Notes in Computer Science, Volume 5146, Springer,
October 2008. ISBN 978-3-540-89274-8
- Alessandro Warth and Ian Piumarta.
OMeta: an object-oriented language for pattern matching.
In Proceedings of the 2007 ACM Symposium on Dynamic Languages (DLS 2007).
ISBN 978-1-59593-868-8
- Ian Piumarta.
The virtual processor: fast, architecture-neutral dynamic code generation.
In Proceedings of the 3rd USENIX Virtual Machine Research and Technology Symposium (VM'04),
pp. 97-110, San Jose, CA, USA, 2004.
- Frédéric Ogel, Gaël Thomas, Bertil Folliot and Ian Piumarta.
Application-level concurrency management. In proceedings of the
NATO Advanced Research Workshop on Concurrent Information Processing
and Computing (CIPC 2003), pp. 193-201, Sinaia, Romania, July
2003.
- Frédéric Ogel, Simon Patarin, Ian Piumarta and Bertil Folliot.
A Self-Adapting Web Proxy Cache.
In Proc. 5th Annual Workshop on Autonomic Computing, HPDC 12, Seattle, Washington, 25 June 2003.
- Frédéric Ogel, Simon Patarin, Ian Piumarta and Bertil Folliot.
C/SPAN: a Self-Adaptive Web Proxy Cache.
In the Proceedings of the 5th International Workshop on Active Middleware Services (AMS 2003),
Seattle, Washington, June 2003.
- Frédéric Ogel, Bertil Folliot and Ian Piumarta.
On Reflexive and Dynamically-Adaptable Environments for Distributed Computing.
In Proc. 3rd International Workshop on Distributed Auto-adaptive and
Reconfigurable Systems, ICDCS'2003, IEEE, Providence, Rhode Island, May 2003.
- Ian Piumarta.
YNVM - an implementation engine for runtime support.
OOPSLA'02 Workshop on Language-Agnostic Runtime Support, Seattle, Washington, 4 November 2002.
- Bertil Folliot, Ian Piumarta, Lionel Seinturier, Carine Baillarguet, Christian Khoury, Arthur
Léger and Frédéric Ogel.
Beyond flexibility and reflection: the virtual virtual machine approach.
NATO Advanced Research Workshop on Environments, Tools and Applications for Cluster
Computing. LNCS 2326, Springer-Verlag, pp. 17-26, 2002.
- Gaël Thomas, Bertil Folliot and Ian Piumarta.
Les documents actifs basés sur une machine virtuelle.
In Actes de la conf. Journées des Jeunes Chercheurs en Systèmes,
Chapitre français de l'ACM-SIGOPS, pages 441-447, Hammamet, Tunisie,
April 2002.
- Christian Khoury, Bertil Folliot and Ian Piumarta.
AAN: An Highly-Reflective Active Network.
In Proc. 20th IASTED Conference on Applied Informatics, Innsbruck, Austria, February 2002.
- Ian Piumarta.
YNVM: dynamic compilation in support of software evolution.
In Proc. Engineering Complex Object-Oriented System for Evolution, OOPSLA, Tampa Bay, Florida, October 2001.
- Ian Piumarta, Frédéric Ogel, Carine Baillarguet and Bertil Folliot.
Applying the VVM Kernel to Flexible Web Caches.
In Proc. IEEE Workshop on Hot Topics in Operating Systems, HOTOS-VIII, Schloss Elmau, RFA, pp. 155, May 2001.
- Bertil Folliot, Damien Cailliau, Ian Piumarta and Remi Bellenger.
PLERS: Plateforme Logicielle Reconfigurable pour Satellites - Application au satellite COROT
In Proc. Rencontres Francophones du Parallélisme (RenPar2000), Besancon, France, June 2000.
- Ian Piumarta, Bertil Folliot, Lionel Seinturier and Carine Baillarguet.
Highly-configurable operating systems: the VVM approach.
In Proc. ECOOP'2000 Workshop on Object Orientation and Operating Systems, Cannes, June 2000.
- Bertil Folliot, Ian Piumarta and Lionel Seinturier.
Reflective and Middleware Features of the Virtual Virtual Machine.
In Proc. Workshop on Reflective Middleware, IFIP/ACM International Conference on Distributed Systems
Platforms and Open Distributed Processing, Middleware'2000, New York, USA, pp. 8-9, April 2000.
- Ian Piumarta.
CCG - A Tool for Writing Dynamic Code Generators.
OOPSLA'99 Workshop on Performance and Portability in Virtual Machines, Denver, Colorado, 2 November 1999.
- Carine Baillarguet and Ian Piumarta.
An Highly-Configurable, modular system for mobility, interoperability, specialization, and reuse.
2nd ECOOP Workshop on Object-Orientation and Operating Systems, Lisbon, Portugal, June 1999.
- Bertil Folliot, Ian Piumarta and Fabio Riccardi.
A Dynamically-Configurable, Multi-Language Execution Platform.
In Proc. ACM/SIGOPS European Workshop, Sintra, Portugal, September 1998.
- Ian Piumarta and Fabio Riccardi.
Optimizing direct-threaded code by selective inlining.
In Proc. 1998 ACM SIGPLAN Conference on Programming
Language Design and Implementation (PLDI'98), 17-19 June 1998,
Montreal, Canada.
- Fabrice Le Fessant, Ian Piumarta and Marc Shapiro.
An implementation of complete, asynchronous, distributed garbage collection.
In Proc. 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation
(PLDI'98), 17-19 June 1998, Montreal, Canada.
- Fabrice Le Fessant, Ian Piumarta and Marc Shapiro.
A detection algorithm for distributed cycles of garbage.
OOPSLA'97 Workshop on Garbage Collection and Memory Management, October 1997, Atlanta, USA.
- Bertil Folliot, Ian Piumarta and Fabio Riccardi.
A Virtual Virtual Machine.
In Proc. 4th Cabernet Radicals Workshop, Crete, September 1997.
- Ian Piumarta.
SSP Chains.
OOPSLA'96 Workshop on Support for Distributed Objects, San Jose, October 1996.
- Aline Baggio and Ian Piumarta.
Mobile Host Tracking and Resource Discovery.
Seventh ACM SIGOPS European Workshop on Systems Support for Worldwide Applications,
9-12 September 1996, Connemara, Ireland.
- Ian Piumarta.
SSP Chains - from Mobile Objects to Mobile Computing.
ECOOP'95 Workshop on Mobility and Replication, Aarhus, Denmark, August 1995.
- Ian Piumarta.
Delayed Code Generation.
OOPSLA'94 Workshop on Object-Oriented Compilation, Portland, Oregon, October 1994.
Journal and other articles
- Fréderic Ogel, Gaël Thomas, Bertil Folliot and Ian Piumarta.
Application-level concurrency management.
In A. Nicolau and D. Grigoras (editors), Concurrent Information
Processing and Computing, volume 195, pp. 19-30. NATO Science
Series III, 2005.
- Gaël Thomas, Frederic Ogel, Antoine Galland, Bertil Folliot and Ian Piumarta.
Building a flexible Java runtime upon a flexible compiler.
In Jean-Jacques Vandewalle, David Simplot-Ryl and Gilles Grimaud
(editors), Special Issue on Systems & Networking for Smart Objects,
IASTED International Journal on Computers and Applications, volume
27, pp. 28-47. ACTA Press, 2005.
- Frédéric Ogel, Gaël Thomas, Ian Piumarta, Antoine Galland, Bertil Folliot and Carine Baillarguet.
Towards active applications: the virtual virtual machine approach.
In Mitica Craus, Dan Gâlea and Alexandru Valachi (editors), New Trends
in Computer Science and Engineering, POLIROM
Press, 2003. ISBN 973-9476-40-6
- Ian Piumarta. Porting the Squeak Virtual Machine. In Mark
Guzdial and Kim Rose (eds.), Squeak - Open Personal Computing and
Multimedia, Prentice Hall, 2002. ISBN 0-13-028091-7
- Ian Piumarta. Is there life after Corba? Object Expert, April 1996.
Technical Reports and Whitepapers
-
Alan Kay, Ian Piumarta, Kim Rose, Dan Ingalls, Dan Amelang, Ted Kaehler,
Yoshiki Ohshima, Charles Thacker, Scott Wallace, Alex Warth, Takashi Yamamiya.
STEPS Toward The Reinvention of Programming.
First annual report of the STEPS project.
-
Alan Kay, Dan Ingalls, Yoshiki Ohshima, Ian Piumarta, Andreas Raab.
Proposal to NSF Granted on August 31, 2006
STEPS Project proposal to the NSF.
-
Ian Piumarta.
Accessible Language-Based Environments of
Recursive Theories.
A white paper inciting pogrammers to widespread unreasonable behavior.
- Ian Piumarta.
Description and evaluation of the initial Dylan producer and runtime.
ESPRIT project 6062 deliverable 4.2.2b, April 1994.
Invited Presentations
- Late-bound object-lambda architectures. Keynote talk,
First Workshop on Self-Sustaining Systems (S3), Potsdam, Germany, May 2008.
- Steps Toward the Reinvention of Programming. Invited talk,
Kyoto University, March 10 2008, Japan.
- Steps Toward the Reinvention of Programming. Keynote talk,
10th Workshop on Programming and Programming Languages (PPL), March
2008, Sendai, Japan.
- Open, extensible programming systems. Keynote talk, Dynamic
Languages Symposium 2006, Portland, Oregon, 23 October
2006.
- Making COLAs with Pepsi and Coke - implementing dynamic, open programming systems.
Sun Microsystems Laboratories, Menlo Park, California, 11 November 2005.
- Pepsi et Coke - vers une vers une théorie intègrale des COLAs.
University of Paris 6, Paris, France, 29 June 2005.
- Extremely-Late Binding - why syntax, semantics and pragmatics should be first-class values.
Keynote speech, 11th ESUG Smalltalk Conference, Bled, Slovenia, 23-29 August 2003.
- On Reflection, Intercession and Implementation as a First-Class Property.
Sun Microsystems Laboratories, Mountain View, California, 10 June 2003.
- La VPU, un compilateur dynamique omniprésent.
Laboratoire PRiSM, Université de Versailles, 31 May 2002.
- Conception et implémentation d'un compilateur dynamique polyvalent.
IRISA/INRIA Rennes, Rennes, France, 25 October 2002.
- Reflexive, Adaptive and Virtual Virtual Machines.
Laboratoire d'Informatique de l'Université Paris 6, Paris, France, 27 April 2000.
- Optimising the interpretation of bytecoded languages.
Vrije Universiteit Brussel, 2 December 1998, Brussels, Belgium.
- Squeak!
Vrije Universiteit Brussel, 1 December 1998, Brussels, Belgium.
- Machines Virtuelles2.
Institut de recherche en informatique et systèmes aléatoires (IRISA/INRIA Rennes),
Rennes, France, 16 November 1998.
- An introduction to Squeak and its implementation.
6th ESUG Smalltalk Conference, Brescia, Italy, September 1998.
- SSP Chains: lightweight, distributed objects.
Laboratoire d'Informatique de l'Université Paris VI (LIP6), June 1997, Paris, France.
- SSP Chains: a protocol for reliable remote references.
OMG Technical Conference, Stresa, Italy, May 1997.
- Making Smalltalk with a Lisp.
3rd ESUG Smalltalk Conference, Utrecht, Netherlands, August 1995.
- Interfacing Smalltalk with the Real World.
3rd ESUG Smalltalk Conference, Utrecht, Netherlands, August 1995.
- Delayed Code Generation: a technique for producing near-optimal code
in recursive descent compilers and tree-walking code generators.
Department of Computer Science, University of Manchester, 23 November 1992.
- Performance of the Smalltalk-80 User-Primitive Interface.
1st ESUG Smalltalk Conference, Paris, France, February 1991.
References
Current and recent research and development activities:
Dr. Alan Kay
alan.kay@squeakland.org
Prior research, teaching and other professional matters:
Professor Bertil Folliot
bertil.folliot@lip6.fr
Technical and community involvement with Squeak:
Dan Ingalls
dan.ingalls@squeakland.org
Previous Employers' Addresses
Foundation Systems, Inc.
731 Market St.
San Francisco, CA 94103
USA
consulting full-time for
Viewpoints Research Institute
1209 Grand Central Avenue
Glendale, CA 91201
USA
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto, CA 94304
USA
Université Pierre et Marie Curie (Paris 6)
4, place Jussieu
75252 Paris Cedex 05
France
INRIA Rocquencourt
B.P. 105
78153 Le Chesnay Cedex
France
Harlequin Ltd.
Barrington Hall
Barrington
Cambridge
CB2 5RG
United Kingdom
IRCAM
1, place Igor Stravinsky
75004 Paris
France
University of Manchester
Oxford Road
Manchester
M13 9PL
United Kingdom
Bugs
This CV complies with guidelines set out for US immigration purposes, with
the unfortunate result that it is now much longer than it aught to be.