WebHome
- Courses
- Publications
- Contact

Projects & Software
- EHC
-- Ruler
-- Shuffle
- UHC

Other Software
- SSM
- JAZY

Center
Master Program
Personal

Curriculum Vitae

Atze
Table of contents:

Personal information/history

  • Date of birth: 19 jan 1960
  • Place of birth: Kerensheide (gem. Beek, Limburg)
  • Education
    • 1966-1972: Primary school at Leiderdorp
    • 1972-1978: Secondary school, ongedeeld VWO at Scholengemeenschap De Amersfoortse Berg
    • 1978-1984: Study mathematics, at Utrecht University, thesis project at the Department of Computer Science: Optimaliseren in Pascal, Een aanzet tot een machineonafhankelijk ontwerp voor een Modulair Pascal vertaler
  • Jobs and work experience
    • 1984-1986: Wetenschappelijk assistent at the Department of Computer Science, Utrecht University, on an ISO-OSI standards based networked system
    • 1986-1987: Software engineer at NCR systems engineering, Nieuwegein, on a distributed system for a banking company
    • 1987-1988: Scientific programmer at the Department of Computer Science, Utrecht University, on a transputer based system for experiments on distributed attribute grammars, weather prediction program (HIRLAM) and domain routing experiments
    • 1988-now: Universitair Docent at the Institute of Information and Computing Sciences, Software Technology group. In this period I have done the following:
      • 1988-now: Teaching (lecturing, writing lecture notes, etc), see below for a recent overview
      • 1990-1991: Camera project (distributed version management), at SERC (Software Engineering Research Centre, now part of CIBIT)
      • 1992-1998: External courses in cooperation with SERC, focussed on Object Orientation
      • 1999-2005: PhD thesis (alongside teaching)
      • 2006-now: Work on, responsible for EHC, grown out of the PhD thesis
  • Other activities (aka hobbies)
    • Hiking, jogging, swimming
    • Music, playing flute, piano, choir singing
    • Photography

Public WWW page of Atze Dijkstra (current activities, etc)

Current activities

  • UHC, the Utrecht Haskell compiler. Related tools:
    • Ruler, a tool for specifying type rules.
    • Shuffle, a tool for manipulation of source fragments (chunks).
    • Text2Text, a tool for bridging between text markup formats.

Recent papers, talks and other events

  • A generic deriving mechanism for Haskell [ download here ]
  • The Architecture of the Utrecht Haskell Compiler [ download here ]
  • Efficient Functional Unification and Substitution [ download here ]
    • Atze Dijkstra, Arie Middelkoop and Doaitse Swierstra, 2008.
  • The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity [ download here ]
    • Atze Dijkstra, Jeroen Fokker and Doaitse Swierstra, IFL 2007.
  • Modelling Scoped Instances with Constraint Handling Rules [ download here ]
    • Atze Dijkstra, Gerrit van den Geest, Bastiaan Heeren and Doaitse Swierstra, 2007.
  • Exploiting Type Annotations [ download here ]
    • Atze Dijkstra and Doaitse Swierstra, 2007.
  • Ruler: Programming Type Rules [ download here, ST colloquium talk (20051006) ]
    • Atze Dijkstra and Doaitse Swierstra, FLOPS 2006.
  • Stepping through Haskell
    • Defense of my thesis, on 14 nov 2005, 14:30. The thesis describes EHC
  • Making Implicit Parameters Explicit [ technical report, pdf ]
    • Atze Dijkstra and Doaitse Swierstra, 2006.
  • Explicit Implicit Parameters [slides]
  • Essential Haskell Compiler overview [slides]
  • Typing Haskell with an Attribute Grammar, Advanced Functional Programming Summerschool, Tartu, 14-21 aug, 2004. Springer-Verlag [ SpringerLink, pdf, updated as part of PhD thesis ]
    • Version handed out at AFP [paper [pdf], or technical report [pdf], slides [pdf]]

Older stuff

Miscellaneous

Teaching

Contact

Contact information.


27 Jan 2013

