[m-dev.] diff: type_name for higher order types.
Fergus Henderson
fjh at cs.mu.oz.au
Wed Jul 16 01:12:49 AEST 1997
Tyson Richard DOWD, you wrote:
>
> +In addition, design decisions in this implementation have imposed the
> +following fixed limits:
> +
> * Predicates can have at most about 1000 arguments.
That is an excellent change, thanks.
> +These limits can be lifted (with some effort), but would possibly incur
> +performance penalties. Contact the Mercury team (mercury at cs.mu.oz.au) if
> +you are these limits are affecting your application.
"if you are these limits"? ;-)
Perhaps you meant "if you find these limits ...".
> Index: compiler/polymorphism.m
> - TypeId = unqualified("pred") - 0,
> + (
> + PredOrFunc = predicate,
> + TypeId = unqualified("pred") - 0
> + ;
> + PredOrFunc = function,
> + TypeId = unqualified("func") - 0
> + ),
Please use hlds_out__pred_or_func_to_string.
> +#define MR_TYPECTOR_GET_HOT_NAME(T) \
> + ((String) (Word) ( ( ((Integer) (T)) % 2 ) ? "func" : "pred" ))
I think you should cast to ConstString,
rather than casting to String (via Word).
Otherwise that looks fine, thanks.
Well, the test cases could be a bit more thorough, I suppose...
--
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