From: Ben Goertzel (ben@goertzel.org)
Date: Tue Mar 16 2004 - 06:25:13 MST
> In order for the system to self-modify programming, Sasha
> should be (as you state below) in the form of the basic
> Novamente data structures. These Novamente data structures
> should easily translate into XML.
Right
> Once the program is interpreted into a combinator tree, the
> source code is irrelevant. For parsing to get it into the
> tree, for storage and, particularly for retrieval, it could
> be VERY useful to use a lot of the standards and
> infrastructure already developed for XML.
The reason we use XML is for interoperability between Novamente and
other databases and software programs.
For instance, when the NM core loads in information from a biology
database, it does so using XML as an intermediary (i.e., we first map
the bio-db into XML in a Novamente-appropriate way, then have Novamente
load the XML)
And, when the NM core sends information to a user interface, it does so
via XML ... (a different DTD for each different type of user interface)
But all this is just using XML as a *data language*, not using it to
store procedures.
> One thing which I
> haven't seen yet in Novamente that I'm sure will be necessary
> is ways to partition an atom space, label the pieces, and
> provide efficient and scalable directed access to specific
> pieces (and only those pieces) when you need them.
Yes, we have not built that stuff yet. We had stuff like that in
Webmind (Novamente's predecessor system) and will definitely need it for
Novamente as well. In Webmind we used an Oracle DB for this purpose,
but our solution now will be XML-based.
Still, this is using XML for data storage. While Atoms defining
procedures may be stored in this way, they're being manipulated on a
very coarse level (i.e. being categorized according to general qualities
like topic area, period of time in which they were used, etc.). They're
not being manipulated "as procedures", used to generate new procedures,
etc.
XML is, in my view, a pain in the butt for this purpose.
I don't share Samantha's LISP evangelism -- I like LISP in principle,
but personally I find it a bit annoying. I prefer Haskell if I'm going
to use a functional language. And I love Refal in principle, though I
haven't done much coding in it. For Novamente, we chose C++ because we
were paranoid about scalability to deal effectively with massive amounts
of memory....
-- Ben G
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:46 MDT