[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lojban and the Turing machine
- Subject: Re: Lojban and the Turing machine
- From: nellardo@concentric.net)
- Date: Mon, 1 Nov 1999 19:34:46 -0500 (EST)
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/