Skip to main content

Showing 1–6 of 6 results for author: Crary, K

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

    cs.LO cs.DC

    Verifying the Hashgraph Consensus Algorithm

    Authors: Karl Crary

    Abstract: The Hashgraph consensus algorithm is an algorithm for asynchronous Byzantine fault tolerance intended for distributed shared ledgers. Its main distinguishing characteristic is it achieves consensus without exchanging any extra messages; each participant's votes can be determined from public information, so votes need not be transmitted. In this paper, we discuss our experience formalizing the Ha… ▽ More

    Submitted 1 February, 2021; originally announced February 2021.

    Report number: CMU-CS-21-102

  2. arXiv:1904.05389  [pdf, other

    cs.PL

    Compiling a Calculus for Relaxed Memory: Practical constraint-based low-level concurrency

    Authors: Michael J. Sullivan, Karl Crary, Salil Joshi

    Abstract: Crary and Sullivan's Relaxed Memory Calculus (RMC) proposed a new declarative approach for writing low-level shared memory concurrent programs in the presence of modern relaxed-memory multi-processor architectures and optimizing compilers. In RMC, the programmer explicitly specifies constraints on the order of execution of operations and on the visibility of memory writes. These constraints are th… ▽ More

    Submitted 10 April, 2019; originally announced April 2019.

  3. arXiv:1801.01579  [pdf, ps, other

    cs.PL

    Hygienic Source-Code Generation Using Functors

    Authors: Karl Crary

    Abstract: Existing source-code-generating tools such as Lex and Yacc suffer from practical inconveniences because they use disembodied code to implement actions. To prevent this problem, such tools could generate closed functors that are then instantiated by the programmer with appropriate action code. This results in all code being type checked in its appropriate context, and it assists the type checker in… ▽ More

    Submitted 4 January, 2018; originally announced January 2018.

  4. arXiv:1801.00471  [pdf, ps, other

    cs.PL cs.LO

    TWAM: A Certifying Abstract Machine for Logic Programs

    Authors: Rose Bohrer, Karl Crary

    Abstract: Type-preserving (or typed) compilation uses ty** derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of our approach is a new certifying abstract machine which we call the Typed Warren Abstract Machine (TWAM). The TWAM has a dependent type system strong enough t… ▽ More

    Submitted 1 January, 2018; originally announced January 2018.

    Comments: 41 pages, under submission to ACM Transactions on Computational Logic

  5. arXiv:1009.2189   

    cs.LO cs.PL

    Proceedings 5th International Workshop on Logical Frameworks and Meta-languages: Theory and Practice

    Authors: Karl Crary, Marino Miculan

    Abstract: Type theories, logical frameworks and meta-languages form a common foundation for designing, implementing, and reasoning about formal languages and their semantics. They are central to the design of modern programming languages, certified software, and domain specific logics. More generally, they continue to influence applications in many areas in mathematics, logic and computer science. The Log… ▽ More

    Submitted 11 September, 2010; originally announced September 2010.

    Journal ref: EPTCS 34, 2010

  6. arXiv:cs/0607141  [pdf, ps, other

    cs.LO

    Logic Column 16: Higher-Order Abstract Syntax: Setting the Record Straight

    Authors: Karl Crary, Robert Harper

    Abstract: This article responds to a critique of higher-order abstract syntax appearing in Logic Column 14, ``Nominal Logic and Abstract Syntax'', cs.LO/0511025.

    Submitted 31 July, 2006; originally announced July 2006.

    Comments: 4 pages

    ACM Class: F.4.1; F.3.1