[rebuttal] clarify technique / library
This commit is contained in:
parent
c1c0f157fe
commit
5cd1971004
|
@ -64,17 +64,18 @@ In terms of the first example in this section, our elaborator infers that the
|
||||||
@racket[(make-vector n)]
|
@racket[(make-vector n)]
|
||||||
constructs a vector with @racket[n] elements.
|
constructs a vector with @racket[n] elements.
|
||||||
|
|
||||||
Our implementation is a Typed Racket library that shadows functions
|
We have implemented the technique as a Typed Racket library that shadows
|
||||||
such as @racket[make-vector] with textualist elaborators following the
|
functions such as @racket[make-vector] with textualist elaborators following
|
||||||
guidelines stated in @Secref{sec:solution}.
|
the guidelines stated in @Secref{sec:solution}.
|
||||||
We make essential use of Racket's macro system@~cite[fcdb-jfp-2012]
|
The implementation makes essential use of Racket's macro system@~cite[fcdb-jfp-2012]
|
||||||
to reason locally, associate inferred data with bound identifiers, and
|
to reason locally, associate inferred data with bound identifiers, and
|
||||||
cooperate with the rules of lexical scope.
|
cooperate with the rules of lexical scope.
|
||||||
For the adventurous reader, @Secref{sec:implementation} describes the
|
For the adventurous reader, @Secref{sec:implementation} describes the
|
||||||
main services provided by Racket's macros.
|
main services provided by Racket's macros.
|
||||||
Nevertheless, Typed Clojure@~cite[clojure-macros],
|
Nevertheless, Typed Clojure@~cite[clojure-macros],
|
||||||
Rust@~cite[rust-compiler-plugins], and Scala@~cite[ramho-hosc-2013]
|
Rust@~cite[rust-compiler-plugins], and Scala@~cite[ramho-hosc-2013]
|
||||||
could implement our approach just as well.
|
could implement our approach just as well using those languages' powerful
|
||||||
|
macro and compiler plugin systems.
|
||||||
|
|
||||||
For a sense of the practical use-cases we envision, consider the function
|
For a sense of the practical use-cases we envision, consider the function
|
||||||
@racket[regexp-match], which matches a regular expression pattern against
|
@racket[regexp-match], which matches a regular expression pattern against
|
||||||
|
|
Loading…
Reference in New Issue
Block a user