Flare vs LISP

From: Eliezer S. Yudkowsky (sentience@pobox.com)
Date: Mon Jun 11 2001 - 13:32:24 MDT


All right, this is now obviously about Flare vs. LISP, so I'll answer.
The real answer is that Flare hasn't been written up yet. The secondary
answer is that yes, it is possible to write something which badly
resembles a simple Flare program in LISP (although Python or Perl would be
better), just as it is possible to write bad C++ in C.

But to give an immediate example of something you can't do easily in LISP
that you could do easily in Flare, you can't have "sentence" have
different metadata inside a "prison" object and a "speech" object, because
LISP has no C++/Java features for namespacing.

An example of something you can do easily in Flare that you cannot do
easily in any other language would be to have a module in package A add
its own data to an object from package B, and have a built-in language
namespacing mechanism that prevents B or other packages from getting
confused and stomping all over this weird unexpected data inside a
structure it thought it understood, as well as the language namespacing
mechanism that lets package C find the metadata (behaviors) of package A's
annotation, and so on.

You can add an arbitrary key/value pair to someone else's Perl or Python
object, but you have no guarantee that a reflective object won't stomp it,
and must thus know in advance that the object is not reflective. In Perl
and Python, you can't add an arbitrary key/value pair to an arbitrary
object, which rules out an entire class of design patterns. You also have
no namespacing mechanism to simultaneously preserve easy naming and
modularity. Finally, the key/value pair - if you're lucky enough that
nobody sees it and stomps it - has no value outside your own package,
because Perl and Python have no language standard for the meaning of
annotations, and no language standard for finding metadata on annotations.

As for comparing XML with the format used for LISP data structures, if you
have to ask, then you really need to spend a few hours reading up on XML.

-- -- -- -- --
Eliezer S. Yudkowsky http://intelligence.org/
Research Fellow, Singularity Institute for Artificial Intelligence



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