🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #1465

Re: The Universal Language

#1465
From: David Gudeman
Date: Wed, 08 Aug 1990 20:57
47 lines
2994 bytes
In article  <26920@nigel.ee.udel.edu> carroll@udel.edu (Mark Carroll <MC>) writes:
>
>... As I've said before on this newsgroup, a language
>is a description of a machine, and the form of the language describes
>the form of the machine...
>Some models are irreconcilable.  For example, try to unify the Smalltalk
>model, where object identity is central to the language, with ML, where
>immutable data is central. You can't unify them without destroying
>the central concept of one of them.

It depends on what you consider a successful unification.  Let's
assume we are unifying the functional and X paradigms.  If you are
going to insist that the unified language allow no forms of expression
that are not allowed in the functional paradigm, then it is obvious
that the unification is possible only if X is a subparadigm of the
functional one, and the unification will only produce the functional
paradigm.  But the whole purpose of combining paradigms is to give
increased expressiveness, so you should expect that a functional/X
langauge can express things that a pure functional language can't
(such as mutability of objects).

You _can_ combine the functional and object paradigms in the sense
that the combined language allows the expression of any functional
program and any object-oriented program, and some combinations that
are not allowed in either pure language.  Formally, for any functional
language L1, there exists a true object-oriented language L2 and a
language L such that every program in L1 (resp. L2) is a program in L,
and that the meaning of the program in L1 (L2) is subsumed by the
meaning of the program in L.  (If anyone wants to see a discussion of
this idea including a formal definition of "subsumed by", ask me for a
copy of my draft paper.  Warning: this paper contains category theory,
denotational semantics and other dangerous materials)

I am always disturbed by the idea that for a language to have some
good property, it must forbid the programmer from doing X.  Why do you
want to insist that all programs in the language have the property?
What's wrong with saying that any program in the language that does
not do X has the property?  This greatly increases the usefulness of
the language because now it is useful for writing programs where you
really want to do X (at some penalty because these programs won't have
the property).  And for programs where you don't need to do X, the
language is even better.
-- 
					David Gudeman
Department of Computer Science
The University of Arizona        gudeman@cs.arizona.edu
Tucson, AZ 85721                 noao!arizona!gudeman
Technical Details
Message-ID: <24043@megaron.cs.arizona.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!noao!arizona!gudeman

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!noao!arizona!gudeman
From: gudeman@cs.arizona.edu (David Gudeman)
Newsgroups: comp.lang.misc
Subject: Re: The Universal Language
Message-ID: <24043@megaron.cs.arizona.edu>
Date: 8 Aug 90 20:57:12 GMT
Organization: U of Arizona CS Dept, Tucson
Lines: 47