module Top:sig
..end
val loop : (Pervasives.out_channel -> 'a -> unit) ->
('a I.Ast.env -> I.Ast.t -> 'a) -> unit
loop print eval
lance une boucle 'toplevel', en français boucle interactive.
Une telle boucle permet d'évaluer une série de termes PCF dans
un environnement qui va croissant.
Une fois lancée la boucle (par loop print eval
), on voit une invite
du style PCF> . En réponse à cette invite on peut écrire,
t;;
.Let x = t;;
.Let Rec x = t;;
,
(qui est lue comme Let x = Fix x -> t;;
, ce qui nous ramène au
cas précédent).eval
fournie
comme eval env t
, oùt
est donné ci-dessus,env
est un environnement initialement vide.r
de type 'a
, qui est
affiché par la fonction print
fournie.
Enfin, la boucle interactive se rappelle, mais avec un
environnement étendu par la liaison de x
à r
dans le
cas où l'on avait écrit Let x = t;;
.
L'effet général est celui de la boucle interactive de Caml.
See also Exemple d'utilisation de Toop.loop
.