[m-dev.] diff: det_report.m: report error for nondet functions

Thomas Charles CONWAY conway at cs.mu.oz.au
Fri Jul 4 07:50:30 AEST 1997


Fergus Henderson, you write:
> Hi,
> 
> Zoltan, can you please review this one?
> 
> compiler/det_report.m:
> 	Report an error if a "forward" mode of a function,
> 	(a mode for which all the arguments are fully input)
> 	has determinism nondet, multi, cc_nondet or cc_multi.
> 	Such functions should be illegal because they break
> 	referential transparency.

What do you mean by "referential transparency" in this context, and
why is a nondet function not referentially transparent?

Are predicates "referentially transparent"? Why/Why not?

(Sorry if the questions sound like exam question, but marking gets to you ;-)

Thomas
-- 
ZZ:wq!
^X^C
Thomas Conway               				      conway at cs.mu.oz.au
AD DEUM ET VINUM	  			      Every sword has two edges.



More information about the developers mailing list