10. Bibliography

[ABB+16]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 TACO. 2016.
[Ann18]Danil Annenkov. Adventures in Formalisation: Financial Contracts, Modules, and Two-Level Type Theory. PhD thesis, Department of Computer Science, Faculty of Science, University of Copenhagen, April 2018.
[Bir87]R. S. Bird. An Introduction to the Theory of Lists. In NATO Inst. on Logic of Progr. and Calculi of Discrete Design, 5–42. 1987.
[Ble90]Guy E Blelloch. Vector models for data-parallel computing. Volume 75. MIT press Cambridge, 1990.
[BHS+94]Guy E Blelloch, Jonathan C Hardwick, Jay Sipelstein, Marco Zagha, and Siddhartha Chatterjee. Implementation of a Portable Nested Data-Parallel Language. Journal of parallel and distributed computing, 21(1):4–14, 1994.
[Ell03]Conal Elliott. Functional images. In The Fun of Programming, “Cornerstones of Computing” series. Palgrave, March 2003. URL: http://conal.net/papers/functional-images/.
[Els98]Martin Elsman. Polymorphic equality—no tags required. In Second International Workshop on Types in Compilation (TIC‘98). March 1998.
[Els99]Martin Elsman. Static interpretation of modules. In Procedings of Fourth International Conference on Functional Programming (ICFP‘99), 208–219. ACM Press, September 1999.
[Els05]Martin Elsman. Type-specialized serialization with sharing. In Sixth Symposium on Trends in Functional Programming (TFP‘05). September 2005.
[EHAO18]Martin Elsman, Troels Henriksen, Danil Annenkov, and Cosmin E. Oancea. Static interpretation of higher-order modules in Futhark: functional GPU programming in the large. Proc. ACM Program. Lang., 2(ICFP):97:1–97:30, July 2018. URL: http://doi.acm.org/10.1145/3236792, doi:10.1145/3236792.
[Fly72]Michael J. Flynn. Some computer organizations and their effectiveness. IEEE Transactions of Computers, 21(9):948–960, September 1972.
[GHK+11]Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, and Dana Schaa. Heterogeneous Computing with OpenCL. Morgan Kaufmann, September 2011. Second Edition.
[Hen17]Troels Henriksen. Design and Implementation of the Futhark Programming Language. PhD thesis, University of Copenhagen, Universitetsparken 5, DK-2100 Copenhagen, 11 2017.
[HDU+16]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). ACM, September 2016.
[HEO14]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), 31–42. ACM, 2014.
[HEO18]Troels Henriksen, Martin Elsman, and Cosmin E. Oancea. Modular acceleration: tricky cases of functional high-performance computing. In Proceedings of the 7th ACM SIGPLAN International Workshop on Functional High-Performance Computing, FHPC 2018. New York, NY, USA, 2018. ACM.
[HLO16]Troels Henriksen, Ken Friis Larsen, and Cosmin E Oancea. Design and GPGPU performance of Futhark’s redomap construct. In Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, 17–24. ACM, 2016.
[HO14]Troels Henriksen and Cosmin E Oancea. Bounds checking: an instance of hybrid analysis. In Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY‘14), 88. ACM, 2014.
[HO13]Troels Henriksen and Cosmin Eugen Oancea. A T2 graph-reduction approach to fusion. In Proceedings of the 2nd ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC‘13)), 47–58. ACM, 2013.
[HSE+17]Troels Henriksen, Niels G. W. Serup, Martin Elsman, Fritz Henglein, and Cosmin E. Oancea. Futhark: purely functional GPU-programming with nested parallelism and in-place array updates. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, 556–571. New York, NY, USA, 2017. ACM. URL: http://doi.acm.org/10.1145/3062341.3062354, doi:10.1145/3062341.3062354.
[HTEO19]Troels Henriksen, Frederik Thorøe, Martin Elsman, and Cosmin E. Oancea. Incremental flattening for nested data parallelism. In Proceedings of the 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ‘19. ACM, February 2019.
[Hov18]Anders Kiel Hovgaard. Higher-order functions for a high-performance programming language for GPUs. Master’s thesis, Department of Computer Science, Faculty of Science, University of Copenhagen, Universitetsparken 5, DK-2100 Copenhagen, May 2018.
[HHE18]Anders Kiel Hovgaard, Troels Henriksen, and Martin Elsman. High-performance defunctionalization in Futhark. In Symposium on Trends in Functional Programming (TFP‘18). September 2018.
[Ken04]Andrew J. Kennedy. Functional pearl: pickler combinators. Jounal of Functional Programming, 14(6):727–739, November 2004.
[LH17]Rasmus Wriedt Larsen and Troels Henriksen. Strategies for regular segmented reductions on GPU. In Proceedings of the 6th ACM SIGPLAN International Workshop on Functional High-Performance Computing, FHPC 2017, 42–52. New York, NY, USA, 2017. ACM. URL: http://doi.acm.org/10.1145/3122948.3122952, doi:10.1145/3122948.3122952.
[Moo65]Gordon E. Moore. Cramming more components onto integrated circuits. Electronics, 38(8):114–117, April 1965.
[Moo75]Gordon E. Moore. Progress in Digital Integrated Electronics. In Technical Digest 1975, 11–13. IEEE, 1975. International Electron Devices Meeting.
[NBGS08]John Nickolls, Ian Buck, Michael Garland, and Kevin Skadron. Scalable parallel programming with cuda. Queue, 6(2):40–53, March 2008. URL: http://doi.acm.org/10.1145/1365490.1365500, doi:10.1145/1365490.1365500.
[Org16]Course Organizers. Algorithm Design: Parallel and Sequential. Carnegie Mellon University, September 2016. Course Book Draft Edition. Course Taught Fall 2016 by Umut Acar and Robert Harper.
[PJ93]John Peterson and Mark Jones. Implementing type classes. In Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, PLDI ‘93, 227–236. New York, NY, USA, 1993. ACM. URL: http://doi.acm.org/10.1145/155090.155112, doi:10.1145/155090.155112.
[Sch80]Jacob T. Schwartz. Ultracomputers. ACM Trans. Program. Lang. Syst., 2(4):484–521, October 1980. URL: http://doi.acm.org/10.1145/357114.357116, doi:10.1145/357114.357116.
[vN45]John von Neumann. First draft of a report on the EDVAC. Technical Report, Moore School of Electrical Engineering, University of Pennsylvania, June 1945.