Programming Language and Compiler Research Groups
Multi-site working groups and projects are listed at the bottom. Also
see this page of pointers to
online computer science technical reports.
the language research page
- Brussels Free University,
Department of Computer
- Programming Technology Lab
- Agora project
Agora is a prototype-based object-oriented programming language
featuring encapsulated inheritance on objects.
OPUS is the theoretical counterpart of Agora. The main motivation of
research project is to design an elementary calculus to express
It should model the crucial features of object-oriented programming in an
- Carnegie Mellon University
Advanced languages and compilers for real-world systems programming.
(Served by the
The FoxNet Web Server, which is written completely
in an extension of Standard ML.)
- The MESS Project.
Semantics-based techniques for compiling advanced programming
NESL, a data-parallel language with nested parallelism;
supercomputer compilation techniques, including
data representation and layout.
Programming and specification language design, semantics, and
implementation; concurrent and distributed systems; databases and
persistent objects; software development libraries and
- Chalmers University of Technology
Functional Programming Group.
Programming logics and the Martin-Löf theory of types; functional
programming languages, their use and implementation; process calculi
such as CCS; developing tools and methodologies for deriving correct
as well as efficient programs.
- Digital Equipment Corporation (DEC)
- DFKI, the German Research Center for AI
- European Computer-Industry Research Centre (ECRC)
Facile is a high-level, higher-order programming language for systems
that require a combination of complex data manipulation and concurrent
and distributed computing. It combines Standard ML, with a model
of higher-order concurrent processes based on CCS.
- Glasgow University
- The Formal Methods and Theory Group.
- The Functional Programming Group.
Haskell language and implementation; state, input/output, and
concurrency; semantics based program manipulation; applications of
category theory and type theory; parallel functional programming;
functional languages for massive parallelism; using functional
languages for hardware specification, synthesis and analysis; large
applications of functional languages.
DBPL is a type-complete modular database programming language that
extends Modula-2 orthogonally by a data type relation, access
abstractions, persistent modules and transactions.
- The P-Quest Project.
P-Quest is a persistent version of the polymorphic programming language Quest.
Tycoon is a polymorphic persistent programming environment for
the development of data-intensive applications in open environments.
- Imperial College
- Indiana University
- INRIA Rennes
Logic programming language design and implementation.
- INRIA Rocquencourt
- The Charm Project.
Attribute grammars (esp. the FNC-2 system), program
analysis, compiler construction and generation.
- Projet Cristal.
Formalisms of static typing for programming languages, and their
use in the design and the implementation of robust and efficient tools
for typed programming, including the Caml and Caml Light
- Projet LANDE
Implementation of functional and logic programming languages,
program analysis, program transformation, memory, management,
formally-based software engineering tools for declarative languages,
- The partial evaluation project
Partial evaluation is a program transformation that
specializes a program, prior to its execution, with respect to invariants available at compile time.
- Kansas State University
Programming Language Semantics Group.
Stackability of functional and imperative languages,
computational aspects of classical linear logic, applications of type
theory, full abstraction and the applied typed lambda calculus PCF.
- Royal Institute of Technology, Sweden
Declarative programming of Parallel Systems (PDP) group.
Implementation of declarative languages,
mainly on parallel computers; integration of parallel programming
primitives with declarative languages; lazy functional languages and
data parallel programming.
- Microsoft Research
Program Analysis Group.
The value dependence graph IR, slicing of real (large) programs,
combined register allocation and instruction scheduling.
- Melbourne University
Mercury is a strongly typed logic programming language that
is also strongly moded and strongly deterministic. It contains no
non-logical constructs (like cut) and, in particular, I/O is logical.
- Northeastern University
Programming Language Semantics Group.
Compiler correctness, verified Scheme implementation, machine
support for compiler correctness proofs, complexity of type inference
problems, object-oriented programming.
- Ohio State University
- Oregon Graduate Institute
- The Pacific Software Research Center.
Generator-based program development, formal methods of program.
development, program transformation techniques, functional
programming, reflection, and algebraic programming.
Research in high-performance compilers: advanced analyses and
optimizations for high-performance computing, ranging from code
generation for superscalar RISCs to HPF support for MPP's.
Applying incremental specialization to create operating systems
which are both highly modular and high-performance.
- Oregon State University
- The Leda Project.
Leda is a multiparadigm programming language that supports
imperative programming, object-oriented programming, logic
programming, and functional programming.
- Oxford University
Hardware Compilation Group.
occam-like languages directly into digital hardware,
targeted to FPGA (Field Programmable Gate Arrays).
PRECC - Prettier Compiler Compiler tool.
This tool was developed from work on the collaborative REDO Project on
Programming Research Group.
The Occam programming language, software and hardware
correctness, the functional programming language Orwell, and the 2OBJ
logical framework for theorem proving.
- Penn State University
- Rice University
- Rutgers University
- The PROLANGS Research
(Programming Languages) studies code transformation,
semantic analysis, parallel hybrid analysis, and other aspects for
writing and optimizing programming languages.
- The Bench++ Project provides an "official" suite of C++ benchmarks.
- Stanford University
Research in models of concurrent behavior.
- The SUIF compiler group.
Research on parallel
programming languages, automatic parallelization, interprocedural
analysis, compiling for distributed memory machines, etc.
- Sun Microsystems Laboratories
The Self Project
Papers on the Self language (a classless object-oriented
language) and on compiler optimizations for OO languages;
documentation and binaries of current Self system.
- Swedish Institute of Computer Science
- The Programming Systems
Constraint logic programming (CLP) and concurrent constraint
programming (CCP) languages and systems
(SICStus Prolog and AGENTS). Constraint
solvers, parallel execution, program analysis and transformation,
compilation, memory management, applications to design and scheduling.
- Technische Universität Berlin
- The OPAL Project.
Design and implementation of an algebraic programming language
which amalgamates concepts from functional programming and algebraic
- University of Berne
- The Software Composition Group
Formal semantics of concurrent object-oriented languages; development
of models and languages to specify software components for open systems.
- University of Birmingham
- University of Calgary
- Charity; a categorical programming language
Charity interpreter code, papers and a synopsis of ongoing work can be found at the charity home page.
- University of Copenhagen
TOPPS group of DIKU.
Semantics-based program analysis and manipulation, including
- University of Illinois at Urbana-Champaign
Concert is a compiler for a fine-grained concurrent object-oriented language.
Optimizing superscalar and parallelizing compilers for imperative
- University of Karlsruhe
Martin Odersky's research group.
Formal methods for the definition of programming languages and the
design and manipulation of programs. Special areas of interests are
program calculi, type systems, semantics of programming languages, and
programming language implementation.
Modula-2* Parallel Programming Environment.
A high-level explicitly parallel imperative programming language.
- University of Maryland
- The Omega Project.
Frameworks, algorithms and software for analyzing and
transforming scientific programs.
- University of Massachusetts, Amherst
Object Systems Laboratory.
memory system performance;
design and implementation of persistent programming languages;
persistent object stores;
- University of North Carolina, Chapel Hill
- The Proteus Project.
Specification, prototyping, analysis and generation of parallel
- University of Nottingham
- The Functional Programming Group.
Design, implementation and application of programming languages
in general, and functional languages in particular.
- University of St. Andrews
- The Persistent
Research in database programming languages. Access to a number of
papers on persistence and the database programming languages PS-algol and
- University of Technology,
Shape Project in the
Algorithms and Languages Group.
Shapely Types are a new concept which advocates the
separation of shape and data. This has applications in the following
shape polymorphism and shapely types in programming
languages; shape analysis; shapely
parallel programming; application to scientific computation,
programming language design.
- University of Trier, Germany
Fork95 compiler project
Fork95 is a parallel programming language for PRAMs that
covers many important parallel programming paradigms.
- University of Toronto
- University of Washington
- The Cecil/Vortex project.
Cecil is a pure object-oriented language incorporating
multi-methods and predicate classes. Vortex is an optimizing compiler
infrastructure for object-oriented and other high-level languages. It
targets both pure object-oriented languages like Cecil and hybrid
object-oriented languages like C++ and Modula-3.
- The Constraint-Based Languages and Systems project.
Research on constraint imperative programming, constraint logic
programming, constraint hierarchies, constraint solvers, and using
constraints in user interface construction.
- The SPIN project.
SPIN is an extensible operating system microkernel which supports
the dynamic adaptation of system interfaces and implementations
through direct application control, while still maintaining system
integrity and inter-application isolation.
- University of Waterloo.
- Yale University
- Multi-site research projects
IFIP Working Group 2.8 on Functional Programming
Established to encourage the exchange of information between
researchers in the design, implementation, and use of functional
- The Larch Project.
Methods, languages, and tools for the practical use of formal
- The lcc
compiler project at Princeton and Bell Labs.
lcc is a retargetable compiler for ANSI C. It generates
code for the SPARC, MIPS R3000 and x86.
- The ProCoS
This project and associated Working Group on "Provably Correct Systems"
is investigating program compilation in the occam /
at RAL (UK) and the University of Leeds (UK).
Research into models and languages for portable parallel programming,
shared abstract data types and optimisation through transformation.
Additions and corrections are welcome!
Mark Leone (