From nellardo@xxxxxxxxxx.xxxxxxxxxxxxxxxxx) Mon Nov 1 16:34:46 1999 X-Digest-Num: 273 Message-ID: <44114.273.1532.959273825@eGroups.com> Date: Mon, 1 Nov 1999 19:34:46 -0500 (EST) From: nellardo@xxxxxxxxxx.xxxxxxxxxxxxxxxxx) Subject: Re: Lojban and the Turing machine la gi'o .kuot. Robin Turner .kuot. cusku di'e: > la bruk. cusku di'e > > > = > > > > > > LApp app; > > > app.AddWindow(new LWindow) > > > > Now the programmer's answer is that *this* is much more succinct and > > legible. So what did you gain by using lojban? lojban is a full human > > language - that means it is incredibly rich. Using it to duplicate C++ > > functionality seems like using a Steyr AUG assault rifle as a > > flyswatter. Yeah, you can do it, but your bare hand works better. > > Yes, unless you're someone like me who knows a bit of Lojban but > virutally no C++ (I bought the "C++ in 10 minutes" book several > months ago, and still haven't got further than "Hello World"). > As someone who wrote their last program 15 years ago, I'd really > appreciate either a Lojban programming language or a Lojban > "front-end" to an existing language. Of course, Robin, you're almost certainly atypical :-) Now, with the "bare hand works better" crack, I did not mean to suggest C++ is a better programming language that lojban. First of all, lojban is not a programming language - it has no computer-executable semantics (someone, please please correct me if I am wrong). Second of all, C++ is a better programming language than very few other programming languages: C, assembler (what's the difference? One's an ANSI standard with a more complex syntax), and machine language come to mind. But that's about it. Now, another point I'd like to make is that different programming languages are best suited for different things. Unfortunately, C is pretty well suited to writing device drivers - you want to write that, C is pretty much it. If you want to do complex scheduling optimizations, various constraint-logic programming languages work exceedingly well - a page and a half for something that would be thousands of lines of C++. So, the executable semantics of lojban..... First of all, what is lojban good for? In a semantics sense, I mean. Clearly, device drivers aren't quite lojban's forte, but then neither is scheduling optimization. Some things that come to mind: System integration: Here, lojban's descriptive power lets you say what different components can do (and *only* that), and it's extensive quoting facilities make it easier to import foreign code if necessary (".kuot." not being a likely string in any programming language with exception of a lojban parser....). Certain kinds of scientific problems. Describing lab results, inferring conclusions. Automatic algorithm discovery. Again, lojban's quoting power is useful, but in different ways. It makes it easier to talk about your own discourse clearly - i.e., the code can talk (and reason) about itself. Genetic programming. See previous. Also set description, mathematical expressions (for fitness calculations). So what does this mean for the executable semantics? Not quite sure yet. That's going to need some more thought. Obvious ones: First use of a name implicitly creates an entity to be reasoned about. Pro-bridi and pro-sumti usage have obvious scoping (already part of the language). .i and ni'o and the like form a very basic structuring. It will be necessary to define a subset of gismu that are the "primitive" gismu - other gismu, lujvo, and tanru are defined in terms of those "primitive" gismu. What to do about many "real world" gismu will be an interesting question. For example, "blanu" - does it make sense? Clearly not always (or at least not obviously): le xalbo blanu The-thing-which-is-really-levity is blue. I think this suggests a converser model, if you will. The "lojban virtual machine" is conceptually a person, an agent, really, with some knowledge about the real world (as well as cyberspace, of course). Thougts? What's been done in this area before? co'o mi'e brukcr. --------- COFFEE.EXE Missing - Insert Cup and Press Any Key --------- Fancy. Myth. Magic. http://www.concentric.net/~nellardo/