From sabren@manifestation.com Sat Jul 14 18:16:07 2001 Return-Path: X-Sender: sabren@manifestation.com X-Apparently-To: lojban@yahoogroups.com Received: (EGP: mail-7_2_0); 15 Jul 2001 01:16:07 -0000 Received: (qmail 88675 invoked from network); 15 Jul 2001 01:16:06 -0000 Received: from unknown (10.1.10.26) by l10.egroups.com with QMQP; 15 Jul 2001 01:16:06 -0000 Received: from unknown (HELO mercury.sabren.com) (209.61.186.253) by mta1 with SMTP; 15 Jul 2001 01:16:06 -0000 Received: from localhost (sabren@localhost) by mercury.sabren.com (8.9.3/8.9.3) with ESMTP id VAA17336; Sat, 14 Jul 2001 21:23:50 -0500 Date: Sat, 14 Jul 2001 21:23:50 -0500 (CDT) X-Sender: sabren@mercury.sabren.com To: thinkit8@lycos.com Cc: lojban@yahoogroups.com Subject: Re: [lojban] a machine-code natural language? In-Reply-To: <9iqlco+6pta@eGroups.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII From: Michal Wallace X-Yahoo-Message-Num: 8582 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 ----------------------------------------------------------------------