• [^] # Re: Dommage...

    Posté par . En réponse à la dépêche OCaml 3.10.0 est sorti. Évalué à 3.

    Et oui en effet il n'y aura JAMAIS de surcharge des opérateurs (oui, je sais, il ne faut jamais dire jamais) parce que sinon on ne permet pas l'inférence de type, et le polymorphisme paramétrique. J'ai étudié dans un cours l'algorithme de typage, et il apparaît clairement que la surcharge ne permettrait plus de résoudre le système des contraintes, et de typer une expression.


    C'est marrant parce que justement pour l'occasion de la 3.10 je suis allé farfouiller un peu sur le site de l'INRIA, et sur la page perso du type qui a refait camlp4 on trouve :
    http://gallium.inria.fr/~pouillar/talks/overloading-searchin(...)

    Par ailleurs, on peut aussi parler du Haskell qui a des moyens de surcharge assez poussés, et qui conserve bon an mal an une partie de son inférence de type. Par ailleurs, ils ont plein de trucs encore plus affreux comme le polymorphisme de second ordre et compagnie (mais il me semble qu'on l'a aussi en OCaml à quelques endroits, je l'ai juste jamais utilisé) qui doivent bien mettre à mal l'inférence des types. Mais elle a survécu : elle est pas totale, mais elle a survécu.