We exchange email off-line and Jack figured out what he wanted. It might be neat to add it to TR.
On Oct 7, 2014, at 9:24 PM, Alexander D. Knauth wrote: > > On Oct 7, 2014, at 2:38 PM, Jack Firth <jackhfi...@gmail.com> wrote: > >> I read a tweet about someone wistfully wishing there was some sort of "the" >> operator in a typed non-parensy language such that one could write something >> like this: >> >> Customer someFunc(the customer) { ... } >> >> and have it mean: >> >> Customer someFunc(Customer customer) { ... } >> >> Basically, an operator to take care of the common case where the variable >> name is just the lower-camel-case form of the type. As a Racket fan, I >> wanted to see if I could do this with a macro in Typed Racket. After some >> mucking around I had a form that handled the syntax correctly, but I >> couldn't use it in typed racket because the type checker and type >> annotations run as macros *before* my macro expands. > > I thought typed racket expanded first and then type-checks? > >> As I read further, it seems to be the case that macros in typed racket are a >> very thorny problem and an area of open research. So is it currently >> possible to implement a "the" operator like the one shown above in typed >> racket? And if so, how would it be done? >> ____________________ >> Racket Users list: >> http://lists.racket-lang.org/users > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users