Pablo Nogueira
pablo@babel.ls.fi.upm.es   
Updated:  27 April 2016

Publications | PhD Students | External Roles | Notes | Toys | Reading | Music

I'm currently working as a researcher at the IMDEA Software Institute of Madrid, Spain (from mid-November 2015).
My Open Research and Contributor ID (ORCID) is 0000-0002-8706-0027.

From 2010 to 2015 I've been an Assistant Professor at ETSI Informáticos, Universidad Politécnica de Madrid where I've lectured and coordinated undergraduate and graduate courses, and participated in academic commissions, learning innovation projects, mentoring programmes, academic tribunals, etc.
My teaching assessment student surveys and voluntary student complaints/compliments are publicly available.

From 2013-2014 I participated in the introduction of Programming and Communications in compulsory secondary education within the Region of Madrid. I'm currently a member of a working group aiming at the nationwide introduction of computer science in primary and secondary education. Come to the EI<18 Workshop at the 5th Spanish Conference on Informatics 2016.

I have a vested interest in teaching which I consider complementary to research. Here are some readings on teaching and research to think about.

My professional research interest at large is on the theory and practice of programming and programming languages, their foundations, applications, implementations, and tools. I've worked on generic functional programming, abstract data types and category theory, proof-directed debugging, relational algebra and unification, verification and optimisation by program transformation, operational semantics, and lambda calculi.

I'm a member of UNHCR/ACNUR, Oxfam Intermón, Red Cross, and Aldeas Infantiles (SOS Children's Villages). Please consider donating to these non-governmental organisations. Also consider donating to the Free Software Foundation, their outstanding GNU Emacs editor is worth their sanctimoniousness.

I've got a mild type of OCD. Don't be offended if I don't shake hands.

Dissemination

El Problema de la Parada de los Programas y de las Personas appeared on 27th June 2013 on the 2012 Alan Turing Year Blog of the Spanish national daily El País. English translation: The Halting Problem of Programs and of People with additions up to 19th July 2013. Comments welcome.

John Tiene Razón appeared on 20th June 2013 on the 2012 Alan Turing Year Blog of the Spanish national daily El País. Comments welcome. (An English translation will eventually appear here.)

Publications

No solvable lambda-value term left behind.
Álvaro García Pérez and Pablo Nogueira.
To appear in Logical Methods in Computer Science.

On the syntactic and functional correspondence between hybrid (or layered) normalisers and abstract machines.
Álvaro García Pérez and Pablo Nogueira.
Science of Computer Programming 95 Part 2 (2014) pp.176-199, Elsevier B.V.

Special Issue on Mathematics of Program Construction 2012.
Jeremy Gibbons and Pablo Nogueira (editors).
Science of Computer Programming 85 Part B (2014), pp.101-240, Elsevier B.V.

Deriving interpretations of the gradually-typed lambda calculus. [pdf @ ACM digital library]
Álvaro García Pérez, Pablo Nogueira, Ilya Sergey.
ACM SIGPLAN 2014 Symposium on Partial Evaluation and Program Manipulation.

Derivación de intérpretes del cálculo lambda con tipos graduales (abstract).
Álvaro García Pérez, Pablo Nogueira, Ilya Sergey.
5th Spanish Functional Programming Workshop, 13th Spanish Conference on Programming Languages 2013.

Deriving the full-reducing Krivine machine from the small-step operational semantics of normal order. [pdf @ ACM digital library]
Álvaro García Pérez and Pablo Nogueira.
15th International Symposium on Principles and Practice of Declarative Programming 2013.

A syntactic and functional correspondence between reduction semantics and reduction-free full normalisers. [pdf @ ACM digital library]
Álvaro García Pérez and Pablo Nogueira.
ACM SIGPLAN 2013 Symposium on Partial Evaluation and Program Manipulation.

Proceedings of the 11th International Conference on Mathematics of Program Construction.
Jeremy Gibbons and Pablo Nogueira (editors).
Lecture Notes in Computer Science 7342 (2012), Springer-Verlag.

Enfoque normal y enfoque spine para reducción en el cálculo lambda puro (abstract).
Álvaro García Pérez, Pablo Nogueira.
4th Spanish Functional Programming Workshop, 12th Spanish Conference on Programming Languages 2011.

Proceedings of the 11th Spanish Conference on Programming Languages. [pdf]
Purificación Arenas, Victor M. Gulías, Pablo Nogueira (editors).
Universidade da Coruña publishing services.

