[racket] Determining type from a syntax object

From: Alexander D. Knauth (alexander at knauth.org)
Date: Mon Jun 16 14:49:31 EDT 2014

Would there be a way to test the type for making decisions at run-time (not just with predicates)?

For example:
(cond [(:has-type? f (Number -> Any))
       (f 1)]
      [(:has-type? f (String -> Any))
       (f "1")])

On Jun 16, 2014, at 6:54 AM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:

> 
> That's what I thought you wanted it for so my answer stands -- Matthias
> 
> 
> 
> On Jun 15, 2014, at 12:55 AM, Spencer Florence wrote:
> 
>> This is about making decisions at compile time. Specifically I have a sequence of expressions I want to partition into expressions of some type T and expressions of other types.
>> 
>> 
>> On Sat, Jun 14, 2014 at 7:34 PM, Robby Findler <robby at eecs.northwestern.edu> wrote:
>> Would it be enough to expand into an 'ann' expression? Or do you need
>> to make decisions at compile time based on whether or not the types
>> worked?
>> 
>> Robby
>> 
>> On Sat, Jun 14, 2014 at 2:04 PM, Matthias Felleisen
>> <matthias at ccs.neu.edu> wrote:
>> >
>> > No, TR expands first, then checks. -- Matthias
>> >
>> >
>> >
>> >
>> > On Jun 14, 2014, at 2:59 PM, Spencer Florence wrote:
>> >
>> >> Hey All,
>> >>
>> >> I'm trying to take advantage of typed/racket in a few macros. Is there any way to check the type of an expression from its syntax object? something like:
>> >>
>> >> (:has-type? (-> Void) #'expression)
>> >>
>> >>
>> >> --Spencer
>> >> ____________________
>> >>  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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140616/99273ef6/attachment.html>

Posted on the users mailing list.