On 4 Oct 2002, Aaron Sherman wrote:
: There are a very large number of good things that I think we should put
: into properties for meta-programming purposes (e.g. constraints,
: assertions, optimization hints, documentation, etc).
: 
: For example:
: 
:       sub f(int $a is constrained($a>=1,"must be positive),
:                       documented("an integer"))
:           is constrained(some_global_condition),
:              documented("applies transformation f to an integer") {
:               ...
:       }

Another good reason to allow:

        sub f(int $a is constrained($a>=1,"must be positive),
                        documented("an integer")) {
                ...
        }

        also &f is constrained(some_global_condition),
               documented("applies transformation f to an integer");

or possibly even

        sub f(int $a) {
            also $a is constrained($a>=1,"must be positive),
                        documented("an integer");
            ...
        }

        also &f is constrained(some_global_condition),
               documented("applies transformation f to an integer");

One could argue that, given that "is" is always compile-time, the "also"
is redundant.

        sub f(int $a) {
            $a is constrained($a>=1,"must be positive),
                        documented("an integer");
            ...
        }

        &f is constrained(some_global_condition),
               documented("applies transformation f to an integer");


But maybe that's too weird.

Larry

Reply via email to