On 2017-12-09, at 15:20:59, John Ehrman wrote:

> A literal is implicitly a symbolic address and a constant-generation request; 
> nesting those functions in other expressions was considered a bit too much 
> extra work for ASMH, from which HLASM was derived. And there were no strong 
> requests for forms such as A(=X'zzz') during the first six HLASM releases. 
>  
Elegant design should be based on not only user requests, but as much
on orthogonality and simplicity of specification and documentation.
It's better to be able to say an adcon may contain any address expression
than to need to list supported and excluded cases.

> As I remember, the problem with adcons containing literals is that they can 
> lead to recursions such as A(=A(...)) and the like. 
>  
Why do you consider that a problem?  It may be something you'd never
choose to do, but other programmers may have different preferences.

Many nested constructs in source do not require recursion in implementation.
For example, sqrt(sqrt(sqrt(2.0))) doesn't require that sqrt() support
recursive entry (at least in FORTRAN; perhaps in ALGOL 60).

And recursion has been a well-known tool at least since a notable paper
John McCarthy wrote in 1960.

-- gil

Reply via email to