[Info-vax] DCL's flaws (both scripting and UI)

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Wed Jan 21 16:41:36 EST 2015


On 2015-01-21, mcleanjoh at gmail.com <mcleanjoh at gmail.com> wrote:
>
> As for some other comments in this post I suggest people thinking
> about how they could be implemented.
>

I've already posted some example syntax.

> You want to define an object/structure?  What syntax would you use
> to define the fields?  Under DCL I can say A = "0" in one line and the
> next say A = "78636534597487t784t" and DCL handles it.  What happens
> with a string field in an object?  Can you get the CLI to expand some
> "free-standing" strings (which presumably means a change of address)
> but not strings in objects?
>

You either allow assignment to implicitly create the field or you can
call an operator to explictly add the field to the object.

Conceptually, there's _no_ difference between a string in an object
and a free-standing string. They both have the string datatype and can
be directly compared. For example:

$	if free_standing_string .nes. object.string_field
$		then
$ ! Do something
$	endif

would be valid syntax in my mental model.

> To add looping (FOR, WHILE or whatever) the CLI would have to add
> some internal labels (start of loop, exit from loop) and an implicit
> GOTO to get back to the start of the loop.  And if it doesn't have an
> explicitly labelled (cf. internally labelled) end point wouldn't it
> need BREAK and CONTINUE?
>

You just use an iteration construct. A previous example:

$	queue_list = sys.o$getqui(<whatever>)
$	for queue in queue_list
$		write sys$output "queue name = ", queue.name
$	end for

would iterate over the list of queues returned and print out the name
of each one.

Of course, these are all just initial ideas and someone might come up
with a very good (and maybe obvious in hindsight :-)) reason why the
proposed syntax would not work.

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world



More information about the Info-vax mailing list