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

John Reagan xyzzy1959 at gmail.com
Wed Jan 21 11:21:33 EST 2015


On Wednesday, January 21, 2015 at 10:37:50 AM UTC-5, JF Mezei wrote:

> 
> 1- Is it possible to get DCL to support modern quoting that causes less
> irritation to Hoff ?

To give some sense of the difficulty in changing DCL...

During the port to Itanium, we had the IMACRO compiler collect and print
out various pieces of information about the modules. The number of
"routines", sizes, number of temp registers used, CCs used, predicates used, and
flow graph information about the "complexity".  It is common for routines to
jump into another routine and then into another routine, etc. While that wasn't a problem on VAX, it was somewhat of a problem on Alpha since you had to match
prologs with epilogs with respect to register restores, and it was worse on
Itanium to match up all the 'alloc' instructions so the output registers would
all match regardless of which entry point was used (and don't get me started
on NaTs).

The #1 complex module?  The shadow driver.  #2?  One of the modules in the
Macro32 parser itself.  #3?  DCL.  Routine after routine after routine all
with JSB linkages that jump in and out of each other with random pieces of
global state shoved into every corner.  And the funky stack management (don't
forget DCL has a supervisor mode stack but the ^Y interrupts your user mode
program) when you hit ^Y/exit or ^Y/continue is calling standard specific and hurts your brain.  
 

> 
> 
> 
> 2- DCL versions
> 
> How difficult would it be to do something like Unix and have the first
> line of a DCL command procedure define the DCL flavour. This would allow
> procedures that make use of new features, new argumebnt apssing etc to
> exist alongside procedures that use the old DCL for compatibility purposes.

Either that or a SET EXTENDED_DCL command or such.  I actually like the shebang
style. One could imagine DCL taking the remainder of the .COM file and giving
it as input to the command in the shebang.  That is if anybody can read the
DCL source code to figure it out. 



More information about the Info-vax mailing list