• Robert Schenck, Nikolaj Hey Hinnerskov, Troels Henriksen, Magnus Madsen, Martin Elsman. AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming. In Proceedings of the ACM on Programming Languages, Volume 8, Issue OOPSLA2. Article No.: 334, 27 pages. Pasadena, USA. October, 2024. ACM DL. PDF.

  • Martin Elsman. Double-Ended Bit-Stealing for Algebraic Data Types. In Proceedings of the 2024 ACM SIGPLAN International Conference on Functional Programming (ICFP ‘24). Milan, Italy. September 4-6, 2024. Abstract. PDF.

  • Martin Elsman. Explicit Effects and Effect Constraints in ReML. In Proceedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages (POPL ‘24), London, United Kingdom. January 17-19, 2024. Abstract. PDF.

  • Lubin Bailly, Troels Henriksen, Martin Elsman. Shape-Constrained Array Programming with Size-Dependent Types. In Proceedings of the 2023 ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing (FHPNC ‘23). Seattle, Washington, USA. September, 2023. PDF.

  • Martin Elsman. Programming with Explicit Effects in ReML. In Informal Proceeding of the 2023 ML Family Workshop (ML ‘23), Seattle, Washington, USA. September 2023. Abstract.

  • Martin Elsman and Troels Henriksen. Parallelism in a Region Inference Context. In Proceedings of the 44th ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’23), Orlando, Florida, USA. June 17-21, 2023. DOI, Abstract, Proofs. PDF.

  • Martin Elsman. Garbage-Collection Safety for Region-Based Type-Polymorphic Programs. In Proceedings of the 44th ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’23), Orlando, Florida, USA. June 17-21, 2023. DOI, Abstract, Proofs. PDF.

  • Martin Elsman, Fritz Henglein, Robin Kaarsgaard, Mikkel K. Mathiesen, and Robert Schenck. Combinatory adjoints and differentiation. In Ninth Workshop on Mathematically Structured Functional Programming (MSFP 2022). Munich, Germany. April, 2022. PDF.

  • Troels Henriksen and Martin Elsman. Towards Size-Dependent Types for Array Programming. In Proceedings of the 8th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming (ARRAY ‘21). Virtual Event. June, 2021. PDF.

  • Martin Elsman and Niels Hallenberg. Integrating region memory management and tag-free generational garbage collection. In Journal of Functional Programming (JFP). Volume 31, E4. DOI. Cambridge University Press. February 2021. PDF.

  • Martin Elsman and Ken Friis Larsen. Efficient Translation of Certain Irregular Data-Parallel Array Comprehensions (Extended Abstract). In Draft Proceedings of the 21st International Symposium on Trends in Functional Programming (TFP ‘20). Krakow, Poland. February 2020. PDF.

  • Martin Elsman and Niels Hallenberg. On the Effects of Integrating Region-based Memory Management and Generational Garbage Collection in ML. In International Symposium on Practical Aspects of Declarative Languages (PADL ‘20). New Orleans, USA. January, 2020. PDF.

  • Wojciech Pawlak, Martin Elsman, and Cosmin Oancea. A Functional Approach to Accelerating Monte Carlo based American Option Pricing. In 31st symposium on Implementation and Application of Functional Languages (IFL ‘19). Singapore. September, 2019.

  • Wojciech Pawlak, Martin Elsman, and Cosmin Oancea. Extended Abstract: A Functional Approach to Accelerating Monte Carlo based American Option Pricing. Presented at the 8th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing (FHPNC ‘19). Berlin, Germany. August, 2019. PDF.

  • Duc Minh Tran, Troels Henriksen, and Martin Elsman. Compositional Deep Learning in Futhark. In Proceedings of the 8th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing (FHPNC ‘19). Berlin, Germany. August, 2019. PDF.

  • Martin Elsman, Troels Henriksen, and Niels G. W. Serup. Data-Parallel Flattening by Expansion. In Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming (ARRAY ‘19). Phoenix, AZ, USA. June, 2019. PDF.

  • Troels Henriksen, Frederik Thorøe, Martin Elsman, and Cosmin Oancea. Incremental Flattening for Nested Data Parallelism. In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming (PPoPP ‘19). Washington, DC, USA. February 2019. PDF.

  • Martin Elsman, Philip Munksgaard, and Ken Friis Larsen. Experience Report: Type-Safe Multi-Tier Programming with Standard ML Modules. In Proceedings of the ML Family Workshop (ML ‘18). St. Louis, Missouri, USA. September 2018. PDF.

  • Troels Henriksen, Martin Elsman, and Cosmin E. Oancea. Modular Acceleration: Tricky Cases of Functional High-Performance Computing. In Proceedings of the 6th ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC ‘18). St. Louis, Missouri, USA. September 2018. PDF.

  • Martin Elsman, Troels Henriksen, Danil Annenkov, Cosmin E. Oancea. Static Interpretation of Higher-Order Modules in Futhark. In Proceedings of the 2018 ACM SIGPLAN International Conference on Functional Programming (ICFP ‘18). St. Louis, Missouri, USA. September 2018. PDF.

  • Danil Annenkov and Martin Elsman. Certified Compilation of Financial Contracts. In Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming (PPDP ‘18). Frankfurt am Main, Germany. September 2018. PDF.

  • Anders Kiel Hovgaard, Troels Henriksen, and Martin Elsman. High-Performance Defunctionalisation in Futhark. In Trends in Functional Programming (TFP ‘18). Gothenburg, Sweden. June 2018. PDF.

  • Benjamin Egelund-Müller, Martin Elsman, Fritz Henglein, and Omri Ross. Automated Execution of Financial Contracts on Blockchains. In Journal of Business and Information Systems Engineering (BISE). Nov 2017. PDF.

  • Troels Henriksen, Niels G. W. Serup, Martin Elsman, Fritz Henglein, and Cosmin Oancea. Futhark: Purely Functional GPU-programming with Nested Parallelism and In-place Array Updates. In Proceedings of the 2017 ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ‘17). Barcelona, Spain. June 2017. PDF.

  • Danil Annenkov and Martin Elsman. Towards Certified Compilation of Financial Contracts. In Proceedings of the 28th Nordic Workshop on Programming Theory (NWPT ‘16). Aalborg, DK. November, 2016. PDF.

  • Martin Dybdal, Martin Elsman, Bo Joel Svensson, and Mary Sheeran. Low-level Functional GPU Programming for Parallel Algorithms. In Proceedings of the 5th ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC ‘16). Nara, Japan. September, 2016. (Preliminary version appeared at CPC ‘16). PDF.

  • Troels Henriksen, Martin Dybdal, Henrik Urms, Anna Sofie Kiehn, Daniel Gavin, Hjalte Abelskov, Martin Elsman, and Cosmin Oancea. APL on GPUs - A TAIL from the Past, Scribbled in Futhark. In Proceedings of the 5th ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC ‘16). Nara, Japan. September, 2016. PDF.

  • Christian Andreetta, Vivien Bégot, Jost Berthold, Martin Elsman, Fritz Henglein, Troels Henriksen, Maj-Britt Nordfang, and Cosmin E. Oancea. FinPar: A Parallel Financial Benchmark. In ACM Transactions on Architecture and Code Optimization (TACO). Volume 13, Issue 2, Article 18. 27 pages. June 2016. DOI. (Preliminary version appeared at CPC ‘15). PDF.

  • Patrick Bahr, Jost Berthold, and Martin Elsman. Certified Symbolic Management of Financial Multi-Party Contracts. In Proceedings of the 2015 ACM SIGPLAN International Conference on Functional Programming (ICFP ‘15). Vancouver, Canada. September 2015. PDF.

  • Michael Budde, Martin Dybdal, and Martin Elsman. Compiling APL to Accelerate through a Typed Array Intermediate Language. In Proceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming (ARRAY ‘15). Portland, Oregon, USA. June, 2015. PDF.

  • Patrick Bahr, Jost Berthold, and Martin Elsman. Towards Certified Management of Financial Contracts. In Proceedings of the 26th Nordic Workshop on Programming Theory (NWPT ‘14). Halmstad, SE. October, 2014. PDF.

  • Troels Henriksen, Martin Elsman, and Cosmin E. Oancea. Size Slicing - A Hybrid Approach to Size Inference in Futhark. In Proceedings of the 3rd ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC ‘14). Guthenburg, SE. September, 2014. PDF.

  • Martin Elsman and Martin Dybdal. Compiling a Subset of APL Into a Typed Intermediate Language. In ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming (ARRAY ‘14). Edinburgh, UK. June, 2014. pdf, bibtex.

  • Martin Elsman and Anders Schack-Nielsen. Typelets - A Rule-Based Evaluation Model for Dynamic, Statically Typed User Interfaces. In International Symposium on Practical Aspects of Declarative Languages (PADL ‘14). San Diego, USA. January, 2014. pdf.

  • Martin Elsman. SMLtoJs: Hosting a Standard ML Compiler in a Web Browser. In ACM SIGPLAN 2011 International Workshop on Programming Language And Systems Technologies for Internet Clients (PLASTIC ‘11). Portland, Oregon, USA. October, 2011. pdf.

  • Martin Elsman. Type-Specialized Serialization with Sharing. In Sixth Symposium on Trends in Functional Programming (TFP ‘05). Tallinn, Estonia. September 2005. pdf, bibtex.

  • Martin Elsman and Ken Friis Larsen. Typing XHTML Web Applications in ML. In International Symposium on Practical Aspects of Declarative Languages (PADL ‘04). Dallas, USA. June 2004. pdf, bibtex.

  • Mads Tofte, Lars Birkedal, Martin Elsman, and Niels Hallenberg. A Retrospective on Region-Based Memory Management. Higher-Order and Symbolic Computation (HOSC). 17(3): 245-265, September 2004, Copyright © 2004 Kluwer Academic Publishers. pdf, bibtex.

  • Martin Elsman. Garbage Collection Safety for Region-based Memory Management. In Proceedings of ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI ‘03). New Orleans, Louisiana, USA. January 2003. pdf, bibtex.

  • Martin Elsman and Niels Hallenberg. Web Programming with SMLserver. In Fifth International Symposium on Practical Aspects of Declarative Languages (PADL ‘03). New Orleans, Louisiana, USA. January 2003. pdf, bibtex.

  • Niels Hallenberg, Martin Elsman, and Mads Tofte. Combining Region Inference and Garbage Collection. In ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI ‘02). Berlin, Germany. June 2002. pdf, bibtex.

  • Martin Elsman. Static Interpretation of Modules. In Fourth International Conference on Functional Programming (ICFP ‘99). Paris, France. September 1999. pdf, bibtex.

  • Martin Elsman. Polymorphic Equality - No Tags Required. In Second International Workshop on Types in Compilation (TIL ‘98). Kyoto, Japan. March 1998. pdf, bibtex.

