Mind.forth: What does it do?

John Passaniti jpass at rochester.rr.com
Sun Dec 6 03:09:24 EST 1998


Mentifex wrote in message <3669b08f.0 at news.victoria.tc.ca>...
>Since the e-mail asks about the documentation of Mind.forth, here
>is the plan.  Mind.forth is being written into a 30K data space,
>which corresponds roughly both to the file editing limit on Geo-
>Cities.com and to the 1024 X 30 size of thirty MVP-Forth screens.
>Part of the plan is to keep 30K Mind.forth small enough for robots.

What does the size of the *source* have to do with the desire to keep the
*object* small enough for robots to execute?  Why are you further
restricting the size of your source (and documentation) by the unfortunate
30k limit of GeoCities' editor?  Why not simply edit offline with your fave
editor, upload to GeoCities, and enjoy not only the efficiency of an editor
you know and love, but the freedom to express yourself without arbitrary
text limits?  If GeoCities limits you to only using their editor, go
elsewhere.

Hell, I'm sure that if you asked, you could find numerous people who would
be happy to provide you free web space so you could bypass the limitations
of GeoCities.  If nothing else, you wouldn't have to suffer with GeoCities
slapping their "brand" at the bottom-right of every page, and the annoying
pop-up window that also appears.

>However, each of the thirty Mind.forth screens already has its own
>http://www.geocities.com/Athens/Agora/7256/screen15.html etc. Web
>page with a 30K space for thorough explanation and code-comments.
>The plan is to document each screen of code as it gets written,
>so that eventually absolutely nothing in Mind.forth is unclear.

One way to ensure clarity is to choose words that are clear, so that your
readers don't have to contend with buzzphrases, neologisms, foreign phrases,
or obscure references.  If your goal is to make others understand your
effort, use words to facilitate that goal.

Here's an example:  kioku.  Every time I came across this word in your
source code, I had to ask myself what the word meant.  I also had to ask
what the "{" at the end meant, since there wasn't a matching bracket to
close it.  It finally became enough of a useless distraction from my
understanding of your source code that I typed that word into Alta-Vista,
and eventually discovered it is Japanese for "memory."  Thankfully some
company was selling "kioku candles" or I might never have known.  Lovely
candles, but knowing this provides *no* additional clarity.  Does kioku have
some additional meaning, or are you just impressing us with your Japanese
vocabulary?

I now have to map in my mind the symbol "kioku" to the common word "memory."
Why must I bother doing this?  Why can't you simply choose names that are
clear?

When I read your messages, source code, and comments, I don't feel I'm
gaining much from the experience (other than adding to my lexicon of useless
foreign phrases I can use to win trivia contests).  I for example thank your
Mind.forth project for bringing me the word "mekos" which sounds either
German or Greek, and which apparently means something like the "size" or
"length."   Some might wonder why "size" or "length" wouldn't have been a
better word to use in your source code, but apparently you don't.

I may not be well-read with regard to AI, but comparing your ramblings to
that of what I have read (books like Randall D. Beer's "Intelligence as
Adaptive Behavior" and Jonathan H. Connell "Minimalist Mobile Robotics")
manage to *not* overwhelm the reader with buzzphrases and neologisms, but
more importantly make an effort to express their concepts in clear English.
And they aren't just spewing AI theory.  They're talking about their
real-world implementations, their experiments, and what they have
discovered.

Practicality is a wonderful thing.  Try it.

>Your e-mail laments the choice of Forth, but I have compelling
>reasons to do this work not first in Forth but *second* in Forth
>after having already released the program on 26nov1994 as
>Mind.REXX.

There is nothing terribly wrong with Forth.  I love the language, but I also
realize that expressing your code in Forth or REXX limits it to programmers
of those two (marginalized) languages.  I can't see why you couldn't express
it in pseudo-code, so that it was open and implementable in whatever
language was best suited for the problem being solved.  Forth is a great
language, but if your ideas stand alone, they should be able to be expressed
in a language independent manner.

>It's those other, brighter Forth programmers whom I am counting
>on to port Mind.forth into programming languages that you prefer.
>They won't make the effort until they see functionality developing
>in Mind.forth -- but even the Mind.rexx program *did* function.

I (and I am sure others) would love to port Mind.forth to other programming
languages, but all we (or at least, I)  would be doing at this point would
be transliterating your Forth code into another language.  Without a deeper
understanding of what the code is supposed to do (and *how*) it is just a
mechanical exercise, not much different from writing a compiler that takes
Java bytecodes and outputs to some other machine-- there is no real
understanding of the program being translated, just a small local
understanding of how to map symbols from one space into another.

You could do a lot for your theory of mind by simply (and I mean *simply*)
stating it.  I've seen your incomprehensible diagram (which incidentally
looks surreal with the proportional-width fonts used by many people these
days to view their mail).  Apparently, your diagram tells me everything I
need to know to understand your concept?

>  /^^^^^^^^^^^\ Syntax Strings Together a Thought /^^^^^^^^^^^\
> /visual memory\           ________   semantic   /  auditory   \
>|      /--------|-------\ / syntax \  memory    |episodic memory|
>|      |  recog-|nition | \________/------------|-------------\ |
>|   ___|___     |       |     |flush-vector     |    _______  | |
>|  /image  \    |     __|__  / \  _______       |   /stored \ | |
>| / percept \   |    /     \/   \/ Verbs \------|--/ phonemes\| |
>| \ engrams /---|---/ Nouns \    \_______/      |  \ of words/  |
>|  \_______/    |   \_______/-------------------|---\_______/   |

Yeah!  Of course!  Now I see everything!  <ahem>

Am I missing something because I don't have a deep background in AI, or am I
missing something because you are relying on a bizarre ASCII diagram to
express a concept that is better written?

You are an infuriating guy, Arthur.  There are moments of lucidity where
what you write is clear, immediately sensible, and so lacking in pretentious
nonsense that I get the feeling you are on to something profound (or at
least useful).  Then there are the other moments where you write like some
goofy postmodernist, hell bent on obscuring the meaning of words as if it
was all some Dadaist experiment.  It isn't.

Okay, maybe you find such use of language fun and challenging.  Reading over
the first part of your "The Art of the Meme" presents someone who might win
at final Jeopardy, but I'm not sure if that is your goal.  Well, you know
what

Here's my humble suggestion:  Develop a split personality.  Let one side of
you (let's call him "Arthur") focus on bringing Mind.forth and your theory
of mind into sharper focus.  Arthur would care more about providing a solid
foundation for his ideas on which others could prove (or disprove) the
validity of your model.  Arthur would care more expressing clearly his ideas
rather than repeating his ASCII drawings which apparently haven't taken the
world by storm.

The other side of you (let's call him "Mentifex") can work separately to
write with maximum pretension, using all the best French and German phrases
you can find.  Mentifex can name-drop obscure 19th century philosophers in
the same sentence as pop-culture references, giving a Dennis Miller kind of
effect (only with a more technological edge).  And Mentifex can not only
promote the ASCII drawing representing his theory of mind, but he can add to
it, with crude bubbles filled with phrases like "spaghetti paradox
resolution unit" and "chewy hypersensory input matrix quantifier."  In
short, Mentifex can work on being the  beat-poet he evidently wants to be,
possibly being the William S. Burroughs of the 21st century.






More information about the Neur-sci mailing list