[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