Treffer: zydeco-lang/zydeco: v0.2.2
Weitere Informationen
Overview This document is a high-level overview of the artifact for our OOPSLA paper "Notions of Stack-Manipulating Computation and Relative Monads" by Yuchen Jiang, Runze Xue, and Max S. New. Introduction Hardware Dependencies Getting Started Guide Step-by-Step Instructions Reusability Guide Introduction The artifact contains the implementation of Zydeco, a call-by-push-value (CBPV) calculus with executable examples from the paper. The artifact supports the following claims of the paper. We demonstrate that relative monads can model common stack-manipulating computations used in functional programming We described a generalized do-notation called "monadic blocks" that enables embedded CBPV programming by reinterpreting code to use any provided relative monad. We showed that the monadic blocks allow for the automatic extension from any user-defined relative monad to a monad transformer. Further details are provided in the Step-by-Step Instructions section. Hardware Dependencies The artifact doesn't require any specific hardware dependencies. The artifact is tested on a Linux machine, a macOS machine, and a Windows machine. Broadly speaking, the artifact is expected to work on any machine that has tier 1 or tier 2 support by the Rust compiler. Getting Started Guide This section prepares the reviewers to evaluate the artifact. Delivered as a docker image, the reviewers are encouraged to pull the image from Docker Hub and run it in a container. Access the artifact by pulling the docker image and run it in a container docker run -it lighghteeloo/zydeco:amd64 If you are on a machine with an ARM architecture, you can pull the image from Docker Hub by running the following command: docker run -it lighghteeloo/zydeco:arm64 A shell will then be spawned in the container at /usr/src/zydeco, where a copy of this repository is also located. Run the tests on Zydeco inside the docker container cargo test --release The tests perform basic sanity checks on the implementation of Zydeco, as well as all the core features mentioned ...