The del-calculus.: Functional programming with higher-order encodings

被引:0
|
作者
Schürmann, C [1 ]
Poswolsky, A [1 ]
Sarnat, JR [1 ]
机构
[1] Yale Univ, Dept Comp Sci, New Haven, CT 06511 USA
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Higher-order encodings use functions provided by one language to represent variable binders of another. They lead to concise and elegant representations, which historically have been difficult to analyze and manipulate. In this paper we present the del-calculus, a calculus for defining general recursive functions over higher-order encodings. To avoid problems commonly associated with using the same function space for representations and computations, we separate one from the other. The simply-typed A-calculus plays the role of the representation-level. The computation-level contains not only the usual computational primitives but also an embedding of the representation-level. It distinguishes itself from similar systems by allowing recursion under representation-level A-binders while permitting a natural style of programming which we believe scales to other logical frameworks. Sample programs include bracket abstraction, parallel reduction, and an evaluator for a simple language with first-class continuations.
引用
收藏
页码:339 / 353
页数:15
相关论文
共 50 条
  • [1] Hobbits for Haskell: A Library for Higher-Order Encodings in Functional Programming Languages
    Westbrook, Edwin
    Frisby, Nicolas
    Brauner, Paul
    HASKELL 11: PROCEEDINGS OF THE 2011 ACM SIGPLAN HASKELL SYMPOSIUM, 2011, : 35 - 46
  • [2] Hobbits for Haskell: A Library for Higher-Order Encodings in Functional Programming Languages
    Westbrook, Edwin
    Frisby, Nicolas
    Brauner, Paul
    ACM SIGPLAN NOTICES, 2011, 46 (12) : 35 - 46
  • [3] 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
  • [4] Practical programming with higher-order encodings and dependent types
    Poswolsky, Adam
    Schurmann, Carsten
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2008, 4960 : 93 - +
  • [5] Linear-algebraic λ-calculus: Higher-order, encodings, and confluence
    Arrighi, Pablo
    Dowek, Gilles
    REWRITING TECHNIQUES AND APPLICATIONS, PROCEEDINGS, 2008, 5117 : 17 - +
  • [6] Higher-Order Functions in Aesthetic EC Encodings
    McDermott, James
    Byrne, Jonathan
    Swafford, John Mark
    O'Neill, Michael
    Brabazon, Anthony
    2010 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2010,
  • [7] Reversibility in the higher-order π-calculus
    Lanese, Ivan
    Mezzina, Claudio Antares
    Stefani, Jean-Bernard
    THEORETICAL COMPUTER SCIENCE, 2016, 625 : 25 - 84
  • [8] A Reflective Higher-order Calculus
    Meredith, L. G.
    Radestock, Matthias
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 141 (05) : 49 - 67
  • [9] 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
  • [10] 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