[m-dev.] for review: Aditi [3]
Fergus Henderson
fjh at cs.mu.OZ.AU
Mon Jul 20 14:33:47 AEST 1998
On 20-Jul-1998, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> > Hmm, there is some argument for only emitting that stuff in the dependency
> > files if `--aditi' or something like that is specified.
> > I'm not sure what the best approach is here.
>
> I'd rather not have to `mmake depend' just because I changed an option.
Fair enough.
> > > polymorphism__process_pred(PredId, ModuleInfo0, ModuleInfo, IO0, IO) :-
> > > module_info_pred_info(ModuleInfo0, PredId, PredInfo),
> > > - pred_info_module(PredInfo, PredModule),
> > > - pred_info_name(PredInfo, PredName),
> > > - pred_info_arity(PredInfo, PredArity),
> > > (
> > > - polymorphism__no_type_info_builtin(PredModule,
> > > - PredName, PredArity)
> > > + (
> > > + % Leave Aditi aggregates alone, since
> > > + % calls to them must be monomorphic.
> > > + % Other Aditi procedures should still be processed
> > > + % to remove complicated unifications and
> > > + % lambda expressions.
> > > + hlds_pred__pred_info_is_aditi_aggregate(PredInfo)
> >
> > If calls to them must be monomorphic, where is this checked?
>
> The input query must be an Aditi relation. Currently we don't check that,
> since the aggregate syntax is a bit up in the air anyway. For example, it
> might be nice to have Aditi aggregates as a separate goal type to allow any
> number of group-by and non-group-by variables (currently we only allow one
> of each), and to make sure the input closures are constants, not passed
> separately, which is required for code generation. I've added an XXX to
> magic_util.m where the check should be done.
Can you please add a comment here too, saying where the check is / should be
done?
--
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