Estrategias del cálculo lambda e interderivación de artefactos semánticos (abstract).
Álvaro García Pérez, Pablo Nogueira.
3rd Spanish Functional Programming Workshop, 11th Spanish Conference on Programming Languages 2011.

First-order unification using variable-free relational algebra.
Emilio J. Gallego Arias, James Lipton, Julio Mariño, Pablo Nogueira.
Logic Journal of the IGPL 19(6), pp.790-820, Oxford University Press.

The beta cube (extended abstract).
Álvaro García Pérez, Pablo Nogueira, Emilio J. Gallego Arias.
1st International Workshop on Strategies in Rewriting, Proving, and Programming 2010.

First-order unification using variable-free relational algebra.
Emilio J. Gallego Arias, James Lipton, Julio Mariño, Pablo Nogueira.
22nd International Workshop on Unification 2008.

Bialgebra views: a way for polytypic programming to cohabit with data abstraction. [pdf] [bib] [remarks.23/09/09] [pdf @ ACM digital library]
Pablo Nogueira and Juan José Moreno-Navarro.
ACM SIGPLAN 2008 Workshop on Generic Programming.

When is an abstract data type a functor? [pdf] [bib] — other versions deprecated, best student paper award.
Pablo Nogueira.
Trends in Functional Programming 7 (2007), pp.217-231, Intellect Books.

Context-parametric polykinded types. [pdf @ ACM digital library] [bib] [errata]
Pablo Nogueira.
ACM SIGPLAN 2006 Workshop on Generic Programming.

Proof-directed debugging and repair. [pdf] [bib]
Louise A. Dennis, Pablo Nogueira, Raul Monroy.
7th Symposium on Trends in Functional Programming 2006.

What can be learned from failed proofs of non-theorems? [pdf] [bib]
Louise A. Dennis and Pablo Nogueira.
18th International Conference on Theorem Proving in Higher Order Logics 2005 (emerging trends proceedings).

More than parsing. [pdf] [bib] [slides(pdf)]
Angel Herranz and Pablo Nogueira.
5th Spanish Conference on Programming Languages 2005.
The MTP site: babel.ls.fi.upm.es/research/mtp.

PhD Students

Álvaro García Pérez, MSc 2009, PhD 2014 Operational aspects of full reduction in lambda calculi.

External roles

Steering committee member:
International Conference on Mathematics of Program Construction, 2013 to present.

Programme committee chair:
11th International Conference on Mathematics of Program Construction 2012 (co-chair and conference organiser).
3rd Spanish Functional Programming Workshop within the 11th Spanish Conference on Programming Languages 2011.

Programme committee member:
12th International Conference on Mathematics of Program Construction 2015.
5th Spanish Functional Programming Workshop within the 13th Spanish Conference on Programming Languages 2013.
4th Spanish Functional Programming Workshop within the 12th Spanish Conference on Programming Languages 2012.
24th Symposium on Implementation and Application of Functional Languages 2012.
ACM SIGPLAN 2011 Workshop on Generic Programming.
2nd Spanish Functional Programming Workshop within the 10th Spanish Conference on Programming Languages 2010.
1st Spanish Functional Programming Workshop within the 9th Spanish Conference on Programming Languages 2009.

External reviewer
ACM Transactions on Programming Languages, 2014-2015.
20th International Workshop on Functional and Constraint Logic Programming - WFLP'11.
32nd International ACM SIGPLAN Conference on Programming Languages Design and Implementation - PLDI'11.
20th European Symposium on Programming - ESOP'11.
24th International Conference on Logic Programming - ICLP'08.
10th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming - PPDP'08.
1st International ACM SIGPLAN Workshop on Generic Programming - ICFP-WGP'06.
7th International Symposium on Practical Aspects of Declarative Languages - PADL'05.

Notes (comments welcome)

Type classes: Not quite overloading (26 August 2011) [html]

C++ Templates from a types perspective (7 June 2006) [html]

The gist of side effects in pure functional languages (28 June 2005) [pdf] [corrections]

Getting acquainted with the C-- language (18 September 2000) [pdf] covers the May'99 version of the C-- portable assembly language.

Notes on flex/lex and yacc/bison (26 December 1999) [pdf] (Related: simple desk calculator example in Toys.)

Hovik Keutchkerian's humus recipe [html]

Toys

Simple desk calculator (December 1999, May 2007) [README] [Sdc.zip]

A toy C compiler: code patterns and code generation (February 2000) [html]