skip to main content
10.1145/2897336.2897346acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiflConference Proceedingsconference-collections
research-article

Isomorphisms considered as equalities: Projecting functions and enhancing partial application through an implementation of λ+

Published:14 September 2015Publication History

ABSTRACT

We propose an implementation of λ+, a recently introduced simply typed lambda-calculus with pairs where isomorphic types are made equal. The rewrite system of λ+ is a rewrite system modulo an equivalence relation, which makes its implementation non-trivial. We also extend λ+ with natural numbers and general recursion and use Bekić's theorem to split mutual recursions. This splitting, together with the features of λ+, allows for a novel way of program transformation by reduction, by projecting a function before it is applied in order to simplify it. Also, currying together with the associativity and commutativity of pairs gives an enhanced form of partial application.

References

  1. P. Arrighi and A. Díaz-Caro. A System F accounting for scalars. Logical Methods in Computer Science, 8(1:11), 2012.Google ScholarGoogle Scholar
  2. P. Arrighi, A. Díaz-Caro, and B. Valiron. The vectorial lambda-calculus. Draft at arXiv:1308.1138, 2015. Considered for publication at Information & Computation.Google ScholarGoogle Scholar
  3. F. Barbanera, M. Dezani-Ciancaglini, and U. de' Liguoro. Intersection and Union Types: Syntax and Semantics. Information and Computation, 119:202--230, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Bekić. Definable operations in general algebras, and the theory of automata and flowcharts. In Programming Languages and Their Definition. H. Bekić (1936-1982), volume 177 of Lecture Notes in Computer Science, pages 30--55. Springer, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Bernadet and S. J. Lengrand. Non-idempotent intersection types and strong normalisation. Logical Methods in Computer Science, 9(4:3), 2013.Google ScholarGoogle Scholar
  6. G. Boudol. Lambda-calculi for (strict) parallel functions. Information & Computation, 108(1):51--127, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. B. Bruce, R. Di Cosmo, and G. Longo. Provable isomorphisms of types. Mathematical Structures in Computer Science, 2(2):231--247, 1992.Google ScholarGoogle ScholarCross RefCross Ref
  8. A. Bucciarelli, T. Ehrhard, and G. Manzonetto. A relational semantics for parallelism and non-determinism in a functional setting. Annals of Pure and Applied Logic, 163(7):918--934, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  9. G. Castagna, K. Nguyen, Z. Xu, H. Im, S. Lenglet, and L. Padovani. Polymorphic functions with set-theoretic types: Part 1: Syntax, semantics, and evaluation. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '14, pages 5--17, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. De Benedetti and S. Ronchi Della Rocca. Bounding normalization time through intersection types. In L. Paolini, editor, Proceedings of Sixth Workshop on Intersection Types and Related Systems (ITRS 2012), EPTCS, pages 48--57. Cornell University Library, 2013.Google ScholarGoogle Scholar
  11. U. de'Liguoro and A. Piperno. Non deterministic extensions of untyped λ-calculus. Information & Computation, 122(2):149--177, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Di Cosmo and D. Kesner. A confluent reduction for the extensional typed λ-calculus with pairs, sums, recursion and terminal object. In ICALP'93, volume 700 of Lecture Notes in Computer Science, pages 645--656. Springer, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Díaz-Caro and G. Dowek. Simply typed lambda-calculus modulo type isomorphisms. Draft at hal-01109104, 2015.Google ScholarGoogle Scholar
  14. A. Díaz-Caro and G. Dowek. Quantum superpositions and projective measurement in the lambda calculus. arXiv:1601.04294, 2016.Google ScholarGoogle Scholar
  15. A. Díaz-Caro, G. Manzonetto, and M. Pagani. Call-by-value non-determinism in a linear logic type discipline. In LFCS' 13, volume 7734 of Lecture Notes in Computer Science, pages 164--178, 2013.Google ScholarGoogle Scholar
  16. J. Dunfield. Elaborating intersection and union types. J. Functional Programming, 24(2-3):133--165, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  17. J. Garrigue and H. Aït-Kaci. The typed polymorphic label-selective λ-calculus. In Proceedings of POPL 1994, ACM SIGPLAN, pages 35--47, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Kesner and D. Ventura. Quantitative types for the linear substitution calculus. In J. Diaz, I. Lanese, and D. Sangiorgi, editors, Theoretical Computer Science, volume 8705 of Lecture Notes in Computer Science, pages 296--310. Springer Berlin Heidelberg, 2014.Google ScholarGoogle Scholar
  19. M. Pagani and S. Ronchi Della Rocca. Linearity, non-determinism and solvability. Fundamenta Informaticae, 103(1-4):173--202, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Pimentel, S. Ronchi Della Rocca, and L. Roversi. Intersection Types from a Proof-theoretic Perspective. Fundamenta Informaticae, 121(1-4):253--274, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Isomorphisms considered as equalities: Projecting functions and enhancing partial application through an implementation of λ+

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        IFL '15: Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages
        September 2015
        140 pages
        ISBN:9781450342735
        DOI:10.1145/2897336
        • Program Chair:
        • Ralf Lämmel

        Copyright © 2015 ACM

        Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 14 September 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate19of36submissions,53%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader