Functional Purity
David Fang
fang@csl.cornell.edu
Sat Nov 29 07:30:00 GMT 2008
> When categorising a functions purity i also would like to identify the
> cause of the impurity. In particular for a function that is impure i
> want to categorise the impurity cause as:
> * modifies global state
> * modifies a function parameter
> * modifies the object state (this is an extension of the function
> parameter on the "this" parameter)
Hi,
Sounds like you want to (at least):
1) automatically qualify every declaration (including parameters, member
declarations, and member function declarations) with 'const'.
2) forbid the use of the '=' operator family (including +=, etc...)
(might be redundant with #1)
Does this accurately summarize your proposed analysis? As a crude start,
maybe you could alter the syntax trees, and let the rest of compilation
catch any resulting violations?
> The reason for posting this is to ask. Is there code in GCC that
> already does something "similar" in say one of the optimisation passes
> so i can get a look at how to get started on this?
Fang
David Fang
Computer Systems Laboratory
Electrical & Computer Engineering
Cornell University
http://www.csl.cornell.edu/~fang/
-- (2400 baud? Netscape 3.0?? lynx??? No problem!)
More information about the Gcc
mailing list