On Wed, Dec 19, 2018 at 11:51 AM Jeremy Nicoll <
jn.ml.sfrg...@letterboxes.org> wrote:

> On Wed, 19 Dec 2018, at 15:16, Rick McGuire wrote:
> > Yes it does. That's why they are called constants. They get evaluated
> > once and calls will always return that value. ooRexx already has a
> > ::CONSTANT directive, but it was restricted to literal values. This
> > expands the concept to allow the constant value to be computed rather
> > than just a literal.
>
> Thank-you!
>
> I've not understood all (or even much) of the discussion because the
> underlying oo aspects of ooREXX are pretty much a mystery to me, but
> I had the impression that different sorts of 'computed'ness were being
> discussed.
>
> If you allow constants to have computed values, how do you solve the
> problem of constants requiring other constants to have been defined
> earlier?  (And also in bad code, perhaps circular refs where every one
> of a set of constants requires others to have been defined first)?
>
> That could be bad enough if the computed values of constants are just
> the results of simple (eg arithmetic or string built-in functions) but
> worse
> if the computation to evaluate a constant can involve huge chunks of
> code having to be executed.
>

This was already discussed in my earlier post on this. Constants that
require calculation are processed in declaration order. A call to one that
have not been initialized yet is an error.

Rick


> --
> Jeremy Nicoll - my opinions are my own.
>
>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to