Personal tools

Lojban

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Others: Haskell and Lojban -- link to a discussion (with articles) on motivations wgy people choose (``adopti') a (programming or other) language)
m (Analogy between passive voice in Lojban expressed by ``se'' predicate modifiier to combinator C)
Line 5: Line 5:
 
Lojban is a constructed language. “Lojban was not designed primarily to be an international language, however, but rather as a linguistic tool for studying and understanding language. Its linguistic and computer applications make Lojban unique among international languages...” ([http://www.lojban.org/tiki/tiki-index.php?page=What+Is+Lojban%3F%2C+The+Book&bl NC:LojPer], page 15 par 1) -- the entire book is available also online, see the very bottom of the linked page.
 
Lojban is a constructed language. “Lojban was not designed primarily to be an international language, however, but rather as a linguistic tool for studying and understanding language. Its linguistic and computer applications make Lojban unique among international languages...” ([http://www.lojban.org/tiki/tiki-index.php?page=What+Is+Lojban%3F%2C+The+Book&bl NC:LojPer], page 15 par 1) -- the entire book is available also online, see the very bottom of the linked page.
   
It is an artificial language (and, unlike the more a posteriori Esperanto, it is It is rather of an a priori taste ([http://www.lojban.org/files/why-lojban/moody.txt Moo:LojPer])). It is a human language, capable of expressing everything. Its grammar uses (among others) things taken from mathematical logic, e.g. predicate-like structures. Although its does not make use [[combinatory logic]] directly (even, from a combinatory logic / functional programming point of view, it uses also rather imperative ideas), but it may give hints and analogies, how combinatory logic can be useful in [[Libraries and tools/Linguistics|linguistics]]. I like searching Lojban examples illustrating the learned statements when learning about [[Libraries and tools/Linguistics/Applicative universal grammar|applicative universal grammar]].
+
It is an artificial language (and, unlike the more a posteriori Esperanto, it is rather of an a priori taste ([http://www.lojban.org/files/why-lojban/moody.txt Moo:LojPer])). It is a human language, capable of expressing everything. Its grammar uses (among others) things taken from mathematical logic, e.g. predicate-like structures. Although its does not make use [[combinatory logic]] directly (even, from a combinatory logic / functional programming point of view, it uses also rather imperative ideas), but it may give hints and analogies, how combinatory logic can be useful in [[Libraries and tools/Linguistics|linguistics]]. I like searching Lojban examples illustrating the learned statements when learning about [[Libraries and tools/Linguistics/Applicative universal grammar|applicative universal grammar]].
   
 
See [http://www.lojban.org its official homepage here].
 
See [http://www.lojban.org its official homepage here].
Line 104: Line 104:
 
| <code>mi</code>
 
| <code>mi</code>
 
|}
 
|}
  +
  +
To illustrate this analogy, I write a semi-Lojban-semi-CL version:
  +
  +
<code>mi cu vecnu ta do zo'e vau</code>
  +
  +
<code>ta cu</code> (<math>\mathbf C</math> <code>vecnu</code>) <code>mi do zo'e vau</code>
   
 
=== Repeating ===
 
=== Repeating ===
Line 187: Line 193:
 
== Others ==
 
== Others ==
   
An interesing discussion e.g. on the sociology of how people choose (“adopt”) a programming language: [http://lambda-the-ultimate.org/node/1358 Social science research about programming language adoption?]. (Some similar questions are dicussed also in [http://www.paulgraham.com/avg.html Beating the Averages] written by [http://www.paulgraham.com/ Paul Graham]). In the mentioned discussion, [http://lambda-the-ultimate.org/node/1358#comment-15497 one of the comments] compared Haskell (among programming languages) to Lojban (among human languages).
+
An interesting discussion e.g. on the sociology of how people choose (“adopt”) a programming language: [http://lambda-the-ultimate.org/node/1358 Social science research about programming language adoption?]. (Some similar questions are dicussed also in [http://www.paulgraham.com/avg.html Beating the Averages] written by [http://www.paulgraham.com/ Paul Graham]). In the mentioned discussion, [http://lambda-the-ultimate.org/node/1358#comment-15497 one of the comments] compared Haskell (among programming languages) to Lojban (among human languages).
   
 
== References ==
 
== References ==

Revision as of 11:38, 8 August 2006

Contents


1 Introduction

Lojban is a constructed language. “Lojban was not designed primarily to be an international language, however, but rather as a linguistic tool for studying and understanding language. Its linguistic and computer applications make Lojban unique among international languages...” (NC:LojPer, page 15 par 1) -- the entire book is available also online, see the very bottom of the linked page.

It is an artificial language (and, unlike the more a posteriori Esperanto, it is rather of an a priori taste (Moo:LojPer)). It is a human language, capable of expressing everything. Its grammar uses (among others) things taken from mathematical logic, e.g. predicate-like structures. Although its does not make use combinatory logic directly (even, from a combinatory logic / functional programming point of view, it uses also rather imperative ideas), but it may give hints and analogies, how combinatory logic can be useful in linguistics. I like searching Lojban examples illustrating the learned statements when learning about applicative universal grammar.

See its official homepage here.

Wikipedia article on Lojban.

2 Analogies of combinatory logic combinators

The Lojban sentence examples are taken from (NC:WhLoj, Chapter 3. Diagrammed Summary of Lojban Grammar). Sometimes, I modified the sentences slightly, if the combinatory logic analogies made it necessary.

Predicates

Somebody sells something to sombebody for some price
x1 predicate x2 x3 x4

A little vocabulary:

mi
I
vecnu
sell
do
you
ta
that

Syntax:

I sell this to you for some price.
mi cu vecnu ta do zo'e vau
x1 predicate x2 x3 x4

cu and vau are separators (and they are optional). zo'e is only a place-keeper: the argument whose place is fiiled in by it is not specified.

2.1 Filipping (Is it something like “voice”?)

That is sold by you to me for some price
ta cu se vecnu do mi zo'e vau
x1 predicate x2 x3 x4

Comparing vecnu and se vecnu, it is of taste \mathbf C combinator of combinatory logic. Comparing structure:

x1 cu predicate x2 x3 x4 vau
do vecnu ta mi zo'e
ta se vecnu mi

To illustrate this analogy, I write a semi-Lojban-semi-CL version:

mi cu vecnu ta do zo'e vau

ta cu (\mathbf C vecnu) mi do zo'e vau

2.2 Repeating

Words mi, do correspond to English personal pronouns I (me), you. Lojban has other similar words, e.g. ri. Word ri fills in an argument (of the predicate) which repeats the previous argument.

Somebody talks to sombebody about something in some language
x1 predicate x2 x3 x4

A little vocabulary:

mi
I
tavla
talk
do
you
la lojban.
Lojban

Syntax:

I talk to you about the Lojban language in Lojban
mi cu tavla do la lojban. la lojban. vau
x1 predicate x2 x3 x4

mi cu tavla do la lojban. la lojban. vau

The word ri helps us avoiding repeating the argument of predicate in this case:

mi cu tavla do la lojban. ri vau

I think, it is a rather imperative solution (using some notion of state / memory), compared to the \mathbf W combinator of combinatory logic, but in this case, it has the same effect. If Lojban used combinators, I should write (using the elementary duplicator \mathbf W):

\mathbf W(mi cu tavla do) la lojban. vau

It seems to me even better to modify only the predicate directly, not an arbitrary subexpression of the sentence -- if it is possible. Thus the deferred combinator \mathbf W_{\left(2\right)} helps us even more here:

mi cu (\mathbf W_{\left(2\right)} tavla) do la lojban. vau

\mathbf W-sequences could be used also for avoiding the many-many repeating zo'e words (of course, if Lojban used combinators):

I talk.

(Not specified, to whom, about what topic, in what language!)

mi cu tavla zo'e zo'e zo'e vau

What could help us in lambda calculus?

λfxy.fxyyy

mi cu (\left(\lambda f x y . f x y y y\right) tavla) zo'e vau

In combinatory logic, \mathbf W^2_{\;\left(1\right)} makes that (let us note the little slant of the indices: powered combinator \mathbf W^2 is deferred here, not deferred combinator \mathbf W_{\left(1\right)} is powered!):

mi cu (\mathbf W^2_{\;\left(1\right)} tavla) zo'e vau

Lojban does not use combinators this way, it uses also rather imperative solutions. Despite of that, Lojban makes me think of combinatory logic and applicative universal grammar.

3 Others

An interesting discussion e.g. on the sociology of how people choose (“adopt”) a programming language: Social science research about programming language adoption?. (Some similar questions are dicussed also in Beating the Averages written by Paul Graham). In the mentioned discussion, one of the comments compared Haskell (among programming languages) to Lojban (among human languages).

4 References

NC:WhLoj
Nicholas, Nick and Cowan, John (ed.): What is Lojban? Logical Language Group, 2003. Available also online, see the very bottom of the linked page.
Moo:LojPer
Todd Moody: Lojban in Perspective. Available from here, part of Lojban's official homepage