- | Builtin of vdef * ltype
- | Builtin of vdef * ltype * lexp AttributeMap.t option
Could you describe what this attributemap field means? Also, what is the scoping of the `lexp`s that it holds (i.e. in which context should they be meaningful)?
@@ -259,7 +257,6 @@ let rec push_susp e s = (* Push a suspension one level down. *) * in many other cases than just when we bump into a Susp. *) | Susp (e,s') -> push_susp e (scompose s' s) | (Var _ | Metavar _) -> nosusp (mkSusp e s)
- | AttributeTable _ -> e
If the attributemap's lexps are meant to be interpreted in the context where the `Builtin` appears, then push_susp needs to correspondingly push the suspension into the attributemap's lexps, otherwise we'll get brain-dead DB indices in there.
Stefan