It is currently Fri Oct 20, 2017 7:16 am


All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Logical description of the MUMPS language
PostPosted: Tue Nov 23, 2010 10:39 am 
User avatar

Joined: Wed Nov 17, 2010 4:02 pm
Posts: 68
Location: Houston TX
Real Name: David Whitten
Began Programming in MUMPS: 06 Jan 1982
It would be of great value if we have a logical description of the MUMPS programming language, which we could use to guide the tests in the validation suite.

The idea is that we express the denotations of the various syntactic forms and semantic run time in a way that we could verify that an implementation is maintaining the "implicit contract" that exists between a programmer writing in the language and the implementor providing an implementation.

This would include, but not be limited to: pre-conditions, invariants and post-conditions such as were first introduced by Bertrand Meyer, the creator of Eiffel. The difference is that in application programming, that these are a part of a particular application program.

The logical description of the MUMPS language might be included as part of the MDC reference implementation of MUMPS (since that is basically a very specialized application program), but when used with the Validation Suite, it would be part of the tools used by the Validation Suite maintainer or creator to write the test programs.

For example, the "IF" command has an "ifargument" which is an expression that changes the $TEST special variable. The logical description of $TEST must include that it is either a "0" or a "1", and the logical description of the IF command would include the fact that $TEST can be changed. It would also need to express the fact that the next command on the current line is executed when $TEST is 1 and that the first command on the next line is executed when $TEST is 0.


Top
Offline Profile  
 
 Post subject: Re: Logical description of the MUMPS language
PostPosted: Thu Dec 09, 2010 2:02 pm 
Site Admin
User avatar

Joined: Mon Nov 01, 2010 1:58 pm
Posts: 205
Location: Seattle, Washington
Real Name: Frederick D. S. "Rick" Marshall
Began Programming in MUMPS: 15 Jun 1984
You'll get no arguments from me on this. Bertrand Meyer's work helped turn interfaces into contracts, a crucial step toward consolidating the third-generation revolution that also helped set the stage for the fourth, for which we're still waiting, alas. Go, Cyc, go!

We're exploring whether to create an alternative text for the MUMPS standard, so that if we decide not to go the ANSI/ISO route (still an open question) we can start with text for which we hold the copyright (ANSI and/or ISO hold the copyright to the current standard). We might base it on the 1985 MUMPS Programmers' Reference Manual, or we might write a new one from scratch. Either way, we may want to include some textual variation on the use of preconditions, postconditions, and invariants as part of the specification.

_________________
Frederick D. S. "Rick" Marshall, VISTA Expertise Network, 819 North 49th Street, Suite 203, Seattle, Washington 98103, (206) 465-5765, rick dot marshall at vistaexpertise dot net
"The hidden harmony is best." - Heraclitus of Ephesus


Top
Offline Profile  
 
 Post subject: Re: Logical description of the MUMPS language
PostPosted: Thu Feb 06, 2014 11:52 am 
User avatar

Joined: Mon Jan 31, 2011 12:03 pm
Posts: 27
Location: Watsonville, CA (USA)
Real Name: Greg Woodhouse
Began Programming in MUMPS: 01 Oct 1992
I've been thinking about this, too. One problem with the current standard is that lexical structure, syntax and semantics are all mixed up in the document and not clearly distinguished. Of course, in large measure, this is a result of the highly dynamic nature of the language. That being said, the various sections on the execution model do lend themselves to an operational, and perhaps denotational, description of MUMPS semantics.


Top
Offline Profile  
 
 Post subject: Re: Logical description of the MUMPS language
PostPosted: Thu Feb 06, 2014 5:14 pm 
User avatar

Joined: Mon Nov 01, 2010 3:33 pm
Posts: 103
Location: Australia
Real Name: Ray Newman
Began Programming in MUMPS: 01 Jul 1976
A few years ago (2008 to be precise), I commenced writing a MUMPS compiler in MUMPS for my Masters of Info Tech. I didn't finish it as I am a tad lazy.
Attached is the 'description' of MUMPS I was using.

Ray


Attachments:
FinalReport.pdf [351.68 KiB]
Downloaded 600 times
Top
Offline Profile  
 
 Post subject: Re: Logical description of the MUMPS language
PostPosted: Fri Feb 07, 2014 10:41 am 
Site Admin
User avatar

Joined: Mon Nov 01, 2010 1:58 pm
Posts: 205
Location: Seattle, Washington
Real Name: Frederick D. S. "Rick" Marshall
Began Programming in MUMPS: 15 Jun 1984
This is very interesting reading. Thanks, Ray.

_________________
Frederick D. S. "Rick" Marshall, VISTA Expertise Network, 819 North 49th Street, Suite 203, Seattle, Washington 98103, (206) 465-5765, rick dot marshall at vistaexpertise dot net
"The hidden harmony is best." - Heraclitus of Ephesus


Top
Offline Profile  
 
 Post subject: Re: Logical description of the MUMPS language
PostPosted: Fri Feb 07, 2014 10:44 am 
Site Admin
User avatar

Joined: Mon Nov 01, 2010 1:58 pm
Posts: 205
Location: Seattle, Washington
Real Name: Frederick D. S. "Rick" Marshall
Began Programming in MUMPS: 15 Jun 1984
Greg, now that MUMPS standardization is back in business, it is an excellent time to consider superior ways to specify the system. MUMPS 2015 may be a conservative update of the standard, but the next MUMPS standard could make much bigger changes - especially if the system itself changes little but the way of specifying it improves dramatically.

Can you suggest some examples of specifications we would do well to model the subsequent MUMPS specification upon?

_________________
Frederick D. S. "Rick" Marshall, VISTA Expertise Network, 819 North 49th Street, Suite 203, Seattle, Washington 98103, (206) 465-5765, rick dot marshall at vistaexpertise dot net
"The hidden harmony is best." - Heraclitus of Ephesus


Top
Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net