Software

  • EHC (Essential Haskell Compiler)
    • status: active development, used in student projects
  • UHC (Utrecht Haskell Compiler)
    • status: currently rewritten as EHC
  • SSM (Simple Stack Machine) interpreter
  • Jazy (Lazy Java)
    • status: maintained, part of UUST library

Recent thesis student supervision

  • Christof Douma (??), on making GRIN (Graph Reduction Intermediate Language) suitable for a real Haskell compiler by extending it with mechanisms for exceptions and threading
  • Wouter Swierstra (2004-), on the incorporation of Attribute Grammars in Haskell
  • Erik Knoop (2003-2004), Extensible Records, Extensible Variants and First Class Attribute Grammars
  • Jan IJmker (2002-2003), Dependency Analysis in Attribute Grammars
  • Jurre Laven (2002-2003), Typing dynamic web applications
  • Remko Klein (2001-2002), Visualisatie van Systeemarchitecturen
  • Eric Rietveld (2001-2002), Programmeren met patronen in Java
  • Eelco Rommes (2000-2001), Voorbij Object Orientatie, een vergelijkend onderzoek naar geavanceerde Separation of Concerns technieken

Recent courses

UU.NL HOME cs.uu.nl

Onderwijstaken van Atze Dijkstra

studiejaar periode vak vorm groep deel opm
dit jaar
2012/2013 0 MSc project Computing science begeleiding   1  
1 Computerarchitectuur en netwerken werkcollege 2 1  
4 1  
2 Gametechnologie introductieproject werkcollege 4 1  
3 Compiler construction college   1  
werkcollege   1  
34 Informatica softwareproject begeleiding 3 1  
eerdere jaren
2011/2012 2 Modelleren en systeemontwikkeling college   1  
practicum 1 1  
2 1  
3 Compiler construction college   1  
werkcollege 1 1  
2010/2011 2 Gametechnologie introductieproject werkcollege 5 1  
Software-architectuur college   1  
3 Compiler construction college   1  
2009/2010 0 Colloquium Software technology coordinatie   1  
1 Computerarchitectuur en netwerken werkcollege   1  
2 Compiler construction college   1  
4 Software-architectuur college   1  
2008/2009 0 Experimentation project ST coordinatie   1  
2 Software-architectuur college   1  
2007/2008 0 Experimentation project ST coordinatie   1  
2 Software-architectuur college   1  
2006/2007 1 Seminar Feedback-oriented static analysis seminar   0.3  
2005/2006 1 Seminar Typesystemen seminar   1  
2004/2005 1 Seminar Efficient impl. of functional languages seminar   0.5  
2 Implementatie van programmeertalen college   1  
2003/2004 1 Implementatie UHC seminar   1  
2 Software-architectuur college   0.2  
3 Functioneel programmeren college   0.15  
Implementatie van programmeertalen college   1  
4 Seminar Typesystemen college   0.5  
2002/2003 2 Grammatica's en ontleden practicum 1 1  
Software engineering college   0.5  
3 Software-architectuur college   0.5  
4 Implementatie van programmeertalen college   1  
5 Typesystemen college   0.5  
2001/2002 1 Objectgeorienteerd modelleren en programmeren combisessie 4 1  
reserve   1  
2 Objectgeorienteerd modelleren en programmeren combisessie 1 1  
3 Software-architectuur college   0.6  
4 Implementatie van programmeertalen college 5 1  

Technical reports at ICS (partial overlap with METIS overview)

technical reports : dr. A. Dijkstra

Atze  Dijkstra

select other reports

this selection

author dr. A. Dijkstra

reports (12)

