[m-dev.] for review: fix existential types bug
Fergus Henderson
fjh at cs.mu.OZ.AU
Mon Oct 25 13:41:47 AEST 1999
On 25-Oct-1999, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
>
> compiler/polymorphism.m:
> Add the type-info variables added for the existential
> type variables of a constructor to the non-locals of
> the construction.
Hmm... why doesn't the call to implicitly_quantify_goal
in polymorphism__fixup_quantification fix that?
(polymorphism__fixup_quantification is called from
polymorphism__process_clause.)
> Index: compiler/polymorphism.m
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/compiler/polymorphism.m,v
> retrieving revision 1.173
> diff -u -u -r1.173 polymorphism.m
> --- polymorphism.m 1999/10/15 03:45:01 1.173
> +++ polymorphism.m 1999/10/20 08:39:42
> @@ -1309,8 +1309,11 @@
> IsConstruction, ActualArgTypes, TypeOfX, Context,
> ExtraVars, ExtraGoals, PolyInfo0, PolyInfo),
> list__append(ExtraVars, ArgVars0, ArgVars),
> + goal_info_get_nonlocals(GoalInfo0, NonLocals0),
> + set__insert_list(NonLocals0, ExtraVars, NonLocals),
> + goal_info_set_nonlocals(GoalInfo0, NonLocals, GoalInfo),
> Unify = unify(X0, functor(ConsId, ArgVars), Mode0,
> - Unification0, UnifyContext) - GoalInfo0,
> + Unification0, UnifyContext) - GoalInfo,
> list__append(ExtraGoals, [Unify], GoalList),
> conj_list_to_goal(GoalList, GoalInfo0, Goal)
Shouldn't that last occurrence of `GoalInfo0' be `GoalInfo'?
--
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.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list