[Master Info - PFA] Question à propos du projet
Bonjour, Dans le projet, quand on doit coder le foncteur EnvMake, il faut pouvoir manipuler des environnements (grace à bind_many, merge, merge_disjoint et extend). Autant bind_many est simple car on connait le format d'entrée (une (variable * 'a) list) autant les autres fonctions paraissent plus dur. La seule forme de matching qu'on connaisse est le empty qu'on connait car définit dans chaque module de base. Mais on ne connait pas le type de l'environnement à l'avance et donc agir en conséquence. J'ai beaucoup cherché sur Internet mais je n'ai rien trouvé concernant ce cas précis. Donc comment matcher l'environnement dont on ne connait pas forme dans les fonctions du foncteur ? (ou s'il y a une autre solution) Cordialement. Arnaud Lecointre
On Mon, 10 Jan 2011 13:05:32 +0100, Arnaud Lecointre <lec.arnaud@gmail.com> wrote:
Bonjour,
Dans le projet, quand on doit coder le foncteur EnvMake, il faut pouvoir manipuler des environnements (grace à bind_many, merge, merge_disjoint et extend). Autant bind_many est simple car on connait le format d'entrée (une (variable * 'a) list) autant les autres fonctions paraissent plus dur. La seule forme de matching qu'on connaisse est le empty qu'on connait car définit dans chaque module de base. Mais on ne connait pas le type de l'environnement à l'avance et donc agir en conséquence. J'ai beaucoup cherché sur Internet mais je n'ai rien trouvé concernant ce cas précis.
Donc comment matcher l'environnement dont on ne connait pas forme dans les fonctions du foncteur ? (ou s'il y a une autre solution)
Oui, effectivement. Il faut rajouter une fonction (dans la signature ENV_CORE) pour renvoyer la liste des variables liées par l'environnement. Je modifie le sujet de suite. -- Cordialement, Jean-Yves Moyen. http://www-lipn.univ-paris13.fr/~moyen/
J'ai modifié l'énoncé du projet sur ma page (ajout d'un item, marqué "New!", à la première question du 5.1) pour corriger cet oubli. Toutes mes excuses pour cette approximation. Merci à Arnaud d'avoir repéré l'erreur. On Mon, 10 Jan 2011 13:55:40 +0100, Jean-Yves Moyen <Jean-Yves.Moyen@lipn.univ-paris13.fr> wrote:
On Mon, 10 Jan 2011 13:05:32 +0100, Arnaud Lecointre <lec.arnaud@gmail.com> wrote:
Bonjour,
Dans le projet, quand on doit coder le foncteur EnvMake, il faut pouvoir manipuler des environnements (grace à bind_many, merge, merge_disjoint et extend). Autant bind_many est simple car on connait le format d'entrée (une (variable * 'a) list) autant les autres fonctions paraissent plus dur. La seule forme de matching qu'on connaisse est le empty qu'on connait car définit dans chaque module de base. Mais on ne connait pas le type de l'environnement à l'avance et donc agir en conséquence. J'ai beaucoup cherché sur Internet mais je n'ai rien trouvé concernant ce cas précis.
Donc comment matcher l'environnement dont on ne connait pas forme dans les fonctions du foncteur ? (ou s'il y a une autre solution)
Oui, effectivement.
Il faut rajouter une fonction (dans la signature ENV_CORE) pour renvoyer la liste des variables liées par l'environnement. Je modifie le sujet de suite.
-- Cordialement, Jean-Yves Moyen. http://www-lipn.univ-paris13.fr/~moyen/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bonjour Jean-Yves. Vendredi, quand tu étais absent, Monsier Siaka DIALLO est venu me voir pour parler essentiellement du même problème ; moi aussi j'avais reconnu que la signature ENV_CORE n'était pas suffisante. Après, ... bon, heureusement tu a été informé par quelqu'un de plus rapide :-). Donc, sans rien enlever à Monsieur Lecointre (qui a articulé son objection de façon plus claire et plus sûre) je dois faire remarquer que Monsieur Diallo a eu la même intuition correcte. Merci, - -- Luca Saiu http://www-lipn.univ-paris13.fr/~saiu GNU epsilon: http://www.gnu.org/software/epsilon Marionnet: http://www.marionnet.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0rB8gACgkQvzOavibF0oZHTgCeLInZGbWgXMJ9V8LmPgCP7xFE NTwAoJzS49tfIeb2tgv2x9KDBzy+cQo5 =E4tp -----END PGP SIGNATURE-----
participants (3)
-
Arnaud Lecointre -
Jean-Yves Moyen -
Luca Saiu