techrep_id file title / author
UU-CS-2013-005 pdf Parse Your Options
Doaitse Swierstra and Atze Dijkstra
UU-CS-2010-017 pdf A generic deriving mechanism for Haskell
José Pedro Magalhães, Atze Dijkstra, Johan Jeuring, Andres Löh
UU-CS-2008-027 pdf Efficient Functional Unification and Substitution
Atze Dijkstra, Arie Middelkoop, and S. Doaitse Swierstra
UU-CS-2006-051 pdf Exploiting Type Annotations
Atze Dijkstra and Doaitse S. Swierstra
UU-CS-2005-033 pdf Ruler: Programming Type Rules
Atze Dijkstra and S. Doaitse Swierstra
UU-CS-2005-032 pdf Making Implicit Parameters Explicit
Atze Dijkstra and S. Doaitse Swierstra
UU-CS-2004-059 pdf Explicit implicit parameters
Atze Dijkstra and S. Doaitse Swierstra
UU-CS-2004-037 pdf Typing Haskell with an Attribute Grammar (Part I)
Atze Dijkstra, Doaitse Swierstra
UU-CS-2001-18 pdf Lazy Functional Parser Combinators in Java
Atze Dijkstra, Doaitse S. Swierstra
UU-CS-1999-26 ps.gz
pdf
SKIT, An open architecture for courseware authoring
Atze Dijkstra, Martijn Schrage, Doaitse Swierstra
RUU-CS-93-08 pdf Mapping objects to files: a UNIX file system interface to an object management system
Gert Florijn and Leo Soepenberg and Atze Dijkstra
RUU-CS-85-19 pdf A LAN with real-time facilities based on OSI concepts
A.J. de Raaf and A.Dijkstra and S.D. Swierstra

indexed (co) authors

author group
Dijkstra, dr. A. all reports software technology all reports
Florijn, ing. G. all reports software technology all reports
Jeuring, prof. dr. J.T. all reports software technology all reports
Löh, dr. A. all reports software technology all reports
Magalhães, dr. ir. J.P. all reports software technology all reports
Middelkoop, dr. A. all reports software technology all reports
Schrage, dr. M.M. all reports software technology all reports
Swierstra, prof. dr. S.D. all reports software technology all reports

BibTeX? entries

@TECHREPORT{UUCS2013005,
author = {Swierstra, Doaitse and Dijkstra, Atze},
year = 2013,
title = {Parse Your Options},
number = {UU-CS-2013-005},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2013/2013-005.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2010017,
author = {Magalhães, José~Pedro and Dijkstra, Atze and Jeuring, Johan and Löh, Andres},
year = 2010,
title = {A generic deriving mechanism for Haskell},
number = {UU-CS-2010-017},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2010/2010-017.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2008027,
author = {Dijkstra, Atze and Middelkoop, Arie and Swierstra, S.~Doaitse},
year = 2008,
title = {Efficient Functional Unification and Substitution},
number = {UU-CS-2008-027},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2008/2008-027.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2006051,
author = {Dijkstra, Atze and Swierstra, Doaitse~S.},
year = 2006,
title = {Exploiting Type Annotations},
number = {UU-CS-2006-051},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2006/2006-051.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2005033,
author = {Dijkstra, Atze and Swierstra, S.~Doaitse},
year = 2005,
title = {Ruler: Programming Type Rules},
number = {UU-CS-2005-033},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2005/2005-033.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2005032,
author = {Dijkstra, Atze and Swierstra, S.~Doaitse},
year = 2005,
title = {Making Implicit Parameters Explicit},
number = {UU-CS-2005-032},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2005/2005-032.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2004059,
author = {Dijkstra, Atze and Swierstra, S.~Doaitse},
year = 2004,
title = {Explicit implicit parameters},
number = {UU-CS-2004-059},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2004/2004-059.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS2004037,
author = {Dijkstra, Atze and Swierstra, Doaitse},
year = 2004,
title = {Typing Haskell with an Attribute Grammar (Part I)},
number = {UU-CS-2004-037},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2004/2004-037.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS200118,
author = {Dijkstra, Atze and Swierstra, Doaitse~S.},
year = 2001,
title = {Lazy Functional Parser Combinators in Java},
number = {UU-CS-2001-18},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-2001/2001-18.pdf}},
pubcat = {techreport}
}
@TECHREPORT{UUCS199926,
author = {Dijkstra, Atze and Schrage, Martijn and Swierstra, Doaitse},
year = 1999,
title = {SKIT, An open architecture for courseware authoring},
number = {UU-CS-1999-26},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlps = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-1999/1999-26.ps.gz}},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-1999/1999-26.pdf}},
pubcat = {techreport}
}
@TECHREPORT{RUUCS9308,
author = {Florijn, Gert and Soepenberg, Leo and Dijkstra, Atze},
year = 1993,
title = {Mapping objects to files: a UNIX file system interface to an object management system},
number = {RUU-CS-93-08},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-1993/1993-08.pdf}},
pubcat = {techreport}
}
@TECHREPORT{RUUCS8519,
author = {Raaf, A.J.~de and A.Dijkstra and Swierstra, S.D.},
year = 1985,
title = {A LAN with real-time facilities based on OSI concepts},
number = {RUU-CS-85-19},
institution = {Department of Information and Computing Sciences, Utrecht University},
urlpdf = {{http://www.cs.uu.nl:80/research/techreps/repo/CS-1985/1985-19.pdf}},
pubcat = {techreport}
}

valid-html401 webmaster@cs.uu.nl, Wed, 22 May 2013 15:08:16 +0200 ← Departement Informatica, Universiteit Utrecht

Publications as administered in METIS (partial overlap with technical reports)

publications by dr. A. Dijkstra

Atze  Dijkstra

dr. A. Dijkstra

some publications

Dijkstra, A., Stutterheim, J., Vermeulen, A. & Swierstra, S.D. (2012). Building JavaScript? Applications with Haskell. In IFL 2012.

Viera, M., Swierstra, S.D. & Dijkstra, A. (2012). Grammar Fragments Fly First-Class. In proc of the 12th Workshop on Language Descriptions Tools and Applications (pp. 47-60).

Bransen, J., Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2012). The Kennedy-Warren algorithm revisited: ordering Attribute Grammars. In C. Russo & N.-F. Zhou (Eds.), Practical Aspects of Declarative Languages Vol. 7149. Lecture Notes in Computer Science (pp. 183-197). Springer Berlin / Heidelberg.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2011). A lean specification for GADTs: system F with first-class equality proofs. Higher-Order and Symbolic Computation, 1-22.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2011). Dependently Typed Attribute Grammars. In IFL 2010 Vol. 6647. Lecture Notes in Computer Science. Springer Verlag AG.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2011). Stepwise evaluation of attribute grammars. In Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications (pp. 1-8). ACM.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2011). Visitor-based Attribute Grammars with Side Effect. Electronical Notes in Theoretical Computer Science, 264(5), 47-69.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2011). Visitor-based Attribute Grammars with Side Effect. In Workshop on Generative Technologies Vol. 264. Electron. Notes Theor. Comput. Sci. (pp. 47-69). Amsterdam: Elsevier Science Publishers B. V..

