@inproceedings{jpm:fghm:14,
  author = {Magalh\~aes, Jos\'e Pedro and Koops, Hendrik Vincent},
  title = {Functional Generation of Harmony and Melody},
  booktitle = {Proceedings of the Second ACM SIGPLAN Workshop on Functional Art, Music, Modeling \& Design},
  series = {FARM~'14},
  year = {2014},
  doi = {10.1145/2633638.2633645},
  publisher = {ACM},
}

@incollection{jpm:gpmp:14,
 year={2014},
 isbn={978-3-319-07150-3},
 booktitle={Functional and Logic Programming},
 volume={8475},
 series={Lecture Notes in Computer Science},
 editor={Codish, Michael and Sumii, Eijiro},
 doi={10.1007/978-3-319-07151-0_9},
 title={Generic Programming with Multiple Parameters},
 url={http://dx.doi.org/10.1007/978-3-319-07151-0_9},
 publisher={Springer International Publishing},
 author={Magalh\~aes, Jos\'e Pedro},
 pages={136--151},
}

@incollection{jpm:ggp:14,
 year={2014},
 booktitle={Practical Aspects of Declarative Languages},
 volume={8324},
 series={Lecture Notes in Computer Science},
 editor={Flatt, Matthew and Guo, Hai-Feng},
 doi={10.1007/978-3-319-04132-2\_15},
 title={Generic Generic Programming},
 publisher={Springer International Publishing},
 author={Magalh\~aes, Jos\'e Pedro and L\"oh, Andres},
 pages={216--231}
}

@inproceedings{jpm:osie:14,
  author = {Adams, Michael D. and Farmer, Andrew and Magalh\~aes, Jos\'e Pedro},
  title = {Optimizing {SYB} is Easy!},
  booktitle = {Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation},
  year = {2014},
  series = {PEPM~'14},
  address = {New York, NY, USA},
  publisher = {ACM},
  doi = {10.1145/2543728.2543730},
  pages = {71--82},
}

@incollection{jpm:ds:13,
 year = {2013},
 isbn = {978-3-642-40354-5},
 booktitle = {The Beauty of Functional Code},
 volume = {8106},
 series = {Lecture Notes in Computer Science},
 editor = {Achten, Peter and Koopman, Pieter},
 doi = {10.1007/978-3-642-40355-2\_11},
 title = {A Duality of Sorts},
 publisher = {Springer Berlin Heidelberg},
 author = {Hinze, Ralf and Magalh\~aes, Jos\'e Pedro and Wu, Nicolas},
 pages = {151--167}
}

@article{jpm:hafha:13,
  author = {De Haas, W. Bas and Magalh\~aes, Jos\'e Pedro and Wiering, Frans and Veltkamp, Remco C.},
  title = {{HarmTrace}: Automatic Functional Harmonic Analysis},
  journal = {Computer Music Journal},
  volume = {37:4},
  pages = {37--53},
  doi = {10.1162/COMJ_a_00209},
  year = {2013},
}

@inproceedings{jpm:faamh:13,
 author = {Koops, Hendrik Vincent and Magalh\~{a}es, Jos{\'e} Pedro and De Haas, W. Bas},
 title = {A Functional Approach to Automatic Melody Harmonisation},
 booktitle = {Proceedings of the First ACM SIGPLAN Workshop on Functional Art, Music, Modeling \& Design},
 series = {FARM '13},
 year = {2013},
 doi = {10.1145/2505341.2505343},
 publisher = {ACM},
 location = {Boston, Massachusetts, USA},
 pages = {47--58},
}

@inproceedings{jpm:grtt:13,
 author = {Bransen, Jeroen and Magalh\~{a}es, Jos{\'e} Pedro},
 title = {Generic Representations of Tree Transformations},
 booktitle = {Proceedings of the 9th ACM SIGPLAN Workshop on Generic Programming},
 series = {WGP '13},
 year = {2013},
 doi = {10.1145/2502488.2502490},
 location = {Boston, Massachusetts, USA},
 pages = {73--84},
 publisher = {ACM},
}

@incollection{jpm:pllmer:13,
 year={2013},
 isbn={978-3-642-41581-4},
 booktitle={Implementation and Application of Functional Languages},
 series={Lecture Notes in Computer Science},
 editor={Hinze, Ralf},
 doi={10.1007/978-3-642-41582-1\_13},
 title={Pure and Lazy Lambda Mining},
 publisher={Springer Berlin Heidelberg},
 author={Wu, Nicolas and Magalh\~{a}es, Jos{\'e} Pedro and Bransen, Jeroen and Swierstra, Wouter},
 pages={207--223},
}


@incollection{jpm:ogpi:13,
 year={2013},
 booktitle={Implementation and Application of Functional Languages},
 series={Lecture Notes in Computer Science},
 editor={Hinze, Ralf},
 doi={10.1007/978-3-642-41582-1\_7},
 title={Optimisation of Generic Programs Through Inlining},
 publisher={Springer Berlin Heidelberg},
 author={Magalh\~{a}es, Jos{\'e} Pedro},
 pages={104--121},
}


@phdthesis{jpm:thesis:12,
 author = {Magalh\~{a}es, Jos{\'e} Pedro},
 title = {Less Is More: Generic Programming Theory and Practice},
 year = {2012},
 isbn = {978-90-393-5823-8},
 school = {Universiteit Utrecht},
} 

@inproceedings{jpm:sbdl:12,
 author = {Hinze, Ralf and James, Daniel W.H. and Harper, Thomas and Wu, Nicolas and Magalh\~{a}es, Jos{\'e} Pedro},
 title = {Sorting with Bialgebras and Distributive Laws},
 booktitle = {Proceedings of the 8th ACM SIGPLAN Workshop on Generic Programming},
 series = {WGP '12},
 year = {2012},
 isbn = {978-1-4503-1576-0},
 location = {Copenhagen, Denmark},
 pages = {69--80},
 numpages = {12},
 doi = {10.1145/2364394.2364405},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{jpm:trkgp:12,
 author = {Magalh\~{a}es, Jos{\'e} Pedro},
 title = {The right kind of generic programming},
 booktitle = {Proceedings of the 8th ACM SIGPLAN Workshop on Generic Programming},
 series = {WGP '12},
 year = {2012},
 isbn = {978-1-4503-1576-0},
 location = {Copenhagen, Denmark},
 pages = {13--24},
 numpages = {12},
 doi = {10.1145/2364394.2364397},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{jpm:epdtecp:11,
 author = {Vytiniotis, Dimitrios and Peyton Jones, Simon and Magalh\~{a}es, Jos{\'e} Pedro},
 title = {Equality proofs and deferred type errors: a compiler pearl},
 booktitle = {Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming},
 series = {ICFP '12},
 year = {2012},
 isbn = {978-1-4503-1054-3},
 location = {Copenhagen, Denmark},
 pages = {341--352},
 numpages = {12},
 doi = {10.1145/2364527.2364554},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{jpm:iactehmk:12,
  author = {De Haas, W. Bas and Magalh\~aes, Jos\'e Pedro and Wiering, Frans},
  year = {2012},
  series = {ISMIR '12},
  title = {Improving Audio Chord Transcription by Exploiting Harmonic and Metric Knowledge},
  pages = {295--300},
  booktitle = {Proceedings of the 13th International Society for Music Information Retrieval Conference},
  publisher = {FEUP Edi\c{c}{\~o}es},
  isbn = {978-972-752-144-9},
  editor = {Fabien Gouyon and Perfecto Herrera and Luis Gustavo Martins and Meinard M{\"u}ller},
  location = {Porto, Portugal},
}

@inproceedings{jpm:fcadgp:12,
  author    = {Magalh\~aes, Jos\'e Pedro and L\"oh, Andres},
  year      = {2012},
  title     = {A Formal Comparison of Approaches to Datatype-Generic Programming},
  editor    = {Chapman, James and Levy, Paul Blain},
  booktitle = {Proceedings Fourth Workshop on
               Mathematically Structured Functional Programming,
               Tallinn, Estonia, 25 March 2012},
  series    = {Electronic Proceedings in Theoretical Computer Science},
  volume    = {76},
  publisher = {Open Publishing Association},
  pages     = {50--67},
  doi       = {10.4204/EPTCS.76.6},
}

@inproceedings{jpm:ghp:12,
 author = {Yorgey, Brent A. and Weirich, Stephanie and Cretin, Julien and 
           Peyton Jones, Simon and Vytiniotis, Dimitrios and
           Magalh\~aes, Jos\'e Pedro},
 title = {Giving {H}askell a Promotion},
 booktitle = {Proceedings of the 8th ACM SIGPLAN Workshop on Types in
              Language Design and Implementation},
 series = {TLDI '12},
 year = {2012},
 location = {Philadelphia, PA, USA},
 pages = {53--66},
 doi = {10.1145/2103786.2103795},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{jpm:hihseufha:11,
  author = {De Haas, W. Bas and Magalh\~aes, Jos\'e Pedro and Veltkamp,
            Remco C. and Wiering, Frans},
  title = {{HarmTrace}: Improving Harmonic Similarity Estimation Using Functional
           Harmony Analysis},
  booktitle = {Proceedings of the 12th International Society for Music
               Information Retrieval Conference},
  series = {ISMIR '11},
  pages = {67--72},
  year = {2011},
}

@inproceedings{jpm:fmmh:11,
 author = {Magalh\~{a}es, Jos{\'e} Pedro and de Haas, W. Bas},
 title = {Functional modelling of musical harmony: an experience report},
 booktitle = {Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming},
 series = {ICFP '11},
 year = {2011},
 isbn = {978-1-4503-0865-6},
 location = {Tokyo, Japan},
 pages = {156--162},
 numpages = {7},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{jpm:gpif:11,
 author = {L\"{o}h, Andres and Magalh\~{a}es, Jos{\'e} Pedro},
 title = {Generic programming with indexed functors},
 booktitle = {Proceedings of the 7th ACM SIGPLAN Workshop on Generic Programming},
 series = {WGP '11},
 year = {2011},
 isbn = {978-1-4503-0861-8},
 location = {Tokyo, Japan},
 pages = {1--12},
 numpages = {12},
 publisher = {ACM},
 address = {New York, NY, USA},
} 

@inproceedings{jpm:gpid:11,
 author = {Magalh\~aes, Jos\'e Pedro and Jeuring, Johan},
 title = {Generic programming for indexed datatypes},
 booktitle = {Proceedings of the 7th ACM SIGPLAN Workshop on Generic Programming},
 series = {WGP '11},
 year = {2011},
 isbn = {978-1-4503-0861-8},
 location = {Tokyo, Japan},
 pages = {37--46},
 numpages = {10},
 publisher = {ACM},
 address = {New York, NY, USA},
} 

@techreport{jpm:hafhatr:11,
  author = {De Haas, W. Bas and Magalh\~aes, Jos\'e Pedro and Wiering, Frans and
  Veltkamp, Remco C.},
  title = {{HarmTrace}: Automatic Functional Harmonic Analysis},
  institution = {Department of Information and Computing Sciences, Utrecht University},
  number = {UU-CS-2011-023},
  pubcat = {techreport},
  year = {2011},
}

@techreport{jpm:gpidtr:11,
  author = {Magalh\~aes, Jos\'e Pedro and Jeuring, Johan},
  title = {Generic Programming for Indexed Datatypes},
  institution = {Department of Information and Computing Sciences, Utrecht University},
  number = {UU-CS-2011-021},
  pubcat = {techreport},
  year = {2011},
}

@techreport{jpm:fmmhtr:11,
  author = {Magalh\~aes, Jos\'e Pedro and de Haas, W. Bas},
  title = {Experience Report: Functional Modelling of Musical Harmony},
  institution = {Department of Information and Computing Sciences, Utrecht University},
  number = {UU-CS-2011-007},
  pubcat = {techreport},
  year = {2011},
}

@inproceedings{jpm:gss:10,
  author = {Steenbergen, Martijn van and Magalh\~aes, Jos\'e Pedro and Jeuring, Johan},
  title = {Generic selections of subexpressions},
  booktitle = {Proceedings of the 6th ACM SIGPLAN Workshop on Generic Programming},
  series = {WGP '10},
  year = {2010},
  isbn = {978-1-4503-0251-7},
  pages = {37--48},
  location = {Baltimore, Maryland, USA},
  doi = {10.1145/1863495.1863501},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@inproceedings{jpm:gdmh:10,
  author = {Magalh\~aes, Jos\'e Pedro and Dijkstra, Atze and Jeuring, Johan and L\"{o}h, Andres},
  title = {A generic deriving mechanism for {Haskell}},
  booktitle = {Proceedings of the 3rd ACM Haskell Symposium on Haskell},
  series = {Haskell '10},
  year = {2010},
  isbn = {978-1-4503-0252-4},
  pages = {37--48},
  location = {Baltimore, Maryland, USA},
  doi = {10.1145/1863523.1863529},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@techreport{jpm:gdmhtr:10,
  author = {Magalh\~aes, Jos\'e Pedro and Dijkstra, Atze and Jeuring, Johan and L\"{o}h, Andres},
  title = {A generic deriving mechanism for {H}askell},
  institution = {Department of Information and Computing Sciences, Utrecht University},
  number = {UU-CS-2010-017},
  pubcat = {techreport},
  year = {2010},
}

@article{jpm:ladgr:10,
  author = {Noort, Thomas van and Rodriguez Yakushev, Alexey and Holdermans, Stefan and Jeuring, Johan and Heeren, Bastiaan and Magalh\~aes, Jos\'e Pedro},
  title = {A lightweight approach to datatype-generic rewriting},
  journal = {Journal of Functional Programming},
  volume = {20},
  number = {Special Issue 3-4},
  pages = {375-413},
  year = {2010},
  doi = {10.1017/S0956796810000183},
}

@inproceedings{jpm:ogie:10,
 address              = {New York, NY, USA},
 author               = {Magalh\~aes, Jos\'e Pedro and Holdermans, Stefan and Jeuring, Johan and L\"{o}h, Andres},
 booktitle            = {Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation},
 doi                  = {10.1145/1706356.1706366},
 isbn                 = {978-1-60558-727-1},
 location             = {Madrid, Spain},
 numpages             = {10},
 pages                = {33--42},
 publisher            = {ACM},
 series               = {PEPM '10},
 title                = {Optimizing Generics Is Easy!},
 year                 = {2010},
 }

@techreport{jpm:ladgrtr:10,
 author               = {Noort, Thomas~van and Rodriguez Yakushev, Alexey and Holdermans, Stefan and Jeuring, Johan and Heeren, Bastiaan and Magalh\~aes, Jos\'e Pedro},
 institution          = {Department of Information and Computing Sciences, Utrecht University},
 number               = {UU-CS-2010-008},
 pubcat               = {techreport},
 title                = {A Lightweight Approach to Datatype-generic Rewriting},
 year                 = {2010},
 }

@inproceedings{jpm:cstog:09,
 author               = {Klein Gunnewiek, Rene and Berretty, Robert-Paul and Barenbrug, Bart and Magalh\~aes, Jos\'e Pedro},
 booktitle            = {Proceedings of the SPIE Volume 7237, Stereoscopic Displays and Applications XX},
 editor               = {Andrew J. Woods and Nicolas S. Holliman and John O. Merritt},
 isbn                 = {9780819474872},
 publisher            = {SPIE},
 title                = {Coherent Spatial and Temporal Occlusion Generation},
 url                  = {{http://dreixel.net/research/pdf/cstog.pdf}},
 year                 = {2009},
 }

@inproceedings{jpm:gpdr:10,
 author               = {Jeuring, Johan and Magalh\~aes, Jos\'e Pedro and Heeren, Bastiaan},
 title                = {Generic Programming for Domain Reasoners},
 booktitle            = {Proceedings of the 10th Symposium on Trends in Functional Programming},
 series               = {TFP '09},
 editor               = {Zolt\'an Horv\'ath and Vikt\'oria Zs\'ok and Peter Achten and Pieter Koopman},
 isbn                 = {9781841504056},
 publisher            = {Intellect},
 pages                = {113--128},
 url                  = {{http://dreixel.net/research/pdf/gpdr.pdf}},
 year                 = {2010},
 }

@techreport{jpm:gpdrtr:09,
 author               = {Jeuring, Johan and Magalh\~aes, Jos\'e Pedro and Heeren, Bastiaan},
 institution          = {Department of Information and Computing Sciences, Utrecht University},
 number               = {UU-CS-2009-016},
 pubcat               = {techreport},
 title                = {Generic Programming for Domain Reasoners},
 url                  = {{http://www.cs.uu.nl/research/techreps/repo/CS-2009/2009-016.pdf}},
 year                 = {2009},
 }

@inproceedings{jpm:lgph:09,
 author               = {Jeuring, Johan and Leather, Sean and Magalh\~aes, {Jos\'e Pedro} and {Rodriguez Yakushev}, Alexey},
 booktitle            = {Advanced Functional Programming, 6th International School, AFP 2008, Revised Lectures},
 editor               = {Koopman, Pieter and Plasmeijer, Rinus and Swierstra, Doaitse},
 isbn                 = {978-3-642-04651-3},
 pages                = {165--229},
 publisher            = {Springer},
 series               = {Lecture Notes in Computer Science},
 title                = {Libraries for Generic Programming in {H}askell},
 volume               = {5832},
 year                 = {2009},
 }

@techreport{jpm:ogietr:09,
 author               = {Magalh\~aes, Jos\'e Pedro and Holdermans, Stefan and Jeuring, Johan and L{\"o}h, Andres},
 institution          = {Department of Information and Computing Sciences, Utrecht University},
 number               = {UU-CS-2009-022},
 pubcat               = {techreport},
 title                = {Optimizing Generics Is Easy!},
 url                  = {{http://www.cs.uu.nl/research/techreps/repo/CS-2009/2009-022.pdf}},
 year                 = {2009},
 }

@techreport{jpm:lgphtr:08,
 author               = {Jeuring, Johan and Leather, Sean and {Magalh\~aes}, Jos\'e Pedro and {Rodriguez Yakushev}, Alexey},
 institution          = {Department of Information and Computing Sciences, Utrecht University},
 number               = {UU-CS-2008-025},
 pubcat               = {techreport},
 title                = {Libraries for Generic Programming in {Haskell}},
 url                  = {{http://www.cs.uu.nl/research/techreps/repo/CS-2008/2008-025.pdf}},
 year                 = {2008},
 }

@inproceedings{jpm:fvip:07,
 author               = {Correia, Jos\'e Pedro and Magalh\~aes, Jos\'e Pedro and {Sousa Pinto}, Jorge},
 booktitle            = {Proceedings of the Conference on Compilers, Related Technologies and Applications},
 series               = {{CoRTA} '07},
 editor               = {Henriques, P. and Santos, V. and Sousa, S.},
 isbn                 = {978-972-8790-70-7},
 pages                = {74--85},
 publisher            = {Beira Interior University},
 title                = {Formally Verifying Imperative Programs},
 year                 = {2007},
 }

@misc{jpm:ovr:07,
 author               = {Magalh\~aes, Jos\'e Pedro},
 note                 = {Final internship report, Minho University (confidential until 2012)},
 title                = {Occluded video retrieval---Using temporal information for automatic generation of an occlusion layer from {2D} content for {3D} rendering},
 year                 = {2007},
 }
