Commit Graph

1 Commits

Author SHA1 Message Date
Fergus Henderson
0669cdd93a Fix design error which led to the bug reported by Philip Dart:
Estimated hours taken: 15
	(Debugging 3 people * 3 hours, design 2 hours, coding 4 hours.)

Fix design error which led to the bug reported by Philip Dart:
cse_detection was reinvoking mode analysis, which converted
higher-order pred terms into lambda expressions, but was
not reinvoking polymorphism.m, and so they remained as
lambda expressions, which caused the code generator to generate
incorrect code.

compiler/polymorphism.m:
	Move the stuff for handling lambda expressions into
	a new file lambda.m.

compiler/lambda.m:
	New file.  Contains the lambda expression handling
	stuff from polymorphism.m, plus new code to traverse
	the HLDS for a predicate applying this transformation
	to each lambda expression in the procedure bodies
	for that predicate.

compiler/cse_detection.m:
	After re-running mode analysis, invoke lambda__process_pred
	to transform away lambda expressions.
1995-11-04 15:38:59 +00:00