Where Tunes is going.

Brian Rice water@tscnet.com
Sat, 23 Oct 1999 00:36:58 -0700

At 09:33 PM 10/22/99 -0400, Pete Gonzalez wrote:
>On Fri, 22 Oct 1999, Brian Rice wrote:
>> Finally, I suppose that I should re-iterate why my explanations aren't
>> fantastic (but improving).  I learn from mathematical theory books and what
>> I develop in my own mind from the patterns I see.  I have no daily contact
>> with any programmers or mathematicians of any sort, and so my feedback loop
>> must run through this group.  It follows that you _will_ hear some crappy
>> explanations from me, along with some refined thought.  We as Tunes must
>> work through these ideas, because otherwise the product we eventually
>> present will be un-intelligible to others.
>I think you underestimate the problem here.  I haven't been following this
>thread lately, but I did read your original proposal for Arrow, and I
>think "un-intelligible" is not an entirely incorrect description.
>Certainly this could just be my own lack of familiarity with the subject;
>however, I can at least speak in relation to other similarly abstruse
>documents I've read, e.g. the ANSI C++ draft standard, the Kolmogorov
>complexity book, and most of the "introductory" papers on category theory.

Well, I'm truly sorry that my work isn't yet as good as those who have
spent years in academia refining their work with lots of peer review.
That's what my original apology was for, but i can see that it fell on deaf
ears.  I of course agree that all the examples you mention are much better
than my work so far.  Thanks for all the help.

>But there's a deeper issue here.  You're talking about a new technology
>that supposedly will revolutionize the way programmers (and perhaps even
>end-users) develop software.  There have been previous innovations like
>this:  structured programming, object-oriented programming, functional
>programming, concurrent programming, component software (COM/OLE), etc.
>Indeed, each of these started with a lot of rhetoric and circumlocution,
>but as the ideas matured they ultimately shook out into a few simple
>concepts that *anyone* can understand.  This is partly by necessity;
>otherwise the revolution's effect would be localized to the small elite
>group capable of understanding it.

Of course this is necessary, and I have no doubt that such a description
can be distilled from all of this rhetoric once the Arrow environment gets
"filled out", just as an object-oriented language needs a certain set of
classes to develop applications from in order to be really useful.  To
those who have spent the time these last few months on IRC helping me in
discussions, you would understand that there are a few simple concepts
within Arrow: (1) epistemic constructs (no semantic content), (2) reifying
ontologies to support every kind of semantic content desired, built from
the epistemic constructs, and (3) the modality concept to analyze the
possibilities available to an agent in a given context and yield a formal
means for constructing a semantic framework (a logic) dynamically.

All of these concepts work fundamentally differently from most every other
concept in programming and natural language.

>But I don't see this happening with Arrow:  You've been writing essays,
>e-mails, and papers about it for a long time and still most of your
>audience seems to have no clue about what Arrow is (by your own admission),
>let alone how they might contribute to its implementation.

Well, my peer-review loop is very large.  It takes forever to get good
feedback on my ideas.  Even when I was in college, no one took my ideas
seriously at all, except for those who weren't cs or ee majors (not much
has changed, it seems).  I'm sorry for you that I'm not a bona fide member
of academia.  That way, you would only receive well-thought out work, and
wouldn't appreciate at all what went into it.

>This is dangerous for two reasons:  First, it leads to the potential
>"emperor's new clothes" scenario associated with vaporware.  But more
>importantly, if you can't clearly communicate about Arrow to humans, how
>are we supposed to believe that you've developed a fundamentally simpler
>framework for communicating about algorithms to machines?

Well, coders will refuse to believe it, not based on a lack of logic on my
part, but on a lack of logic on theirs.  I contend that coders' inherent
desires to code will prohibit them from actually considering the ideas I
propose.  Arrow is not just about communicating algorithms; programming
languages are for that (i.e. ontologies).  The simplicity lies in the means
of lifting arbitrary patterns from algorithms (or otherwise).  The problem
is the (dare I say it?) paradigm-shift required to be made to support such
an environment.

>This is not intended as destructive criticism.  Rather, I'm offering the
>constructive criticism that your statement "I have no daily contact with
>any programmers or mathematicians of any sort" smacks of hubris at best.

I EMPHASIZE: I am an enlisted technician in the U.S. Navy.  It's a job I
picked so that I could save money to return to college a couple of years
from now.  I don't know any programmers personnally that have half a clue
about the subject itself, let alone anyone who can deal well with
higher-order mathematics.  Occasionally I get to meet with low-level
engineers who treat me like s***.  I did not plan this situation, and I
don't like it one bit.  In fact, it grates on me daily.

>As far as I can see, "Where Tunes is going" is in circles.  And that's
>disappointing, considering the straightforwardness of its goals.

What straightforwardness?  Making a bootable reflective Lisp environment?
Sure, that's straightforward, but there seems to be quite a few people who
think that this will not support the Tunes goals as well as originally
thought.  Or perhaps I am wrong?  Consider the big blank void that
(officially) fills the requirements for the HLL and meta-translator
projects, I can but conclude otherwise.

And oh yes, I forgot to mention (specifically) that Arrow is my idea of the
Tunes HLL.  I suppose that the ontology system would supply the
meta-translator idea.  Arrow is already sufficiently close to a language of
Cons cells that this should be relatively obvious if you've ever mulled
over the HLL specs after having covered all of the concepts that modern
advanced programming languages address.

>Best regards,
>Pete Gonzalez

Thanks for the feedback,