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

Reply via email to