https://github.com/wilbowma/cur-control
An implementation of control operators for Cur.
https://github.com/wilbowma/cur-control
dependent-types metaprogramming racket shift-reset
Last synced: about 2 months ago
JSON representation
An implementation of control operators for Cur.
- Host: GitHub
- URL: https://github.com/wilbowma/cur-control
- Owner: wilbowma
- Created: 2017-07-20T18:08:07.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-07T14:55:51.000Z (over 7 years ago)
- Last Synced: 2025-01-09T23:25:32.965Z (4 months ago)
- Topics: dependent-types, metaprogramming, racket, shift-reset
- Language: Racket
- Size: 15.6 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cur-control
This is a prototype implementation of the control operators `shift` and `reset` as user-defined
extensions in [Cur](https://www.github.com/wilbowma/cur).
This is the implementation for the HOPE 2017 Talk [Only Control Effects and Dependent Types](http://icfp17.sigplan.org/event/hope-2017-papers-only-control-effects-and-dependent-types).## Installing
Clone the repository and run `make install`.
Alternatively, run `raco pkg install https://github.com/wilbowma/cur-control`.## Using
See `cur/control/shift-reset-cbv.rkt` for examples.
The current implementation only internalizes type-level contexts, so it is not useful
for programming as you may expect of `shift/reset`.
Proper documentation and usage guides to come.