trivial/popl-2017/OUTLINE.md
2016-06-27 16:00:01 -04:00

66 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Outline of paper
---
- λ ∈ Σ
- expand is NOT guaranteed to make well-typed terms; you can call it on any expr.
- idea; values carry latent "type" information
(but ya know, this is kind of just demonstrating that expand is useful)
- (afterwards) add set!
nevermind how \tau handles it ... here are rules for expand to handle it
- note: OCaml is firm about maintaining a fast compiler, NOT a big standard library
- thats a totally reasonable separation of concerns/labor
TODO
- use more RACKET, less math (@racket[...] for identifiers)
0 intro.scrbl
---
types, abstraction,
syntax extensions,
true refinement,
other promises
1 background.scrbl
---
define types
define macros (without the word 'macro')
2. examples.scrbl
---
carefully explain 2 extensions
state guarantees
prove properties
evaluations
3. discussion.scrbl
---
limits of the extensions (need a value),
suggestions to overcome limits (assertions, better analysis),
even more extensions + implications
"""
Our technique is implemented as a library of local transformations that
compose to form a function @exact{$\elaborate$} defined over syntactically
well-formed terms.
Using the library is a one-line change for existing programs; however, the
user may wish to remove type casts made redundant by the elaboration.
"""
4. friends.scrbl
---
how to implement in
- typed clojure
- scala (macros or LMS)
- javascript
rust will be difficult
5. ending
---