Article View: comp.lang.misc
Article #5548Re: Universal Programming Languge (was: Universal OS)
From: David Brownbridge
Date: Wed, 11 May 1988 15:25
Date: Wed, 11 May 1988 15:25
66 lines
3042 bytes
3042 bytes
In article <3558@psuvax1.psu.edu> schwartz@gondor.cs.psu.edu (Scott Schwartz) writes:
>I'm not convinced that "mathematics" (whatever that is) would make
>anything like a decent programming language.
>
>First of all, assuming you agree that more is better in these things,
>why not use English as you programming language? ...
I'm not convinced mathematics is a useful *programming* language either, but
it can be used as an excellent *specification* language. At Praxis we are
using the "Z" notation which combines natural language text with a *stylised*
form of mathematics. Z is being developed at Oxford University (England :-)).
The key ideas of Z are that the natural language text is a commentary on the
maths and that the maths has a well defined interpretation.
Z adds a structuring concept called a "schema" which enables pieces of the
maths to be named, combined, re-used etc in powerful ways. A schema is a set
of variables and a predicate relating their values.
Z contains a mathematical core that can be extended *in Z*, for example by
adding digraphs if you happen to need them in your spec.
We are using Z to specify a large CASE system. I would find an natural
language spec of such a system hopelessly imprecise and an executable
(programming language) specification far too concrete. Using maths you can
quickly *denote* the answer in a (possibly) non-computable way which is
pleasant but more precise than natural language alone.
The hard part is deciding on the program once the spec is defined :-)
The mathematical basis of Z is given in
%T Understanding Z
%A J M Spivey
%I Cambridge University Press
%D 1988
%O ISBN 0-521-33429-2
For an earlier introduction:
%T Specification of the UNIX Filing System
%A C Morgan
%A B Sufrin
%J IEEE Transactions on Software Engineering
%V SE-10
%N 2
%P 128-142
David Brownbridge drb%praxis.uucp@ukc.ac.uk
Praxis Systems plc Phone: +44 225 444700
20 Manvers St
Bath
Avon, UK BA1 1PX
------------------------------------------------------------------------------
.-Signature------------------------------
| s : STRING
|----------------------------------------
| s elm (wittyNotes union sarkyComments)
| 0 <= length(s) < Pin.noOfMolecules
` ---------------------------------------
| mySignature : {Signature}
------------------------------------------------------------------------------
Technical Details
Message-ID:
<2297@newton.praxis.co.uk>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!mcvax!ukc!stl!stc!praxis!hilbert!drbReferences:
<769@imagine.PAWL.RPI.EDU> <76700017@uiucdcsp> <843@actnyc.UUCP> <1556@vaxb.calgary.UUCP> <764@l.cc.purdue.edu> <4658@ihlpf.ATT.COM> <3558@psuvax1.psu.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!mcvax!ukc!stl!stc!praxis!hilbert!drb From: drb@praxis.co.uk (David Brownbridge) Newsgroups: comp.lang.misc Subject: Re: Universal Programming Languge (was: Universal OS) Message-ID: <2297@newton.praxis.co.uk> Date: 11 May 88 15:25:53 GMT References: <769@imagine.PAWL.RPI.EDU> <76700017@uiucdcsp> <843@actnyc.UUCP> <1556@vaxb.calgary.UUCP> <764@l.cc.purdue.edu> <4658@ihlpf.ATT.COM> <3558@psuvax1.psu.edu> Sender: news@praxis.co.uk Reply-To: drb%praxis.uucp@ukc.ac.uk (David Brownbridge) Organization: Praxis Systems plc, Bath, UK Lines: 66