Static Interpretation of Higher-Order Modules in Futhark: Functional GPU Programming in the Large

被引:10
|
作者
Elsman, Martin [1 ]
Henriksen, Troels [1 ]
Annenkov, Danil [2 ]
Oancea, Cosmin E. [1 ]
机构
[1] Univ Copenhagen, Dept Comp Sci, Copenhagen, Denmark
[2] INRIA, GALLINETTE Res Team, Nantes, France
关键词
modules; GPGPU; functional languages; compilers; TYPED LAMBDA-CALCULUS; NORMALIZATION;
D O I
10.1145/3236792
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a higher-order module system for the purely functional data-parallel array language Futhark. The module language has the property that it is completely eliminated at compile time, yet it serves as a powerful tool for organizing libraries and complete programs. The presentation includes a static and a dynamic semantics for the language in terms of, respectively, a static type system and a provably terminating elaboration of terms into terms of an underlying target language. The development is formalised in Coq using a novel encoding of semantic objects based on products, sets, and finite maps. The module language features a unified treatment of module type abstraction and core language polymorphism and is rich enough for expressing practical forms of module composition.
引用
收藏
页数:30
相关论文
共 50 条
  • [1] Static Interpretation of Higher-Order Modules in Futhark: Functional GPU Programming in the Large
    Elsman, Martin
    Henriksen, Troels
    Annenkov, Danil
    Oancea, Cosmin E.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [2] Higher-Order Functional Reactive Programming in Bounded Space
    Krishnaswami, Neelakantan R.
    Benton, Nick
    Hoffmann, Jan
    POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2012, : 45 - 58
  • [3] VISAVIS - A HIGHER-ORDER FUNCTIONAL VISUAL PROGRAMMING LANGUAGE
    POSWIG, J
    VRANKAR, G
    MORARA, C
    JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 1994, 5 (01): : 83 - 111
  • [4] Higher-Order Functional Reactive Programming in Bounded Space
    Krishnaswami, Neelakantan R.
    Benton, Nick
    Hoffmann, Jan
    ACM SIGPLAN NOTICES, 2012, 47 (01) : 45 - 58
  • [5] Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions
    Pientka, Brigitte
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (07) : 41 - 60
  • [6] Higher-Order Functional Reactive Programming without Spacetime Leaks
    Krishnaswami, Neelakantan R.
    ACM SIGPLAN NOTICES, 2013, 48 (09) : 221 - 232
  • [7] A complete narrowing calculus for higher-order functional logic programming
    Nakahara, K
    Middeldorp, A
    Ida, T
    PROGRAMMING LANGUAGES: IMPLEMENTATIONS, LOGICS AND PROGRAMS, 1995, 982 : 97 - 114
  • [8] HIGHER-ORDER LOGIC PROGRAMMING
    MILLER, DA
    NADATHUR, G
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 225 : 448 - 462
  • [9] The del-calculus.: Functional programming with higher-order encodings
    Schürmann, C
    Poswolsky, A
    Sarnat, JR
    TYPED LAMBDA CALCULI AND APPLICATIONS, PROCEEDINGS, 2005, 3461 : 339 - 353
  • [10] HIGHER-ORDER LOGIC PROGRAMMING
    MILLER, DA
    NADATHUR, G
    JOURNAL OF SYMBOLIC LOGIC, 1986, 51 (03) : 851 - 851