Research interests
I am interested in functional programming languages, particularly Haskell and Agda. My research focuses in datatype-generic programming.
All my publications are also available in a single BibTeX file.
Jump to: drafts, refereed publications, reports, code, talks, events, teaching.
Drafts
- José Pedro Magalhães and Andres Löh. Generic Generic Programming. [ pdf ] [ code ]
- Michael D. Adams, Andrew Farmer, and José Pedro Magalhães. Optimizing SYB Is Easy! [ pdf ]
Refereed publications
2013
- Nicolas Wu, José Pedro Magalhães, Jeroen Bransen, and Wouter Swierstra. Pure and Lazy Lambda Mining: An Experience Report. Accepted for publication at the 24th Symposium on Implementation and Application of Functional Languages (IFL'12), 2013. [ bib ] [ colour pdf ]
- José Pedro Magalhães. Optimisation of Generic Programs through Inlining. Accepted for publication at the 24th Symposium on Implementation and Application of Functional Languages (IFL'12), 2013. [ bib ] [ colour pdf ] [ greyscale pdf ]
2012
- José Pedro Magalhães. Less Is More: Generic Programming Theory and Practice. PhD thesis, Universiteit Utrecht, 2012. [ bib ] [ pdf ] [ summary ]
- Ralf Hinze, Daniel W.H. James, Thomas Harper, Nicolas Wu, and José Pedro Magalhães. Sorting with Bialgebras and Distributive Laws. In Proceedings of the 8th ACM SIGPLAN Workshop on Generic Programming (WGP'12), pp. 69–80, ACM, 2012. [ acm.org ] [ bib ] [ pdf ] [ code ]
- José Pedro Magalhães. The Right Kind of Generic Programming. In Proceedings of the 8th ACM SIGPLAN Workshop on Generic Programming (WGP'12), pp. 13–24, ACM, 2012. [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ]
- Dimitrios Vytiniotis, Simon Peyton Jones, and José Pedro Magalhães. Equality proofs and deferred type errors: a compiler pearl. In Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming (ICFP'12), pp. 341–352, ACM, 2012. [ acm.org ] [ bib ] [ pdf ]
- W. Bas de Haas, José Pedro Magalhães, and Frans Wiering. Improving Audio Chord Transcription by Exploiting Harmonic and Metric Knowledge. In Proceedings of the 13th International Society for Music Information Retrieval Conference (ISMIR'12), pp. 295–300, FEUP Edições, 2012. [ bib ] [ pdf ]
- José Pedro Magalhães and Andres Löh. A Formal Comparison of Approaches to Datatype-Generic Programming. In Proceedings Fourth Workshop on Mathematically Structured Functional Programming (MSFP '12), pp. 50–67, 2012. [ bib ] [ pdf ] [ Agda code ]
- Brent A. Yorgey, Stephanie Weirich, Julien Cretin, Simon Peyton Jones, Dimitrios Vytiniotis, and José Pedro Magalhães. Giving Haskell a Promotion. In Proceedings of the 8th ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'12), pp. 53–66, ACM, 2012. [ bib ] [ pdf ]
2011
- W. Bas de Haas, José Pedro Magalhães, Remco C. Veltkamp, and Frans Wiering. HarmTrace: Improving Harmonic Similarity Estimation Using Functional Harmony Analysis. In Proceedings of the 12th International Society for Music Information Retrieval Conference (ISMIR'11), pp. 67–72, 2011. [ bib ] [ pdf ]
- Andres Löh and José Pedro Magalhães. Generic Programming with Indexed Functors. In Proceedings of the 7th ACM SIGPLAN Workshop on Generic Programming (WGP'11), pp. 1–12, ACM, 2011. [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ]
- José Pedro Magalhães and Johan Jeuring. Generic Programming for Indexed Datatypes. In Proceedings of the 7th ACM SIGPLAN Workshop on Generic Programming (WGP'11), pp. 37–46, ACM, 2011. [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ] [ mp4 ]
- José Pedro Magalhães and W. Bas de Haas. Functional Modelling of Musical Harmony: an Experience Report. In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming (ICFP'11), pp. 156–162, ACM, 2011. [ hackage.haskell.org ] [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ] [ mp4 ]
2010
- Martijn van Steenbergen, José Pedro Magalhães, and Johan Jeuring. Generic selections of subexpressions. In Proceedings of the 6th ACM SIGPLAN workshop on Generic programming (WGP'2010), pp. 37–48, ACM, 2010. [ hackage.haskell.org ] [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ] [ mov ] [ vimeo.com ]
- José Pedro Magalhães, Atze Dijkstra, Johan Jeuring, and Andres Löh. A generic deriving mechanism for Haskell. In Proceedings of the 3rd ACM Haskell symposium on Haskell (Haskell'2010), pp. 37–48, ACM, 2010. [ hackage.haskell.org ] [ acm.org ] [ bib ] [ colour pdf ] [ greyscale pdf ] [ mov ] [ vimeo.com ]
- Thomas van Noort, Alexey Rodriguez Yakushev, Stefan Holdermans, Johan Jeuring, Bastiaan Heeren, and José Pedro Magalhães. A Lightweight Approach to Datatype-generic Rewriting. Journal of Functional Programming, 20: 375–413, Cambridge University Press, 2010. [ hackage.haskell.org ] [ journals.cambridge.org ] [ bib ] [ pdf ]
- José Pedro Magalhães, Stefan Holdermans, Johan Jeuring and Andres Löh. Optimizing Generics Is Easy! In Proceedings of the 2010 ACM SIGPLAN workshop on Partial Evaluation and Program Manipulation (PEPM'2010), pp. 33–42, ACM, 2010. [ bib ] [ colour pdf ] [ greyscale pdf ]
- Johan Jeuring, José Pedro Magalhães and Bastiaan Heeren. Generic Programming for Domain Reasoners. In Proceedings of the 10th Symposium on Trends in Functional Programming (TFP'2009), pp. 113–128, Intellect, 2010. [ bib ] [ pdf ]
2009
- Johan Jeuring, Sean Leather, José Pedro Magalhães, and Alexey Rodriguez Yakushev. Libraries for generic programming in Haskell. In Pieter Koopman, Rinus Plasmeijer, and Doaitse Swierstra, editors, Proceedings of the Sixth Advanced Functional Programming School, AFP'08, May 19-24 2008, Center Parcs "Het Heijderbos", The Netherlands, LNCS 5832, pages 165–229, 2009, Springer-Verlag. [ springerlink.com ] [ bib ] [ pdf ]
- Rene Klein Gunnewiek, Robert-Paul Berretty, Bart Barenbrug and José Pedro Magalhães. Coherent Spatial and Temporal Occlusion Generation. In Proceedings of the SPIE Volume 7237, Stereoscopic Displays and Applications XX, 2009. [ spiedl.aip.org ] [ bib ] [ pdf ]
2007
- José Pedro Correia, José Pedro Magalhães, and Jorge Sousa Pinto. Formally verifying imperative programs. In P. Henriques, V. Santos, and S. Sousa, editors, Proceedings of the Conference on Compilers, Related Technologies and Applications (CoRTA'2007), pages 74–85, 2007. [ bib ] [ pdf ]
Reports
2011
- W. Bas de Haas, José Pedro Magalhães, Frans Wiering, and Remco C. Veltkamp. HarmTrace: Automatic Functional Harmonic Analysis. Technical Report UU-CS-2011-023, Department of Information and Computing Sciences, Universiteit Utrecht, 2011. [ cs.uu.nl ] [ bib ] [ pdf ]
- José Pedro Magalhães and Johan Jeuring. Generic Programming for Indexed Datatypes. Technical Report UU-CS-2011-021, Department of Information and Computing Sciences, Universiteit Utrecht, 2011. [ cs.uu.nl ] [ bib ] [ pdf ]
- José Pedro Magalhães and W. Bas de Haas. Experience Report: Functional Modelling of Musical Harmony. Technical Report UU-CS-2011-007, Department of Information and Computing Sciences, Universiteit Utrecht, 2011. [ cs.uu.nl ] [ bib ] [ pdf ]
2010
- Martijn van Steenbergen, José Pedro Magalhães, and Johan Jeuring. Generic selections of subexpressions. Technical Report UU-CS-2010-016, Department of Information and Computing Sciences, Universiteit Utrecht, 2010. [ cs.uu.nl ] [ bib ] [ pdf ]
- José Pedro Magalhães, Atze Dijkstra, Johan Jeuring, and Andres Löh. A generic deriving mechanism for Haskell. Technical Report UU-CS-2010-017, Department of Information and Computing Sciences, Universiteit Utrecht, 2010. [ cs.uu.nl ] [ bib ] [ pdf ]
- Thomas van Noort, Alexey Rodriguez Yakushev, Stefan Holdermans, Johan Jeuring, Bastiaan Heeren, and José Pedro Magalhães. A Lightweight Approach to Datatype-generic Rewriting. Technical Report UU-CS-2010-008, Department of Information and Computing Sciences, Universiteit Utrecht, 2010. [ cs.uu.nl ] [ bib ] [ pdf ]
2009
- José Pedro Magalhães, Stefan Holdermans, Johan Jeuring and Andres Löh. Optimizing Generics Is Easy! Technical Report UU-CS-2009-022, Department of Information and Computing Sciences, Universiteit Utrecht, 2009. [ cs.uu.nl ] [ bib ] [ pdf ]
- Johan Jeuring, José Pedro Magalhães and Bastiaan Heeren. Generic Programming for Domain Reasoners. Technical Report UU-CS-2009-016, Department of Information and Computing Sciences, Universiteit Utrecht, 2009. [ cs.uu.nl ] [ bib ] [ pdf ]
2008
- Johan Jeuring, Sean Leather, José Pedro Magalhães, and Alexey Rodriguez Yakushev. Libraries for generic programming in Haskell. Technical Report UU-CS-2008-025, Department of Information and Computing Sciences, Universiteit Utrecht, 2008. [ cs.uu.nl ] [ bib ] [ pdf ]
2007
- José Pedro Magalhães. Occluded video retrieval—using temporal information for automatic generation of an occlusion layer from 2D content for 3D rendering, 2007. Final internship report, Minho University (confidential until 2012). [ bib ]
Code
I am the maintainer (possibly with other people) of the following projects:- HarmTrace: Harmony Analysis and Retrieval of Music with Type-level Representations of Abstract Chords Entities. [ homepage ] [ package ]
- Scrap Your Boilerplate (SYB): a popular generic programming library in Haskell. [ homepage ] [ package ] [ git ] [ bug tracker ]
- Instant generics: a generic programming library with a sum of products view in Haskell. [ homepage ] [ package ] [ git ]
- gdiff-ig: Generic diff for the instant-generics library. [ package ] [ svn ]
- Generic Deriving: generic programming library for generalized deriving. [ homepage ] [ package ] [ git ]
- Guarded rewriting: a generic rewriting library supporting preconditions. [ homepage ] [ package ] [ svn ]
- Regular: a generic programming library for regular datatypes in Haskell. [ homepage ] [ package ] [ git ]
- Regular-extras: additional functions for Regular. [ homepage ] [ package ] [ git ]
- Rewriting: a generic rewriting library for regular datatypes. [ homepage ] [ package ] [ svn ]
- Multirec: a generic programming library for families of recursive datatypes in Haskell. [ homepage ] [ package ] [ git ]
Talks
2012
- Functional Modelling of Musical Harmony and its Applications. Invited talk at ICT.OPEN 2012, 22/10/2012. [ pdf ]
- Optimisation of Generic Programs through Inlining. Lightning talk at the 2012 Haskell Implementors Workshop, 14/09/2012. [ pdf ] [ youtube ]
- Equality Proofs and Deferred Type Errors. International Conference on Functional Programming, 11/09/2012. [ pdf ] [ youtube ]
- Sorting with Bialgebras and Distributive Laws. Workshop on Generic Programming, 09/09/2012. [ pdf ] [ youtube ]
- The Right Kind of Generic Programming. Workshop on Generic Programming, 09/09/2012. [ pdf ] [ youtube ]
- Optimisation of Generic Programs through Inlining. 24th Symposium on Implementation and Application of Functional Languages, 31/08/2012. [ pdf ] [ youtube ]
- GHC 7.6, More Well-Typed Than Ever. Dutch Haskell Users' Group Day, 20/04/2012. [ pdf ]
- A Formal Comparison of Approaches to Datatype-Generic Programming. Mathematically Structured Functional Programming 2012, 25/03/2012. [ pdf ]
- Functional Modelling of Musical Harmony. Symposium on Harmony and Variation in Music Information Retrieval, 29/02/2012. [ pdf ]
- Giving Haskell a Promotion. Dutch FP Day 2012, 06/01/2012. [ pdf ]
2011
- Functional Modelling of Musical Harmony. International Conference on Functional Programming 2011, 20/09/2011. [ pdf ]
- Generic Programming for Indexed Datatypes. Workshop on Generic Programming 2011, 18/09/2011. [ pdf ]
- Formally comparing approaches to datatype-generic programming, using Agda. 2011 Dependently Typed Programming Workshop, 27/08/2011. [ pdf ]
- Functional Modelling of Musical Harmony. Utrecht Summer School in Applied Functional Programming, 26/08/2011. [ pdf ]
- Functional Modeling of Musical Harmony. Dutch FP Day 2011, 07/01/2011. [ pdf ]
2010
- A Generic Deriving Mechanism for Haskell. Haskell Symposium 2010, 30/09/2010. [ pdf ] [ mov ] [ vimeo.com ]
- A Generic Deriving Mechanism for Haskell. Computing Science Colloquium, Universiteit Utrecht, 16/09/2010. [ pdf ]
- Optimizing Generics Is Easy! Partial Evaluation and Program Manipulation (PEPM) 2010, 18/01/2010. [ pdf ]
- Optimizing Generics Is Easy! Dutch Functional Programming day 2010, 08/01/2010. [ pdf ]
2009
- Generic Programming: what, why and how. 5th Dutch Haskell Users' Group meeting, 11/09/2009. [ pdf ] [ m4v ] [ vimeo.com ]
- Generic Programming: what, why and how. Utrecht Summer School in Applied Functional Programming 2009, 28/08/2009. [ pdf ]
- Generic Programming for Domain Reasoners. Trends in Functional Programming (TFP) 2009, 03/06/2009. [ pdf ]
2008
- Why Generic Programming Matters. Presented at IPA Fall Days 2008. [ pdf ]
Events
2012
- Local organiser and participant at the 24th Symposium on Implementation and Application of Functional Languages, IFL'2012, August 30–1 September, Oxford, United Kingdom.
- Participant at the IPA Spring Days on Model-Driven Software Engineering, April 16–20, Garderen, the Netherlands.
- Participant at the Dutch FP day 2012, FP-dag'2012, January 6, Universiteit Utrecht, Utrecht, the Netherlands.
2011
- Participant at the IPA Spring Days on Bioinformatics, April 11–15, Vlijmen, the Netherlands.
- Participant at the Dutch FP day 2011, FP-dag'2011, January 7, University of Twente, Enschede, the Netherlands.
2010
- Participant at SIREN//NL and IPA Fall Days, November 1–3, Veldhoven, the Netherlands.
- Local organiser of the 22nd Symposium on Implementation and Application of Functional Languages, IFL'2010, September 1–3, Alphen aan den Rijn, the Netherlands.
- Participant at the Oregon Programming Languages Summer School: Logic, Languages, Compilation, and Verification, June 15–25, University of Oregon, Eugene, Oregon, United States of America.
- Participant at the IPA Spring Days on Multi-Core Computing, April 21–23, Oisterwijk, the Netherlands.
- Participant at the Spring School on Generic and Indexed Programming, March 22–26, University of Oxford, Oxford, United Kingdom.
- Participant at the Dutch Functional Programming day 2010, FP-dag'2010, January 8, Radboud Universiteit Nijmegen, the Netherlands.
2009
- Participant at the IPA Fall Days on Quantitative Methods for Embedded Systems, November 23–27, Noordwijk aan Zee, the Netherlands.
- Local organiser of the 5th Haskell Hackathon, Hac5, April 17–19, Universiteit Utrecht, the Netherlands.
2008
- Participant at the IPA Fall Days on Software Analysis, November 24–28, Nunspeet, the Netherlands.
- Participant at the IPA Course on Formal Methods, June 23–27, Technische Universiteit Eindhoven, the Netherlands.
- Participant at the Sixth International Summer School on Advanced Functional Programming, May 19–24, Center Parcs "Het Heijderbos", the Netherlands.
Teaching
2010
- Master course Generic Programming (assistant) at Universiteit Utrecht
2009
- Master course Generic Programming (assistant) at Universiteit Utrecht
2008
- Master course Generic Programming (assistant) at Universiteit Utrecht
![Validate my RSS feed [Valid RSS]](http://dreixel.net/images/valid-rss.png)