Mumpster
http://mumpster.org/

1. X11/1994-5, Initialising Intrinsics
http://mumpster.org/viewtopic.php?f=20&t=1762
Page 1 of 1

Author:  toad [ Tue Jan 14, 2014 12:51 pm ]
Post subject:  1. X11/1994-5, Initialising Intrinsics

This is the very first MDC Type A extension we are applying to our Revised MUMPS Draft Standard (RMDS). It explains what the initial values should be for the intrinsic special variables $DEVICE, $IO, $KEY, $PRINCIPAL, $TEST, $X, and $Y when a MUMPS process is first created, which MUMPS 1995 is silent about.

This proposal was proposed and sponsored by Jon Diamond and developed within MDC Subcommittee 15, Programming Structures. The MDC approved this extension at its 20 June 1993 meeting in Washington, DC, by a vote of thirty-seven in favor, none opposed, and four abstentions.

I will post the extension document itself tomorrow, once we fix a small bug with Mumpster that's currently blocking me from doing so.

Author:  toad [ Tue Jan 14, 2014 8:12 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

Here's the extension itself, in Adobe Portable Document Format.

Attachments:
File comment: MDC X11/1994-5 Initialising Intrinsics
MDC 1994-5 Initialising Intrinsics 20131029 toad.pdf [178.29 KiB]
Downloaded 1815 times

Author:  raynewman [ Wed Jan 15, 2014 1:52 am ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

I'll give a definate response as to MUMPS V1 current state in a few days. I'm currently on holidays and a little short of time.

Ray

Author:  Eugene Karataev [ Wed Jan 15, 2014 8:51 am ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

MiniM has been checked OK. Initializations of intrinsics already use this conventions, no changes required.

Eugene

Author:  raynewman [ Sat Jan 18, 2014 1:24 am ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

MUMPS V1.64 conforms to the initialisation of the specified intrinsic special variables.

Ray Newman

Author:  toad [ Fri Jan 31, 2014 12:25 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

I'm glad both MiniM and MUMPS V1 have this extension handled.

Our next step for this extension will be to upgrade the MUMPS Validation Suite to check for these initial values.

And, of course, as additional implementors join us, we'll be very interested in hearing about their implementation of this extension.

Author:  gwoodhouse [ Sat Feb 01, 2014 8:56 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

Okay, I'm a little confused by the language here. It seems to be saying that if $IO is initialized to anything but the empty string, that value is not useable. ( meaning it cannot be USEd ?). Is the idea that if $ IO=$P that device is already implicitly in use. What happens as a result of U $ IO in this case? If no error occurs, is it really true that the device is not useable? If an error occurs, what would it be, and is this really desirable ?

Author:  toad [ Sat Feb 01, 2014 10:06 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

Greg, as you will see when I publish MDC Type A Extension X11/2014-1 Effect of CLOSE $IO, implementations differ a lot in their handling of the current and principal device at the boundary cases, such as process creation and when $IO is closed.

The current proposal is half of a pair that together fix device handling to allow two coherent choices out of the range of coherent and incoherent behaviors the implementations allowed. One choice is to have a principal device, open it, and use it, which sets $IO = $PRINCIPAL. The other choice is not to have a principal device, in which case $IO = "" so you know how to test for this case, and $PRINCIPAL is set to whatever the implementor feels like, since that gives them more leeway to innovate in this case.

So, if $IO = $PRINCIPAL, you can safely USE $IO, but if $IO = "", then you cannot safely USE $IO.

Does that make sense?

Author:  gwoodhouse [ Sun Feb 02, 2014 12:37 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

Yes. That is reasonable behavior.

Author:  toad [ Sun Feb 02, 2014 12:52 pm ]
Post subject:  Re: 1. X11/1994-5, Initialising Intrinsics

In standardizing, there is often this balancing act between wanting to converge on a common standard versus wanting to support the existing implementations who have trail-blazed with the language. The result is that sometimes the standard ends up encoding these choices that represent the reasonable range of options the implementors staked out. That's certainly the case here.

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/