Theses

  • Martin Elsman. Program Modules, Separate Compilation, and Intermodule Optimisation. PhD thesis. Revised. Department of Computer Science, University of Copenhagen. January 1999. pdf, bibtex.

  • Martin Elsman. A Portable Standard ML Implementation. Master’s Thesis. Technical University of Denmark. August 1994. pdf, bibtex.

Technical Reports

  • Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, and Peter Sestoft. Programming with Regions in the MLKit (revised for Version 4.7.2). Department of Computer Science, University of Copenhagen. December 2022. pdf, bibtex.

  • Martin Elsman. Garbage-Collection Safety for Region-Based Type-Polymorphic Programs. Department of Computer Science, University of Copenhagen (DIKU), Denmark. DIKU Technical report. December 2022. pdf.

  • Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, and Peter Sestoft. Programming with Regions in the MLKit (revised for Version 4.6.0). Department of Computer Science, University of Copenhagen. December 2021. pdf, bibtex.

  • Martin Elsman and Niels Hallenberg. Combining Region Inference and Generational Garbage Collection. Department of Computer Science, University of Copenhagen (DIKU), Denmark. DIKU Technical report 2019/01. ISSN 0107-8283. November 2019. pdf.

  • Martin Elsman, Troels Henriksen, and Cosmin Oancea. Parallel Programming in Futhark. Edition 0.8. Department of Computer Science, University of Copenhagen. November 2018. pdf, bibtex, latest-pdf, latest-html.

  • Christian Andreetta, Vivien Begot, Jost Berthold, Martin Elsman, Troels Henriksen, Maj-Britt Nordfang, and Cosmin Oancea. A Financial Benchmark for GPGPU Compilation. DIKU Technical Report no 2015/02. ISSN 0107-8283. Extended version of CPC ‘15 paper. January 2015. pdf.

  • Martin Elsman. A Framework for Cut-Off Incremental Recompilation and Inter-Module Optimization. IT University of Copenhagen, Denmark. IT University Technical Report. April 2008. pdf, bibtex.

  • Martin Elsman. Fault-Tolerant Voting in a Simply-Typed Lambda Calculus. IT University of Copenhagen, Denmark. IT University Technical Report Series. TR-2007-99. June 2007. pdf, bibtex.

  • Martin Elsman, Niels Hallenberg, and Carsten Varming. SMLserver — A Functional Approach to Web Publishing (Second Edition). IT University of Copenhagen, Denmark. April, 2007. pdf, bibtex.

  • Glenstrup, A. J., Damgaard, T. C., Birkedal, L., and Elsman, M. BDNF-based Matching of Bigraphs. IT University of Copenhagen. IT University Technical Report Series. TR-2006-93. 2006. pdf, bibtex.

  • Martin Elsman. Type-Specialized Serialization with Sharing. IT University of Copenhagen. IT University Technical Report Series. TR-2004-43. February, 2004. pdf, bibtex, gzipped code.

  • Martin Elsman and Ken Friis Larsen. Typing XHTML Web Applications in SMLserver. IT University of Copenhagen. IT University Technical Report Series. TR-2003-34. October, 2003. pdf, bibtex.

  • Martin Elsman. Typed Regions for Tag-Free Garbage Collection. IT University of Copenhagen. IT University Technical Report. October 2002. pdf.

  • Martin Elsman and Niels Hallenberg. A Region-Based Abstract Machine for the ML Kit. Royal Veterinary and Agricultural University of Denmark and IT University of Copenhagen. IT University Technical Report Series. TR-2002-18. August, 2002. pdf, bibtex.

  • Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, and Peter Sestoft. Programming with Regions in the MLKit (revised for Version 4.3.0). Technical Report. IT University of Copenhagen. Januar 2006. pdf, bibtex.

  • Martin Elsman and Niels Hallenberg. SMLserver - A Functional Approach to Web Publishing. Royal Veterinary and Agricultural University of Denmark and IT University of Copenhagen. February, 2002. pdf, bibtex. Newer edition above!

  • Martin Elsman, Jeffrey S. Foster, and Alexander Aiken. Carillon - A System to Find Y2K Problems in C Programs. User’s Manual. Computer Science Division, University of California, Berkeley. July 1999. pdf, bibtex, press.

  • Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, Peter Sestoft and Peter Bertelsen. Programming with Regions in the ML Kit (for Version 3). Technical Report 98/25. Department of Computer Science, University of Copenhagen. December 1998. pdf, bibtex.

  • Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, Peter Sestoft and Peter Bertelsen. Programming with Regions in the ML Kit. Technical Report 97/12. Department of Computer Science, University of Copenhagen. April 1997. There is a newer version of this document - see above. bibtex.

  • Martin Elsman and Niels Hallenberg. An Optimizing Backend for the ML Kit Using a Stack of Regions. Student Project. Department of Computer Science, University of Copenhagen. July 1995. pdf.

