🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #5548

Re: Universal Programming Languge (was: Universal OS)

#5548
From: David Brownbridge
Date: Wed, 11 May 1988 15:25
66 lines
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!drb
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>

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