[plt-scheme] macro question
I'm pretty sure there are a couple such tools for HM languages. I played
with SML.NET a while ago, which IIRC provides incremental type inference
and gives you types of subexpressions when you hover over them. It was
pretty brittle (and slooooow) when last I tried it, but I think it was
just a proof-of-concept.
One of the UI issues is figuring out which subexpression the user wants
type information for when they hover over a position in the program. It
made it pretty frustrating as tiny movements of the mouse would totally
change the feedback I was getting.
Dave
John Clements wrote:
>
> On Jun 10, 2008, at 9:29 AM, Neil Van Dyke wrote:
>
>> (I haven't had a chance yet to look at Typed Scheme, so please
>> disregard if this doesn't make sense.)
>>
>> What if the type inference info is presented to you as part of the
>> normal view of the program? It's there for you to read, but you just
>> don't usually edit it yourself.
>>
>> I don't know what DrScheme currently does for Typed Scheme, but...
>> Inferred type info could be conveyed by overlaying the source code
>> view, such as by inline annotations or maybe mouseovers.
>> Visual-design-wise, there's an obvious HCI metaphor that might be
>> used: inferred:express::ephemeral:concrete. You can add an explicit
>> type qualification by turning an ephemeral concrete and editing it.
>> I'd imagine that feature useful for both pedagogic and practical use.
>>
>> This would also make for another snazzy YouTube video. :)
>
> This sounds like a great tool/UI for dealing with HM-style inference. I
> wouldn't be surprised if something like this already existed for e.g.
> Haskell. I do recall Joe Wells giving a talk at some point on a
> graphical tool that would illustrate the "flow of types" showing the
> path along which a type A and a different type B were in collision.
>
> John Clements
>
>
> ------------------------------------------------------------------------
>
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme