RE: 'Singularity Realism' - A few thoughts

From: Ben Goertzel (
Date: Thu Mar 11 2004 - 10:40:49 MST


Perhaps this is not an SL4-ish thread, but it's interesting.

I'm curious what sorts of things you want to do by treating "programs as
data" using an XML representation.

It seems to me that the problem with treating complex programs as data
in an XML sense is that the semantics of complex programs is, well,

We have designed, but not implemented, a programming language for
Novamente, named Sasha (after the late extropian Sasha Chislenko).
Sasha will compile into Novamente nodes and links, which can be saved as
XML, hence it will be an XML-based programming language. More comments
on this below.

LISP treats programs as data, in a way that is elegant and workable for
small programs, but never seemed to scale very well for large-scale
software engineering.

FLARE, in my view, had profound usability problems as a programming
language. It had some cool features but needed a huge amount of work to
be turned into something potentially usable.

Another comment is that an XML representation of a program will need to
be translated into some far more compact binary representation to enable
execution anyway.

I see two approaches for XML-ization of programs:

Simply map a program into XML, in a direct way. This will result in
hideously complex XML that cannot be pragmatically manipulated.

Separate *efficiency of implementation* from *logical structure of
programs*. In other words, have a language with two layers: one layer
that is more like a formal specification, and the other layer that is
transformed to be efficiently executiable. It's the first layer that
can usefully be represented in XML, and potentially manipulated using
XML-manipulation tools.

Sasha takes this second approach, but weakly. Its syntax is very
high-level, and then for efficient execution, it would require massive
graph rewriting on the back end, in the manner of all functional

The most easily XML-izable programming language is Refal, developed by
Val Turchin in the 1950's. This is the Russian LISP, sort of, and its
syntax is more similar to XML syntax than to anything else in the West.
Val tried to get Refal adopted by the XML community as a scripting
language, but it was too weird, and no one got interested.

Refal is tied in with supercompilation, which produces an efficiently
executable program from a compact, easily XML-izable Refal program.

-- Ben Goertzel

> -----Original Message-----
> From: [] On Behalf
> Of Mark Waser
> Sent: Thursday, March 11, 2004 8:09 AM
> To:
> Subject: Re: 'Singularity Realism' - A few thoughts
> > Creating
> > a new workable language and proving its viability is hard. I don't
> > believe FLARE ever gained enough momentum to achieve this.
> I for one
> > saw nothing terribly compelling or necessary about the
> language. It
> > was not some huge boon to AI programming in general. IMHO,
> it was a
> > needless distraction.
> I disagree. XML is now pretty much THE premiere data
> language with a lot of programming infrastructure, utilities,
> and, very importantly, standards already created to support
> it. An XML-based programming language, which allows programs
> to be EASILY treated as data and which would build on all of
> the XML infrastructure already in place, would be a HUGE boon
> to programs that look to analyze and improve their own
> programming. AI lost a lot when LISP, etc. pretty much fell
> off of the map.
> Someone once said that the level of civilization is
> determined by what you can do without thinking (i.e. the
> level of infrastructure and common standards). A
> well-accepted XML-based programming language will be a HUGE
> increase to the existing infrastructure.
> M$ will eventually fill the gap with their proposed X#
> programming language unless someone else beats them to the
> punch (but I consider that HIGHLY unlikely at this point
> unless FLARE is still alive as a stealth project and near
> release). I, personally, am looking forward to the day with
> great anticipation and dread.
> Mark

This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:46 MDT