[Atom] [Mail] [Twitter]
Liens : git · hacks · divers · cabale · buzz! · à propos +
Au menu
\/

Singeries appliquées en OCaml : Polymorphisme d'ordre supérieur (2/2)

Lire l'article · Voir tous les commentaires · Commenter
bluestorm caml polymorphisme poo typage

# Drk-Sd
24.01.10, 19:53.

Youhou, j’aime bien réagir des mois en retard moi en ce moment ! Bref, je ne m’intéresse que peu à Macaque (no offense) mais la mention « polymorphisme d’ordre supérieur » m’a alléché donc je suis venu voir de quoi il retournait.

Je m’attendais à avoir une explication quant à la restriction du polymorphisme aux enregistrements et aux objets (comme annoncé dans le premier article donc), au final tu n’en parles pas et même si tu proposes un article il semble a priori ne pas traiter la question¹. Je reste donc un peu sur ma faim.

Par contre je me demandais si ça ne pourrait pas être intéressant de revenir sur ce point puisqu’il semblerait que cette restriction va être (en partie) supprimé dans OCaml 3.12 (avec l’ordre supérieur apparaissant au niveau des fonctions).

À la revoyure.

– Notes –

  1. Et en plus tu nous fais peur en ajoutant qu’il est trop technique pour toi.
[ tag:blog.huoc.org,2010-01-24:1264359213.692 ]

# Cygal
08.09.09, 12:54.

C'est intéressant, merci. Les exemples sont bien choisis, et on comprend l'utilité. Je suis presque triste que ça ait disparu de ton code.

Quel pirate !
[ tag:blog.huoc.org,2009-09-08:1252407268.18405 ]
/\ \/

Expression problem (2/3) : dualités somme/produit et fonctionnel/OO

Lire l'article · Voir tous les commentaires · Commenter
bluestorm caml conception extensibilité motifs_de_conception poo

# Drk-Sd
24.01.10, 18:56.

Mince. Je viens de lire les articles, et après le premier j’me suis dit : « ok c’est une introduction, dans le prochain il va parler des variants polymorphes », et finalement j’arrive et je vois de l’OO donc j’me dis : « bon tant pis, ça sera dans le 3e ». Et là j’regarde les commentaires et j’vois qu’en fait y’aura fort probablement pas de 3e article, du coup j’suis pas mal déçu. Parce que j’ai découvert les variants polymorphes y’a pas très longtemps et j’aurais bien aimé voir un exemple d’utilisation.

Bref, tout ça pour dire que je trouve le sujet des articles intéressant et que j’aimerais vraiment que tu fasses une suite !

[ tag:blog.huoc.org,2010-01-24:1264355790.692 ]

# bluestorm
12.12.09, 21:35.

J’ai un peu honte de l’avouer, mais la partie 3 n’est pas encore prête, et je ne suis pas sûre de la publier prochainement : ça demande du travail, je n’ai pas énormément de temps, et je suis plus motivé pour écrire d’autres choses ces temps ci (surtout au vu de l’indifférence tangible¹ qu’on rencontré les deux premières parties, sur un sujet que je trouve pourtant intéressant).

¹ : à l’exception des commentaires pertinent de toi et SpiceGuid; au passage (pour SpiceGuid), j’ai un peu farfouillé du côté du Pattern Calculus mentionné par SpiceGuid (indépendamment, mais je pense que nos sources se recoupent) et c’est effectivement intéressant, même si je me demande s’il ne promet pas un peu trop par rapport à ce qu’il apporte ; je ne suis pas encore assez loin pour m’en assurer.

Je compte évidemment parler des polymorphic variants. D’ailleurs, ces trois billets sont en fait nés d’une réaction au sujet du papier Code Reuse Through Polymorphic Variants de Jacques Garrigue.

J’ai jeté un coup d’oeil à ton lien d’Edward Kwett, mais ça m’a l’air un peu jeune : impossible de trouver quoi que ce soit sur la toile à ce sujet (à part le travail de l’auteur sur le monoidal parsing qui est certainement intéressant, j’avais lu des choses à ce sujet sur Planet Haskell), et ça sent un peu le projet ambitieux qui n’a pas encore porté ses fruits. Ce que je vois dans ce code c’est que les fonctionnalités qu’il met en avant, ensure et unifies, demanderaient un travail de preuve de programmes pour être correctement formalisées au niveau du langage, et que ce serait donc forcément un langage relativement "lourd", ou alors très restrictif.

Si tu t’intéresses à la formulation "informatique" de concepts mathématiques, je te conseille aussi de jeter un oeil aux travaux du projet Focal; il est maintenant plus orienté vers la sécurité, mais ils ont étudié la question de la présentation des arborescences d’objets mathématiques, avec en particulier le très intéressant article Les objets des mathématiques.

[ tag:blog.huoc.org,2009-12-12:1260650158.5981 ]

# Alp
10.12.09, 03:16.

Par ailleurs, ceci pourrait t'intéresser (ainsi que tes lecteurs) :
http://comonad.com/Category.ks-old
Un langage sur lequel bosse Edward Kmett. Ce fichier montre comment modéliser les catégories & compagnie dans son langage, il mélange pas mal polymorphisme nominal et structurel c'est plutôt impressionnant.
[ tag:blog.huoc.org,2009-12-10:1260411408.17876 ]

# Alp
10.12.09, 02:55.

J'espère que la partie 3 mentionnera les polymorphic variants... C'est l'un des trucs que je trouve splendide en OCaml.
[ tag:blog.huoc.org,2009-12-10:1260410149.17876 ]

# SpiceGuid
18.10.09, 19:56.

Je pense que le motif de conception POO dont tu parles est connu sous le nom de Interpréteur. Le motif Composite n'a aucun intérêt pour un programmeur Caml, c'est juste un type union mal typé (on peut manipuler les enfants d'une feuille).
[ tag:blog.huoc.org,2009-10-18:1255888580.7462 ]