Re: [isml] Making HAL Your Pal (fwd)

From: Samantha Atkins (samantha@objectent.com)
Date: Thu Apr 26 2001 - 04:05:57 MDT


"Eliezer S. Yudkowsky" wrote:

> > Samantha is asking the exactly the right questions, and I haven't yet
> > seen any followup. Succinctly, what does Flare do that necessitates
> > inventing a completely new wheel?
>
> Quite a number of things. User-supplied annotations do not have a truly
> good or even passable access idiom - including annotation namespacing and
> annotation metadata, for example - in any language of which I am aware.
>

I am a bit confused. Which users, what types of information in
annotations? I thought I understood that one of the purposes of Flare
was to enable the annotating of information, functional components,
relationships and so on in some way that enabled the AI as well as
humans to reason well and accurately about these things. But this would
require a semantically rich and yet precise categorization and
description of all of these items. That problem is in itself not known
to be tractable.

Of course, it would be wonderful if software components could be
described quite well not only in syntax and interaction but in
intensional terms and all of this were computable. But I don't see how
Flare, as I understand it so far, actually solves or is a large step
toward solving this type of problem.

> > Attaching user supplied meta data to language constructs is trivial
> > and not a novel idea - though long term exposure to C++
>
> I program Python lately.
>
> > Take a look at the literate programming faq. Skim a decent Lisp text
> > and write some Prolog or Haskell or something else to break out of
> > the code as dead text / compilation is conversion to noise model and
> > get your mind some fresh air. Lisp blew the top of my head off
>
> [et cetera et cetera]
>
> Actually, Matt, while I understand that your suggestions are well-meant
> (lately I've come to realize that other people hypothesizing I have never
> once thought of something blindingly obvious are simply expecting a
> behavior that most people do in fact exhibit, not being personally
> insulting), I did in fact go through several lists of the "best of" modern
> languages back when I was writing my notes on Flare, looking for features
> that I could skim off, and making sure I didn't miss something obvious.
> This included Haskell, Common LISP, Scheme, Smalltalk, Tcl, APL, and so
> on, in addition to C++, Python, Perl, Java, Java VM, MOO, 680x0 assembly,
> Forth, Pascal, Prolog, and all the other languages with which I was
> already familiar at that time.
>

Instead of this please show where your proposal is actually better.
Thus far I have not seen it. My questions are not about how much you
may have been exposed to computer language theory (although I hardly
expect you to be an expert in everything), as they are about what you
mean by your claims and what your intentions for this language are and
why you made some of the choices you did.
 
> There are things I expect to do in Flare that I will only be able to do
> in, say, Python by badly reinventing Flare, like trying to write C++
> programs in C. Sure, you can implement your own virtual function tables,
> but do you really want to? Just having a picture in my mind of Flare has

That is trivial compared to the semantic and intentional programming
problems that I believe you would like to solve and need to solve to
have the AI fully understand and self-modify its code. As an aside, I
have written several varieties of message dispatch mechanisms in my
time. Virtual function tables are one of the faster mechanisms but also
one of the most wasteful in terms of space and one of the least
flexible.

> already led me to write seriously different (and better) Python programs
> with quick-and-dirty emulated Flare behaviors. For example, the program
> that I use to maintain my Webpages actually reads in fragments of Python
> code from an XML file and organizes them using the attached attributes.
> Even without being able to use the debugger on those code fragments,
> there's still been an improvement in programming speed just resulting from
> more modular design. "Literate programming" is just good writing and some
> features for forced documentation, not any kind of annotative programming.
>

But a far cry from computable description of program intentions or even
full semantic and syntactic description of software components.
 
> > I don't think though you appreciate what a enormous task
> > simply specifying a non-toy language would be or what it would take
> > to improve on the state of the art.
>
> It would take a small fragment of the knowledge of cognitive science that
> it would take to specify a non-toy AI. The fragment in question is
> knowledge about how the human mind handles annotative thinking, just as
> object-oriented programming is derived from a theory of how the human mind
> processes objects.
>

If this is all you are after I believe it is insufficient for what I
believe your purposes are.
 
> In other words, I dispute your implied belief that all the major "wins"
> have been used up. I've found a collection of design patterns in my
> programming career that are very basic, language-type features, which I
> have found to lead to incredibly more modular and adaptable code, and
> which I have yet to find implemented in any existing programming language,
> for all my browsing.
>

I saw no such implication.

Please publish them. Allow some of us to sit at your elbow or buy you
sufficient dinners to hear all about them and write them down if you
don't have time. What you have described so far does not seem to
require XML or even a new language. Lisp is quite versatile at
including such additions and at turning such innovations into
information for exxamining and modifying code, testing and so on. XML
seems to me to build in a lot of klunkiness for no real gain if use as
the basis of a language. It makes somewhat better sense for annotation
but even here it is not as versatile as other choices.
 
> Frankly, I see no good reason why you have a need to immediately
> hypothesize anything about Flare one way or the other, rather than waiting
> on further information. Flare simply hasn't made it to the top of my
> to-do list yet, in part because people like you keep asking me to write
> documents, and a lot of those requests have a higher priority than Flare.
>
> I now politely request that you stop bugging me about this.
>

Pardon me but if you are going to make claims about a new language
system and especially say it is necessary to the work of building an SI
then people whoc are about languages and/or the SI are naturally going
to want to know a lot about what you are proposing and why. I am sorry
if you feel "bugged". I'm not sorry about my or anyone else asking you
but quite sorry that you allow yourself to feel that way when people
express interest and ask for clarification.

- samantha



This archive was generated by hypermail 2b30 : Mon May 28 2001 - 09:59:56 MDT