L'opérateur pratique $ de Haskell m'a manqué, j'ai donc décidé d'en introduire un.
class Applayable[-R,T] (val host : Function[R,T]) {
def $: R=>T = host.apply
}
implicit def mkApplayable[R,T] (k : Function[R,T]) : Applayable[R,T] = new Applayable(k)
Cela a parfaitement fonctionné pour
val inc : Int => Int = _ + 1
inc $ 1
mais a échoué pour
def inc(x:Int) : Int = x+1
inc $ 1
Quel type dois-je préciser pour le cast implicite pour convertir def à une instance d'Applayable ?