Re: Eliminating variables
sowa <sowa@turing.pacss.binghamton.edu>
Date: Sun, 20 Feb 94 17:09:30 EST
From: sowa <sowa@turing.pacss.binghamton.edu>
Message-id: <9402202209.AA22008@turing.pacss.binghamton.edu>
To: cg@cs.umn.edu, interlingua@ISI.EDU, phayes@cs.uiuc.edu,
sowa@turing.pacss.binghamton.edu
Subject: Re: Eliminating variables
Cc: sowa@turing.pacss.binghamton.edu
Pat,
A few comments, which I hope won't disturb this novel state of harmony:
> Yes, but... There may be something important in the way that we have
> developed linear languages which allow one to follow complex structures by
> keeping in mind a relatively small context. In other words, what may be
> surprising is the fact that sometimes conventional notations are actually
> quite *readable* when the variables are 10 pages from the definition! We
> should try to not throw away this kind of perspicuity. Also, while
> logicians tend to write bound variables as 'x', 'y13' etc, computer
> scientists tend to use names like 'temporary-association-list' and
> '$human-type' which can actually help one follow the structure. And of
> course this whole graphical-syntax story is more compelling for functional
> languages than for Fortranesque 'codes' which utilise the linear sequencing
> of expressions to encode temporal sequencing of operations.
I agree that occasional use of variable names can help to clarify
complex interconnections. In fact, Peirce himself noticed the utility
of introducing "labels" in his graphs when the connecting lines
crossed themselves and context boundaries in complex ways. Peirce's
solution was to erase part of a connecting line and to label each end
with a previously unused symbol that would indicate how they should be
reattached. I adopted P's convention for conceptual graphs, and frequently
use "coreference labels" (which look very much like variables) to avoid
criss-crossing lines.
Interestingly, Peirce mentioned this use of labels in an almost
parenthetical remark in one of his manuscripts. The editors of his
five-volume _Collected Papers_ selected that manuscript for publication,
but they deleted the section containing that remark. That is the most
frustrating characteristic of editors and anthologists: they almost
invariably delete the material that I would find the most significant.
> But the central point is that there are two issues; defining the structure
> of the language, and finding neat ways of displaying this structure for
> human use. These are seperate questions, and bound variables - whatever
> their merits or faults - should be regarded as part of the human
> interaction business, not part of the actual syntax, which is most
> naturally described as having (at least in part) a graph-theoretical
> structure.
Another point on which I whole-heartedly agree. In presenting
Peirce's EGs and my CGs, I develop the graphs without mentioning the
labels and only secondarily introduce them as a convenience for
showing long-distance connections.
> Indeed. There has been work in HCI on ways to make large heirachies more
> readable....
Yes, and I'm sure that current systems are just beginning to scratch
the surface of what can be done to improve readability, usability,
and all those good, but elusive things. Unfortunately, most of the
current HCI people do not have a strong enough appreciation for
theoretical structure to separate the abstract syntax from the mode
of presentation. What they call "Common User Architecture" is somewhat
useful, but so far, they have mainly been addressing superficial features.
John