dylan (and ideas to ponder)

RE01 Rice Brian T. EM2 BRice@vinson.navy.mil
Mon, 1 Mar 1999 04:44:03 +0300


>  Actually, there can be much niftier desambiguation and/or DWIM mechanisms
>  than just plain hierarchies: using nicknames, pronouns, implicit
> conversions,
>  colloquial expressions, improper forms, understatement, etc, etc.
>  In the extreme case, we could program in something very much like
> english,
>  and the computer system would translate it and disambiguate it into a
> program.
>  Of course, unless you fully trust the translator,
>  you'd better check that the translated program really does what you mean,
>  before you execute it (and/or you execute it in a failsafe mode
>  were all operations are revertible).
> 
i know that this is probably the last thing that you'd like to hear from me,
but i thought it worth mentioning:

several years ago, before i was deeply involved with my current project, i
developed a human language paradigm that probably fits that description of a
human-like language for computing fairly well.

(yes, i know what you're thinking:  Another half-baked idea from Brian. :)

anyway, the language has only one grammatical type, and is intensional in
its denotational structure.  vocabulary is built dynamically, and ontologies
and truth are relative.

the alphabet is a system of accessing phonemes based on the international
phonetic alphabet using a binary number.  in this way, the alphabet consists
of two groups of 16 'consonants', one group of 16 'vowels', and a
hexadecimal numbering system for 64 total atoms.  the groups are organized
by phonetic dimensions, per the bit values of the binary number accessing
it.

the single grammatical type is conjugable in a context-free way.  the
conjugation means includes appending a consonant, vowel, consonant series
where the bits of the access field specify the dimensional coordinate of the
word in type-space.  because of this initial system, 4096 =2^(4*3)
conjugations are implicit, and all conjugations were found to be quite
useful.  this system is extremely general, and exceeds latin, greek, and
many other languages' capabilities easily.

i later on considered generalizing the conjugation system, first by
generalizing dimensional order, and then by making the coordinates in
type-space continuous, but i never tested these ideas.  an importaant idea
that i also had but never tested was to make the conjugation system dynamic,
but that seemed too much for a person to handle.  a friend of mine helped me
out in trying conversations and translations for a while, so that i got some
good experimental results on the basic ideas.

well, the language is basically the idea that got me thinking about the idea
of arrows for computers, and that led me to recognizing that the only thing
that i wanted from computers was for them to enable the ideas that you all
call Tunes.

hopefully, that's something for you all to sink your teeth into, and perhaps
it will allow you to understand my point of view better.

BTW, the arrow paper is coming along, but i was wondering what sort of
quality are you all expecting for the first draft that i present to you?