Mads Tofte (born 20 April 1959) is a
Danish computer scientist
A computer scientist is a scientist who specializes in the academic study of computer science.
Computer scientists typically work on the theoretical side of computation. Although computer scientists can also focus their work and research on ...
who has contributed in particular to
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
and the
Standard ML
Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
programming language.
Education
Tofte was born in
Lyngby
Kongens Lyngby (, Danish language, Danish for "the King's Heather Town"; short form Lyngby) is the seat and commercial centre of Lyngby-Taarbæk Municipality in the northern suburbs of Copenhagen, Denmark. Lyngby Hovedgade is a busy shopping stre ...
, Denmark and grew up in
Holbæk
Holbæk () is a town in Denmark and the County seat, seat of Holbæk municipality with a population of 30,903 (1 January 2025).[Denmark
Denmark is a Nordic countries, Nordic country in Northern Europe. It is the metropole and most populous constituent of the Kingdom of Denmark,, . also known as the Danish Realm, a constitutionally unitary state that includes the Autonomous a ...]
. He studied
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
and
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
at the
University of Copenhagen
The University of Copenhagen (, KU) is a public university, public research university in Copenhagen, Copenhagen, Denmark. Founded in 1479, the University of Copenhagen is the second-oldest university in Scandinavia, after Uppsala University.
...
where he obtained an
MSc degree (with supervisor
Neil D. Jones) in 1984; then at
University of Edinburgh
The University of Edinburgh (, ; abbreviated as ''Edin.'' in Post-nominal letters, post-nominals) is a Public university, public research university based in Edinburgh, Scotland. Founded by the City of Edinburgh Council, town council under th ...
where he obtained a
PhD
A Doctor of Philosophy (PhD, DPhil; or ) is a terminal degree that usually denotes the highest level of academic achievement in a given discipline and is awarded following a course of graduate study and original research. The name of the deg ...
degree in 1988 (advised by
Robin Milner
Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010) was a British computer scientist, and a Turing Award winner.[Kingston University
Kingston University London is a Public university, public research university located within the Royal Borough of Kingston upon Thames, in South London, South West London, England. Its roots go back to the Kingston Technical Institute, founded ...](_blank ...<br></span></div>). He is doctor honoris causa 2007 from <div class=)
.
Research and career
In his 1984
MSc thesis and prior work he investigated and formalized the CERES compiler generator (with Neil D. Jones) and showed that (1) a compiler generator is itself a compiler from language definitions to compilers; and (2) under suitable assumptions there exists a language definition that, when applied to itself, generates a compiler generator. This has close connections to self-application in
partial evaluation
In computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to ...
.
In his
PhD
A Doctor of Philosophy (PhD, DPhil; or ) is a terminal degree that usually denotes the highest level of academic achievement in a given discipline and is awarded following a course of graduate study and original research. The name of the deg ...
thesis he developed and proved correct the first sound type system for
ML-style
polymorphic references, an important open problem at the time. Moreover, he formalized a variant of the module system of the
Standard ML
Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
programming language.
Mads Tofte is a co-author of the Definition
[ R. Milner, M. Tofte, R. Harper: The Definition of Standard ML, MIT Press 1990, second edition 1997] of
Standard ML
Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
and the associated Commentary, probably the most precise description developed for any realistic programming language. He co-developed the ML Kit, an implementation of
Standard ML
Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
whose structure closely follows the Definition.
Subsequently, he developed (with
Jean-Pierre Talpin) the notion of
region inference, a
program analysis
In computer science, program analysis is the process of analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness.
Program analysis focuses on two major areas: program optimization an ...
and
memory management
Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
technique that avoids or minimizes the use of
garbage collection
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclable ...
. This work was first published in
POPL
The annual ACM SIGPLAN- SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of pro ...
1994 and in 2005 it earned the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membe ...
(ACM)
POPL
The annual ACM SIGPLAN- SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of pro ...
1994 Most Influential Paper Award.
In the late nineties, he co-developed (with
Fritz Henglein and others) a type system and a sophisticated tool called AnnoDomini for mitigation of
the
Year 2000 problem
The term year 2000 problem, or simply Y2K, refers to potential computer errors related to the Time formatting and storage bugs, formatting and storage of calendar data for dates in and after the year 2000. Many Computer program, programs repr ...
in
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
software. The tool analyses legacy programs to discover all data fields that are used as dates. This work was presented in a POPL 1999 invited keynote.
In April 1999, he was appointed the first managing director of the
IT University of Copenhagen. He oversaw the creation of the university from scratch, the hiring of faculty/staff, recruitment of students and the design of the study programs. The first students started 5 months later in September 1999. Since 2003 he has been
vice chancellor
A vice-chancellor (commonly called a VC) serves as the chief executive of a university in the United Kingdom, New Zealand, Australia, Nepal, India, Bangladesh, Malaysia, Nigeria, Pakistan, Sri Lanka, South Africa, Kenya, other Commonwealth countr ...
of the
IT University of Copenhagen.
In April 2018, it was announced that he would leave The IT University of Copenhagen at the end of the year. In January 2019, he announced that he would sail off from Denmark, to be with his daughter, as a consequence of Denmark's immigration laws, which prevented her from entering the country.
Awards
* 2002 The IDG IT award (''IT-prisen''), for leadership of the
IT University of Copenhagen
* 2005 The
ACM POPL
The annual ACM SIGPLAN- SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of pro ...
'94 Most Influential Paper Award (with Jean-Pierre Talpin).
References
External links
CVML Kit with Regions
{{DEFAULTSORT:Tofte, Mads
Danish computer scientists
1959 births
University of Copenhagen alumni
Alumni of the University of Edinburgh
Living people
People from Kongens Lyngby
People from Holbæk Municipality