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 wrote: > Leo White 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 >