Re: PROJ: Flare

From: Eliezer S. Yudkowsky (sentience@pobox.com)
Date: Wed Jul 18 2001 - 22:00:28 MDT


Brian Atkins wrote:
>
> Miriam English wrote:
> >
> > Another possible cause for the fact that it never took off in a big way is
> > that each person builds up their own dictionary of definitions upon the
> > standard base definitions. Naturally different people's definitions are not
> > necessarily interoperable -- they need to use someone else's user
> > dictionary... which is not always convenient. This is kinda a babel effect.
>
> I was worrying about this for Flare too... ideally we want everybody's
> code to work together/drag n drop ease. One possibility is an IDE that
> makes use of your net connection to go out and access some big database
> of "standards" to help you as you write your code. Does that make any
> sense?

That wasn't actually one of the Internet applications I was visualizing,
although a centralized repository of standards does make sense. What I
expect, though, is that most of the most commonly used standards will make
appearances in standard Flare libraries and will therefore be locally
documented, with the Flare IDE being responsible for displaying the
documentation without the programmer needing to go look at the source
file. That's 90% of the benefit. Having a central Internet repository
for all standards, commonly used or not, is an obvious extension of this
principle which implements the remaining 10% of the functionality through
the exercise of the proverbial "other 90%" of the effort.

Getting code that works together with "drag n' drop" ease is a question of
modularity and self-organization. Modularity is very substantially
improved by annotation, or so I allege. Self-organization is an
annotative idiom; it is permitted by allowing bindings to occur through an
intelligent search that checks the annotated metadata of linkup
candidates. For example, imagine sending an event that targets a service
annotated with any of the keywords 'jpeg', 'image', 'graphics', 'display',
or 'window', in that order. Imagine an object.property access that binds
to any property whose metadata is annotated with the standard keyword
'appendage'. In general, a binding can occur if the searches and the
targets intersect at least once. Lots of intelligent bindings on a local
scale equals self-organization on a global scale.

I can personally attest that modularity is amazingly improved by the
hacked-up pseudo-annotative idioms I've been using as a substitute for
Flare. Whether intelligent search is useful or totally useless is
something I don't know from experience; I've wished for it on one or two
occasions but have never had occasion to actually implement it, since it's
fundamentally a way of linking up code written by different programmers.
I've used rendezvous on a single keyword to good effect, but not
intersecting sets of searches and targets - that part is purely
theoretical. There's probably a pretty good chance that the existence of
a single unified standard for describing images will obviate the need to
try and bind to a wild-guess set of keywords. Still, who knows, somebody
might find a use for it eventually.

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



This archive was generated by hypermail 2.1.5 : Sat Nov 02 2002 - 08:08:52 MST