[m-dev.] diff: inlining and unbound typevars

Fergus Henderson fjh at cs.mu.oz.au
Fri May 30 16:47:44 AEST 1997


> +	% Update a map from tvar to var, using the type substititon to
> +	% rename tvars and a variable substition to rename vars.
> +	%
> +	% If tvar maps to a another type variable, we keep the new
> +	% variable, if it maps to a type, we remove it from the map.
...
> +apply_substitutions_to_var_map(VarMap0, TSubst, Subst, VarMap) :-
> +	% optimize the common case of empty substitutions
> +	( map__is_empty(Subst) ->
> +		VarMap = VarMap0
> +	;

This optimization does not satisfy the documented spec:

	% If tvar maps to a another type variable, we keep the new
	% variable, if it maps to a type, we remove it from the map.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list