Skip to main content

Showing 1–11 of 11 results for author: Licata, D R

Searching in archive cs. Search in all archives.
.
  1. arXiv:2304.02145  [pdf, ps, other

    cs.PL

    Gradual Typing for Effect Handlers

    Authors: Max S. New, Eric Giovannini, Daniel R. Licata

    Abstract: We present a gradually typed language, GrEff, with effects and handlers that supports migration from unchecked to checked effect typing. This serves as a simple model of the integration of an effect typing discipline with an existing effectful typed language that does not track fine-grained effect information. Our language supports a simple module system to model the programming model of gradual m… ▽ More

    Submitted 4 April, 2023; originally announced April 2023.

    Comments: Extended version with appendix

  2. arXiv:2210.08663  [pdf, ps, other

    math.CT cs.LO

    A Formal Logic for Formal Category Theory (Extended Version)

    Authors: Max S. New, Daniel R. Licata

    Abstract: We present a domain-specific type theory for constructions and proofs in category theory. The type theory axiomatizes notions of category, functor, profunctor and a generalized form of natural transformations. The type theory imposes an ordered linear restriction on standard predicate logic, which guarantees that all functions between categories are functorial, all relations are profunctorial, and… ▽ More

    Submitted 18 February, 2023; v1 submitted 16 October, 2022; originally announced October 2022.

    Comments: Extended version

  3. Denotational recurrence extraction for amortized analysis

    Authors: Joseph W. Cutler, Daniel R. Licata, Norman Danner

    Abstract: A typical way of analyzing the time complexity of functional programs is to extract a recurrence expressing the running time of the program in terms of the size of its input, and then to solve the recurrence to obtain a big-O bound. For recurrence extraction to be compositional, it is also necessary to extract recurrences for the size of outputs of helper functions. Previous work has developed tec… ▽ More

    Submitted 31 July, 2020; v1 submitted 26 June, 2020; originally announced June 2020.

    Comments: To appear in ICFP 2020; formatting changes

    ACM Class: F.3.1; F.3.2

    Journal ref: Proc. ACM Program. Lang. 4, ICFP, Article 97 (August 2020)

  4. Denotational semantics as a foundation for cost recurrence extraction for functional languages

    Authors: Norman Danner, Daniel R. Licata

    Abstract: A standard informal method for analyzing the asymptotic complexity of a program is to extract a recurrence that describes its cost in terms of the size of its input, and then to compute a closed-form upper bound on that recurrence. We give a formal account of that method for functional programs in a higher-order language with let-polymorphism. The method consists of two phases. In the first phase,… ▽ More

    Submitted 20 May, 2022; v1 submitted 17 February, 2020; originally announced February 2020.

    Comments: Revisions, mostly minor, some more discussion of related work. To appear in Journal of Functional Programming

    ACM Class: F.3.2

    Journal ref: Journal of Functional Programming 32, 2022

  5. arXiv:1911.04588  [pdf, other

    cs.PL cs.LO

    Recurrence Extraction for Functional Programs through Call-by-Push-Value (Extended Version)

    Authors: G. A. Kavvos, Edward Morehouse, Daniel R. Licata, Norman Danner

    Abstract: The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from the syntax of higher-order recursive functional programs. The resulting recurrences, which are programs in a call-by-name language with recursion, explicitly comp… ▽ More

    Submitted 11 November, 2019; originally announced November 2019.

    Comments: POPL 2020

    ACM Class: F.3.2

    Journal ref: Proc. ACM Program. Lang. 4, POPL, Article 15 (January 2020)

  6. arXiv:1811.02440  [pdf, ps, other

    cs.PL

    Gradual Type Theory (Extended Version)

    Authors: Max S. New, Daniel R. Licata, Amal Ahmed

    Abstract: Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. While existing gradual type soundness theorems for these languages aim to show that type-based reasoning is preserved when moving from the fully static setting to a gradual one, these theorems do not imply that correctness of type-based refactoring… ▽ More

    Submitted 6 November, 2018; originally announced November 2018.

    Comments: Extended version of "Gradual Type Theory", to appear POPL 2019

  7. Call-by-name Gradual Type Theory

    Authors: Max S. New, Daniel R. Licata

    Abstract: We present gradual type theory, a logic and type theory for call-by-name gradual typing. We define the central constructions of gradual typing (the dynamic type, type casts and type error) in a novel way, by universal properties relative to new judgments for gradual type and term dynamism, which were developed in blame calculi and to state the "gradual guarantee" theorem of gradual typing. Combine… ▽ More

    Submitted 29 January, 2020; v1 submitted 31 January, 2018; originally announced February 2018.

    Journal ref: Logical Methods in Computer Science, Volume 16, Issue 1 (January 31, 2020) lmcs:5154

  8. Internal Universes in Models of Homotopy Type Theory

    Authors: Daniel R. Licata, Ian Orton, Andrew M. Pitts, Bas Spitters

    Abstract: We begin by recalling the essentially global character of universes in various models of homotopy type theory, which prevents a straightforward axiomatization of their properties using the internal language of the presheaf toposes from which these model are constructed. We get around this problem by extending the internal language with a modal operator for expressing properties of global elements.… ▽ More

    Submitted 5 July, 2018; v1 submitted 23 January, 2018; originally announced January 2018.

    Comments: In H. Kirchner (ed), Proceedings of the 3rd International Conference on Formal Structures for Computation and Deduction (FSCD 2018), Leibniz International Proceedings in Informatics (LIPIcs), Vol. 108, pp. 22:1-22:17, 2018

    ACM Class: F.4.1; F.3.2

    Journal ref: Leibniz International Proceedings in Informatics (LIPIcs), Vol. 108, pp. 22:1-22:17, 2018

  9. arXiv:1506.01949  [pdf, ps, other

    cs.PL

    Denotational cost semantics for functional languages with inductive types

    Authors: Norman Danner, Daniel R. Licata, Ramyaa Ramyaa

    Abstract: A central method for analyzing the asymptotic complexity of a functional program is to extract and then solve a recurrence that expresses evaluation cost in terms of input size. The relevant notion of input size is often specific to a datatype, with measures including the length of a list, the maximum element in a list, and the height of a tree. In this work, we give a formal account of the extrac… ▽ More

    Submitted 5 June, 2015; originally announced June 2015.

    Comments: To appear in ICFP 2015

    ACM Class: F.3.1; F.3.2

  10. arXiv:1301.3443  [pdf, ps, other

    math.LO cs.PL math.AT

    Calculating the Fundamental Group of the Circle in Homotopy Type Theory

    Authors: Daniel R. Licata, Michael Shulman

    Abstract: Recent work on homotopy type theory exploits an exciting new correspondence between Martin-Lof's dependent type theory and the mathematical disciplines of category theory and homotopy theory. The category theory and homotopy theory suggest new principles to add to type theory, and type theory can be used in novel ways to formalize these areas of mathematics. In this paper, we formalize a basic res… ▽ More

    Submitted 15 January, 2013; originally announced January 2013.

    Comments: 10 pages

  11. A Monadic Formalization of ML5

    Authors: Daniel R. Licata, Robert Harper

    Abstract: ML5 is a programming language for spatially distributed computing, based on a Curry-Howard correspondence with the modal logic S5. Despite being designed by a correspondence with S5 modal logic, the ML5 programming language differs from the logic in several ways. In this paper, we explain these discrepancies between ML5 and S5 by translating ML5 into a slightly different logic: intuitionistic S5… ▽ More

    Submitted 14 September, 2010; originally announced September 2010.

    Comments: In Proceedings LFMTP 2010, arXiv:1009.2189

    Journal ref: EPTCS 34, 2010, pp. 69-83