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

Reply via email to