https://github.com/jack-williams/tpd
The Prime Directive
https://github.com/jack-williams/tpd
contracts definitelytyped gradual-typing javascript proxies typescript
Last synced: 2 months ago
JSON representation
The Prime Directive
- Host: GitHub
- URL: https://github.com/jack-williams/tpd
- Owner: jack-williams
- License: mit
- Created: 2017-05-16T16:15:16.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-20T15:27:50.000Z (almost 7 years ago)
- Last Synced: 2024-12-06T20:41:23.847Z (6 months ago)
- Topics: contracts, definitelytyped, gradual-typing, javascript, proxies, typescript
- Language: TypeScript
- Homepage: http://drops.dagstuhl.de/opus/volltexte/2017/7264/pdf/LIPIcs-ECOOP-2017-28.pdf
- Size: 1.25 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TPD (The Prime Directive)
*The Prime Directive* is tool for generating contracts for JavaScript
libraries from their TypeScript definition files.We use TPD to evaluate the correctness of definition files in
[DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped),
in addition to the impact of using JavaScript proxies to implement
contracts. Our results can be found in the paper [Mixed Messages:
Measuring Conformance and Non-Interference in
TypeScript](http://drops.dagstuhl.de/opus/volltexte/2017/7264/pdf/LIPIcs-ECOOP-2017-28.pdf).If you are interested in this work we recommend looking at the
following:- The [complete software
artifact](http://drops.dagstuhl.de/opus/volltexte/2017/7289/) for TPD
that includes this code as well as all the JavaScript libraries to
reproduce our results.- Our latest contract library
[`contracts-ts`](https://github.com/jack-williams/contracts-ts),
based on an upcoming paper on intersection and union contracts.