Ca c'est du structural typing, non ? J'avoue que la syntaxe est tellement absconse que je pige pas tout le bout de code.
Non c'est bien du duck typing, mais les auteurs de la page wikipédia ont écrit n'importe quoi.
Pour la syntaxe absconse, c'est juste une question d'habitude sur le let binding. Pour définir une varibale, comme un entier, on écrit let i = 1 c'est-à-dire soit i l'entier 1 ou en anglais let i be the integer 1.
Pour reprendre les exemples de la page wikipédia :
la notation o#fly () consiste à appeler la méthode fly de l'objet o, et l'inférence de type conclue que pour utiliser la fonction fly sur un objet o celui-ci doit posséder une méthode fly et possiblement d'autres méthodes (les ... dans le type de l'objet). Ainsi :
Pourquoi OCaml reste si confidentiel s'il est si génial ?
Je n'ai pas la réponse à la question. Peut être parce que c'est un langage académique et qu'il n'a pas la force de frappe en communication d'entreprises comme Google ou Oracle. Mais cela va peut être changer maintenant que facebook s'y est mis, bien qu'il le fasse via le langage Reason (qui n'est rien d'autre qu'une syntaxe concrète différente pour du OCaml afin qu'il ressemble plus au javascript : c'est laid, mais apparemment cela désarçonne moins leur cible de développeurs).
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Performance
Posté par kantien . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 4.
Non c'est bien du duck typing, mais les auteurs de la page wikipédia ont écrit n'importe quoi.
Pour la syntaxe absconse, c'est juste une question d'habitude sur le let binding. Pour définir une varibale, comme un entier, on écrit
let i = 1c'est-à-dire soit i l'entier 1 ou en anglais let i be the integer 1.Pour reprendre les exemples de la page wikipédia :
Pour savoir si un objet peut voler, c'est bien du duck typing :
la notation
o#fly ()consiste à appeler la méthodeflyde l'objeto, et l'inférence de type conclue que pour utiliser la fonctionflysur un objetocelui-ci doit posséder une méthodeflyet possiblement d'autres méthodes (les...dans le type de l'objet). Ainsi :L'erreur est détectée statiquement.
Je n'ai pas la réponse à la question. Peut être parce que c'est un langage académique et qu'il n'a pas la force de frappe en communication d'entreprises comme Google ou Oracle. Mais cela va peut être changer maintenant que facebook s'y est mis, bien qu'il le fasse via le langage Reason (qui n'est rien d'autre qu'une syntaxe concrète différente pour du OCaml afin qu'il ressemble plus au javascript : c'est laid, mais apparemment cela désarçonne moins leur cible de développeurs).
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.