Notes

  • Martin Elsman. Dynamic Programming in Futhark. Note on using the dpsolver dynamic programming library in Futhark. Department of Computer Science, University of Copenhagen. October 23, 2021. pdf.

  • Martin Elsman. Efficient Online User Tracking. Note on using unification for efficient online user tracking. Work done while at Zecure.com. July 2006. pdf.

  • Martin Elsman. User Authorization for a Hierarchical Account System. Note on implementing an authorization procedure for a hierarchical account system. Work done while at Zecure,com. August 2006. pdf.

  • Martin Elsman. Polymorphism and Unification of Cyclic Terms. Note on unification of terms. Computer Science Division, University of California, Berkeley. July 1999. pdf.

  • Martin Elsman. Separate Compilation and Cut-off Incremental Recompilation. Note on implementing separate compilation and cut-off incremental recompilation in the TIL Standard ML compiler. Work done while at Department of Computer Science, University of Copenhagen. May 1997. pdf.

  • Martin Elsman. Optimising Typed Programs. Department of Computer Science, University of Copenhagen (DIKU). January 1998. Note on optimising intermediate language programs in the MLKit compiler. pdf, exercises.

Position Papers

  • Sune Lundtoft (Finansforbundet), Josefine Boel Rasmussen (Finansforbundet), Kent Petersen (Finansforbundet), Magnus Balslev Jensen (FTF), Thomas Krogh Jensen (Copenhagen Fintech Lab), Lisa Herold Ferbing (DJØF), Rune Mai (Spiir), Troels Holmberg (Forbrugerrådet TÆNK), Martin Elsman (KU), Simon Haldrup (Danske Bank), Anders Hvid (DareDisrupt), Sune Maegaard Løvsø (IDA), Christian Olesen (IDA). Fintech i Fremtidens Danmark - muligheder og udfordringer. Sirikommisionen. In Danish. June 2018. PDF

  • Anja Thoe Fuglsang, Dorthe Dahl-Jensen, Kell Mortensen, Lotte Holm, Lotte Lauritzen, Martin Elsman, Michael Lisby, and Tove Enggrob Boon. SCIENCE Position paper on the ninth EU Research Framework Programme (FP9). SCIENCE, University of Copenhagen. June 2017. PDF.

Selected Presentations

  • Martin Elsman. Size-Dependent Types for Practical Data-Parallel Programming. Oxford Seminar on Tensor Computation. December 2, 2021. pdf, video.

  • Martin Elsman. Smarter Blockchains - from Transactions to Contracts. Blockchain Workshop, Dallund Slot. May 2018. pdf.

  • Martin Elsman. Blockchains and Bitcoins - how and why it works. Blockchain Workshop, Dallund Slot. May 2018. pdf.

  • Martin Elsman. APL on GPUs – A Progress Report with a Touch of Machine Learning. Dyalog ‘17 User Meeting. Elsinore, Denmark. October, 2017. pdf, video.

  • Martin Elsman. Compiling a Subset of APL into Performance Efficient GPU Programs. Dyalog ‘16 User Meeting. Glasgow, Scotland. October, 2016. pdf, video.

  • Martin Elsman. Functional Programming for Trade Management and Valuation. Seminar on Functional High Performance Computing in Finance. December 14, 2010. pdf.

  • Martin Elsman. Hosting a Standard ML Compiler in a Web Browser. September 2010. ML Workshop 2010, Baltimore, USA. pdf.