Browse thread
- Michel.Levy@i...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1996-02-20 (18:49) |
From: | Michel.Levy@i... |
Subject: |
Pouvez-vous, je vous prie, répondre à quelques questions à propos de camllight 1) L'expression let rec x = 1 :: x ;; est de type int list. Son exécution crée-t-elle une fermeture ? Je lis d'ailleurs dans le "Doc et user's manual" : the behavior of other forms of let rec (formes autres que des définitions de fonction) is implementation-dependant. 2) Pourquoi le typeur accepte la définition récursive précédente mais 21)refuse la modification suivante du programme minicaml (cf Le langage caml de Pierre Weiss et Xavier Leroy p 352) : let rec env_étendu = (déf.Nom, Val_fermeture { Définition = liste_de_cas ; Environnement = env_étendu}) :: env_courant sous le prétexte que déf.Nom n'est pas acceptable dans une définition récursive 22)accepte par contre let nom = déf.Nom in let rec env_étendu = (nom, Val_fermeture { Définition = liste_de_cas ; Environnement = env_étendu}) :: env_courant Remarque : mon but était d'éviter les types mutables pour représenter les environnements. Michel Levy L.S.R. BP53x - 38041 Grenoble cedex - France Tel : 76827246 e.mail : Michel.Levy@imag.fr