>> One benefit of TDNR is to replicate the discoverability of APIs that OO
>> programming has - if x :: Foo then typing "x." in an IDE gives you a
>> list of things you can do with a Foo. (Obviously it's not a complete lis
>> for various reasons, but it does allow the author of Foo and others to
>> design discoverable APIs.)
>
> But add another import, and some of those APIs disappear!
Because of the additional ambiguity? Shouldn't the IDE show all options even
if the type checker requires a unique one?
> And of course, the language doesn't need to support TDNR in order for an
> IDE to use it (although the juxtaposition application syntax doesn't
> make the UI easy).
I'm not sure if I'm saying the same thing as you, here, Ian, but my take is
that it be nice for an IDE to solve this in a more general way that works for
normal function application as well as "x.f" "backwards" function application.
That is, the equivalent of the OOP IDE auto-complete should be to ask "what set
of functions apply to this value". The problem is just that the keystrokes
order is awkward. Most people typing "f x" probably type 'f' first ;-). But
it should be possible to do:
" x" left-arrow left-arrow magic-keystroke
To get the same set of functions as if you do ("x." magic-keystroke), shouldn't
it? (Maybe magic-keystroke inserts an implicit "undefined", type checks, and
then figures out the set of functions.)
I started playing around with Leksah and scion/emacs (searching for "what's the
type of this expr" support) and was a little disappointed that this
functionality doesn't seem to exist yet. Or am I wrong and it exists somewhere?
Cheers,
-Ryan
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users