Rodrigues Magalhães, J.P., Dijkstra, A., Jeuring, J.T. & Löh, A. (2010). A generic deriving mechanism for Haskell. In Proceedings Haskell Symposium (pp. 37-48). ACM Press.

Rodrigues Magalhães, J.P., Dijkstra, A., Jeuring, J.T. & Löh, A. (2010). A generic deriving mechanism for Haskell. : Department of Information and Computing Sciences, Utrecht University.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2010). Iterative type inference with attribute grammars. In Proceedings of the ninth international conference on Generative programming and component engineering (pp. 43-52). New York, NY, USA: ACM.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2010). Visit Functions for the Semantics of Programming Languages. In Workshop On Generative Technologies 2010.

Middelkoop, A., Dijkstra, A. & Swierstra, S.D. (2009). A Leaner Specification for GADTs. In P. Achten, P. Koopman & M.T. Moraz\'an (Eds.), Trends in Functional Programming (pp. 65-80). Intellect.

Ferreiro, H., Castro, D., Gulias, V.M. & Dijkstra, A. (2009). Experiences in developing a compiler for Safe using Haskell. In Taller de Programacion Funcional TPF, PROLE 2009.

Dijkstra, A., Fokker, J.D. & Swierstra, S.D. (2009). The architecture of the Utrecht Haskell compiler. In Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell (pp. 93-104). New York, NY, USA: ACM.

Dijkstra, A., Fokker, J.D. & Swierstra, S.D. (2007). The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity. In O Chitil (Ed.), Implementation and Application of Functional Languages. 19th International Symposium, IFL 2007 (pp. 107-122). Canterbury, Kent, UK: Computing Laboratory, University of Kent.

Dijkstra, A. & Swierstra, S.D. (2006). Exploiting Type Annotations. onbekend: UU WINFI Informatica en Informatiekunde.

Dijkstra, A. & Swierstra, S.D. (2006). Ruler: Programming Type Rules. In Functional and Logic Programming: 8th International Symposium, FLOPS 2006, Fuji-Susono, Japan, April 24-26, 2006 (pp. 30-46). Springer-Verlag.

Dijkstra, A. & Swierstra, S.D. (2005). Making Implicit Parameters Explicit. (UU-CS2005-032 ). onbekend: UU WINFI Informatica en Informatiekunde.

Dijkstra, A. & Swierstra, S.D. (2005). Ruler: Programming Type Rules. (CS-UU2005-033 ). onbekend: UU WINFI Informatica en Informatiekunde.

Dijkstra, A.. Stepping through Haskell. UU Universiteit Utrecht. Prom./coprom.: dr. O. de Moor, dr. J.T. Jeuring, prof. L.G.L.T. Meertens, drs. R. Hinze & dr. L. Augusteijn.

Dijkstra, A. & Swierstra, S.D. (2004). Explicit implicit parameters. (UU-CS2004-59 ). Utrecht: Utrecht University: Information and Computing Sciences.

Dijkstra, A. & Swierstra, S.D. (2004). Typing Haskell with an Attribute Grammar. In Advanced Functional Programming Summerschool.

Dijkstra, A. & Swierstra, S.D. (2004). Typing Haskell with an Attribute Grammar (Part I). (UU-CS2004-037 ). Utrecht: Utrecht University: Information and Computing Sciences.

Dijkstra, A. & Swierstra, S.D. (2001). Lazy Functional Parser Combinators in Java. In Proceedings of 1st Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL) (pp. 11-42). John von Neumann Institute for Computing.

Dijkstra, A. & Swierstra, S.D. (2001). Lazy Functional Parser Combinators in Java. (UU-CS2001-18 ). Utrecht, The Netherlands: Utrecht University: Information and Computing Sciences.

Dijkstra, A. & Swierstra, S.D. (2001). Lecture Notes: Implementation of Programming Languages. Utrecht: Utrecht University, Inst. of Inform. and Computing Science.

Dijkstra, A. (2000). Onderwijsmateriaal structureren en hergebruiken. Tijdschrift voor Informatica-onderwijs, 9, 8-13.

Dijkstra, A., Schrage, M. & Swierstra, S.D. (1999). SKIT, An Open Architecture for Courseware Authoring. In Proceedings of the 1999 Frontiers in Education Conference (pp. 12c3-7-12c3-12). IEEE Computer Society Press.

Dijkstra, A., Schrage, M. & Swierstra, S.D. (1999). SKIT, An open architecture for courseware authoring. (UU-CS1999-26 ). Utrecht, The Netherlands: Utrecht University: Information and Computing Sciences.

Dijkstra, A. (1998). Object Georienteerd Programmeren en Modelleren (lecture notes). Utrecht: Universiteit Utrecht, Dept of Computer Science.

Florijn, G. & Dijkstra, A. (1993). Mapping objects to files: a UNIX file system interface to an object management system. (RUU-CS93-08 ). Utrecht.

Kuiper, M.F. & Dijkstra, A. (1989). Attribute evaluation on a network of transputers. In John Wexler (Ed.), Developing Transputer Applications (pp. 142-149).

Raaf, A.J., Dijkstra, A. & Swierstra, S.D. (1985). A LAN with real-time facilities based on OSI concepts. (RUU-CS85-19 ). Utrecht.


valid-html401 webmaster@cs.uu.nl, Wed, 22 May 2013 15:08:16 +0200 ← Departement Informatica, Universiteit Utrecht

Publications not included in METIS or known as technical report

  • Atze Dijkstra. Object Georienteerd Programmeren en Modelleren (lecture notes). 1998. Utrecht University, Institute of Information and Computing Sciences.
  • Matthijs K. Kuiper and Atze Dijkstra. Attribute evaluation on a network of transputers. Developing Transputer Applications pp. 142-149, 1989. IOS, Amsterdam.

-- AtzeDijkstra - 24 Nov 2004