Id.ScopedCe module utilitaire fournit un type dont les éléments sont des valeurs chacune munie d'un identifiant distingué. Il peut être utile pour représenter des objets syntaxiques dans laquelle la variable distinguée doit être considérée comme liée.
Une valeur de type 'a t associe une valeur de type 'a et un identifiant distingué.
Un usage fréquent est celui où 'a est un type représentant des arbres de syntaxe, et la valeur v de type 'a t représente un arbre de syntaxe où la variable distinguée est liée dans
auquel cas
val pp : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unitCe type est affichable.
On peut appliquer une fonction à la valeur sous-jacente et préserver la variable distinguée.
val fold : ('a -> 'b) -> 'a t -> 'bOn peut appliquer une fonction à la valeur sous-jacente en oubliant la variable distinguée.
enter f env scoped v s'évalue vers le résultat de f appliqué à env' et scoped.body où env' désigne l'environnement env étendu avec la liaison de scoped.bound à v.