Published August 2, 2021 | Version 1.0.1
Software Open

Reasoning about the garden of forking paths (artifact)

  • 1. University of Pennsylvania

Description

This is the artifact for the ICFP'21 paper Reasoning about the garden of forking paths.

The source file as the artifact can be found at: https://github.com/lastland/ClairvoyanceMonad

The artifact contains two files: the source Coq files (ClairvoyanceSrc.tar.gz) and a QEMU-based VM image that contains everything you need to run the proof scripts (ClairvoyanceVM.tar.gz). Detailed instructions on how to use them can be found in a README file within each individual package.

The abstract of the paper:

Lazy evaluation is a powerful tool for functional programmers. It enables the concise expression of on-demand computation and a form of compositionality not available under other evaluation strategies. However, the stateful nature of lazy evaluation makes it hard to analyze a program's computational cost, either informally or formally. In this work, we present a novel and simple framework for formally reasoning about lazy computation costs based on a recent model of lazy evaluation: clairvoyant call-by-value. The key feature of our framework is its simplicity, as expressed by our definition of the clairvoyance monad. This monad is both simple to define (around 20 lines of Coq) and simple to reason about. We show that this monad can be effectively used to mechanically reason about the computational cost of lazy functional programs written in Coq.

Notes

The artifact contains two files: the source Coq files (ClairvoyanceSrc.tar.gz) and a QEMU-based VM image that contains everything you need to run the proof scripts (ClairvoyanceVM.tar.gz). Detailed instructions on how to use them can be found in a README file within each individual package.

Files

Files (1.3 GB)

Name Size Download all
md5:b9a222cdb25e07aa556ea34ece9ecff8
26.2 kB Download
md5:dd164f47794b1a609bd49f34e9fcad40
1.3 GB Download

Additional details

Related works

Is derived from
Software: https://github.com/lastland/ClairvoyanceMonad (URL)
Is supplement to
Journal article: 10.1145/3473585 (DOI)

Funding

U.S. National Science Foundation
Collaborative Research: Expeditions in Computing: The Science of Deep Specification 1521539