The fact that implicits (in Scala or in this proposal) are understood as a term elaboration problem guarantees that there is a nice user representation to understand what is happening: just show the elaborated term. The question of which interface is used to query this representation is important, but I wouldn't be too worried about it. As Leo said, Merlin should do it fine.
For compiler messages, given that there is a syntax for explicitly passing an implicit (foo {Bar}), I would expect passing an obviously-incorrect implicit (say foo {List}) to print an error message mentioning the correct elaborated implicit, just as we sometimes use the ( : unit) annotation to force the compiler to spit out its inferred type.

On Wed, Mar 2, 2016 at 10:57 AM, Malcolm Matalka <mmatalka@gmail.com> wrote:
Leo White <leo@lpw25.net> writes:


>> In the paper, the Show implementation for an int is called Show_int and
>> for list Show_list, etc.  But this is just a pleasant convention in the
>> paper.
>
> And could easily be a pleasant convention in a library. Or possibly [Int.Show]
> and [List.Show]. It's really a just a question of using sensible
> library design.

I'm just a bit concerned about relying on convention for such a powerful
feature.


FWIW, I don't use merlin, although maybe I'll start.  One of the
strengths of Ocaml, IMO, is how much information is local to the
call-site and implicits seem to allow spooky action at a distance which
makes me a bit uneasy.

Perhaps I'm overreacting.

--
Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs