[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lojban] a machine-code natural language?
On Sat, 14 Jul 2001 thinkit8@lycos.com wrote:
> i originally found out about lojban when lojbab replied to a post of
> mine to sci.lang about a binary-coded natural language. basically, i
> was thinking of encoding a natural language much the way computers
> encode program code. that is, there are certain bit fields for
> determining the operation, and for supplying the data to be operated
> on. do you think it would be feasible to encode what english (and
> lojban) attempts to express in a manner similar to machine code?
> lojban is a very good bridge to attempt this--with its parsable text
> and unambiguous nature. but it is meant to be a spoken language, and
> as such a vastly different approach would have to be taken. has
> there been any attempts at this?
This seems like a pretty interesting question, but it's kind of wide
open.. Just about all the lojban I've seen so far HAS been encoded on
a computer - as ASCII text.
Now, since lojban only needs 26 symbols (abcdefgijklmnoprstuvxyz.',)
and the space character, it only needs 5 bits per letter, so one step
in the direction you're talking about might be to pack one and a half
symbols into each byte on disk..
Of course if I write a program in ASCII text and run it through a
compiler, I don't just get a shorter version of the code.. I usually
get a much larger number of instructions, spelled out in excruciating
detail. Unless I wrote my program in assembly language, where there's
a one to one mapping between instructions I type and instructions the
computer understands, the machine code and the original program will
take completely different forms.
If I'm getting your meaning, you're talking about a lojban compiler,
not just a compact encoding of the words themselves... It's very
possible to parse lojban and do just about any transformation you like
on the corresponding syntax tree.. You could conceivably even have a
lojban virtual machine that responded in certain ways to different
bridi..
But the question is.. What would the machine do upon seeing this code?
When I type [print "hello, world"], it's shorthand for an extremely
complex series of instructions dealing with the internal workings of
my computer (like the fact that I want the BIOS to print some
text). When I say "coi rodo", I'm also expressing a huge amount of
information (like the fact that there's more than one person
listening, that I'm addressing all of them, the likelyhood that I've
just arrived or begun speaking)..
ni'o
If you think about language as modelling the world, rather than
listing instructions, then one purpose of a lojban compiler might
simply be to expand as much data as possible from a given bridi..
For example, suppose a text adventure game began:
{do nenri lo ricgri} => in(you, a forest)
That's plenty of info for a human player because the human has
probably seen a forest or at least can imagine one, and can therefore
imagine trees, gound, sky, the species of trees, sounds in the air,
time of day, and so on.
But suppose you wanted to convert the game into a 3D virtual world.
One approach is to hire a bunch of 3D animators to build it for you.
In the future, a language compiler might be able to build it for you
itself, just by expanding the short description into a huge detailed
description, much the way conventional compilers turn high level
instructions into detailed instructions.
In that case, the virtual reality system could conceivably parse the
statement and use it to create a virtual world. Since ricgri is (I
hope) a girzu [gri] of tricu [ric], the world-building software would
know to describe a whole bunch of tricu.. And if there were a
knowledge base in which the VR machine could discover that tricu grow
on top of a loldi made of dertu, then those would have to be there
too...
Kind of an interesting idea..
Cheers,
- Michal
----------------------------------------------------------------------
let me host you! http://www.sabren.com me: http://www.sabren.net
----------------------------------------------------------------------