[m-rev.] for review: remove most non-core preds from hlds_goal.m

Paul Bone paul at bone.id.au
Thu Aug 21 11:52:38 AEST 2014

On Wed, Aug 20, 2014 at 07:21:09PM +0200, Zoltan Somogyi wrote:
> The idea is to two-fold: improve module cohesion, and reduce the need
> to recompile everything that depends on hlds_goal.m (which IS almost
> everything) when the definition of the goal type isn't what is being changed.
> Since this change just moves things around, the diff itself does not need review.
> What I could use feedback on is (a) whether people think this is a good
> idea, and (b) whether I should move the remaining non-core predicates,
> such as goal_to_conj_list, to other modules, leaving JUST the definitions
> of the types involved in goals, and the access predicates for the abstract
> goal info type.

a) This seems like a good idea to me.  I prefer smaller more cohesive
   modules (Yes this is hypercritical as I've not always done this myself).
   I also agree with the choices you've made of where to move code to.

b) I'm mostly-indifferent about predicates such as goal_to_conj_list.
   If these predicates are seldom used then moving them makes sense.
   goal_util.m is probably a reasonable place to put these predicates.


Paul Bone

More information about the reviews mailing list