# How would a theoretically perfect language work? [closed]

Suppose a species gets together to make the most efficient language possible. The species is culturally able to accept it, the logistics of getting it to everybody has already been taken care of. Their goals are as follows:

1. Make a language that is rarely misinterpreted, eg. there are no exceptions to linguistic rules, none of this i before e stuff.
2. New words can be easily created and understood from basic morphemes. In English, anyone familiar with the words "fire" and "place" will be able to deduce what a fireplace is. This hypothetical language should be entirely like that, exempting the most basic morphemes.

So, how would such a language work?

Would each sentence be a long string of morphemes, or something else entirely? Or, is such an idea totally impractical for some reason, like that all phrases would be too long to be efficient?

Or, I have no idea what i'm talking about, and there is some massive flaw in my "perfect" language.

• Comments are not for extended discussion; this conversation has been moved to chat. – L.Dutch - Reinstate Monica Jan 20 at 3:48
• Have you ever checked out how Japanese works? I did some Japanese courses once. It is put together as you describe. All the engineers came out saying "this language is clearly a construct". The hiragana alphabet can also be sung as a song. As a cute example, if you put a small symbol "person" next to the symbol "tree" it means "having a rest". – RedSonja Jan 20 at 7:36
• It would look like Lojban. – lvella Jan 20 at 13:23
• Note that orthography is not part of language proper; "i before e" is not a linguistic rule. (That doesn't mean that it's not a requirement for your language, but it's a "perfect language" with sensible orthography too). – Spitemaster Jan 20 at 15:18
• @RedSonja Yeah, learning Japanese reminded me kind of like learning a computer programming language or speaking by listing things. – DKNguyen Jan 20 at 20:58

What you're describing is a classical philosophical language, a kind of engineered language that creates ideas by chaining together strings of morphemes as you say.

Most of these languages are taxonomic, focusing on words with substance: nouns, verbs, descriptors.

Check out Ars Signorum for one of the earliest of the type and for a more modern approach, take a look at Ygyde.

As for your question "how would it work" and your subquestion, "is it practical":

Such a language should, in theory, work like any other. You compose taxonomically appropriate words for all the categories you wish to talk about and put them together in the customary manner and your result is a sentence. In theory.

In actuality, no, these languages are terribly impractical for ordinary use. Depending on the taxonomic philosophy underlying the language, you might have to say "ygububenarahugi", covering the pertinent taxonomic hierarchies of "living thing", "animal", "human", "alive", "specific", "interlocutor", "speaker"; and then "ramifodudugo", which just rolls off the tongue and means "action", "physical", "proximal", "near-contemporaneous", "oral", "lingual" and means "said".

By the time you say:

ygububenarahugi-ramifodudugo ramijigonggong ygububenarahudi-ramifodatulodaulooxixiroro

and by the time the other person works it all out:

living thing animal human alive specific interlocutor speaker action physical proximal near-contemporaneous oral lingual physical object device machine engine living thing animal human alive specific interlocutor hearer physical object tool lever manipulate direction reversal

the warp core has exploded, destroying half the star cruiser and much of the space dock as well, when all you really had to say was:

# I said: cut the engines!

• Great! Sounds a bit like H P Lovecraft. – DrMcCleod Jan 19 at 9:02
• But if the language is optimal, it will use Huffman coding or similar on the raw words created by chaining morphemes, so that the most frequently used words will end up being very short. – Mike Scott Jan 19 at 10:07
• @MikeScott So you may end up with different dialects for different areas of work, where short words vary between them but long ones stay the same. – val is still with Monica Jan 19 at 10:48
• @MikeScott Of course, unless the society is in social and technological stasis, it won't stay optimal. – Geoffrey Brent Jan 19 at 11:34
• Meanwhile I misread the last sentence and took my energy sword out and literally cut the engine resulting in an explosion. Language is hard to get perfect. – Anketam Jan 19 at 16:53

I don't believe such a thing could be possible.

Suppose you have such a theoretically "perfect" language--ideas are expressed in the minimum number of bits (whatever those bits translate to in terms of speaking/writing.) What happens when someone doesn't speak (or write) perfectly? Since there is no redundancy to the message you have a coherent message that means something different than you intended.

Real world languages must have redundancy in some form to minimize this problem. (Although it will never be eliminated.)

Also, there's always a tradeoff between complex words and more words. Which is more efficient? It depends on what you're doing, so once again there is no perfect.

• I don't agree, one could still construct a language that is as compact as possible and then supplement it with error correcting codes like what is used today in data storage and transmission to eliminate this issue. That of course assumes this species is capable of performing the necessary mathematical operations "on the fly" which is not too far fetched imo. – Peter Jan 19 at 11:32
• You still have to decide what categories of error you care to correct and how many bits to devote to that. This is a value judgement, there's no single objectively correct answer. Anyway, your supplementary error-correction codes are just adding back the redundancy you claim is unnecessary. – Useless Jan 19 at 13:03
• In fact, the human brain already implements perfect error correction - it checks every message in parallel and assigns it a plausibility rating based on the observed error rate and the context of the message. No fixed correction code can pull that off. While dictionary-based compression schemes can pull off impressive compression ratios, the slightest mismatch between the encoding and decoding dictionaries results in garbled message. And if you want a compressed stream that doesn't collapse if you lose a few bytes at the start, you have to pay extra in compression ratio. – John Dvorak Jan 19 at 18:10
• I vaguely remember study showing that information density in time of human speech is constant across languages. Languages with lots of redundancy just are pronounced faster than with smaller amount of it. – Maciej Piechotka Jan 19 at 18:21
• You said you could "construct a language that is as compact as possible and then supplement it with error correcting codes'. But "as compact as possible" means removing redundancy, and "error correcting codes" means adding it back. The first step is potentially objective as you say, but the second requires making a choice about what sort of errors you want to correct. So there's no single perfect (or optimal) language. – Useless Jan 19 at 20:54

You will hit one important limitation - language evolves.

You are adding concepts that didn't exist before, relative importance of words changes as world evolves, words get additional meaning because they are now found related to other concepts or because of slang etc etc.

Assume you have a perfect language with whatever conditions you want. Each written letter is one sound and everything is encoded in minimum number of bits, or it is simple to link tons of words in a long word meaning the combination, or whatever other conditions you want - check other answers for many ideas. As perfect with all the conditions you want, at that particular point in time (introduction of the language). Now assume that language started at say 1850-ish (spring of nations in Europe).

Back then, horses were pretty important - they work fields, transport people, people race them etc etc, so it is one of those crucial words you are surely basing tons of concepts on. Engine gets named "black water mechanical horse" because what else would it be - it replaces horses to transport people around and uses black water to run. In line with previous namings, processor gets named "electrical horse brain" because the word "horse" evolved to the point to mean "something that does work for humans". Come late 20th century and a mostly irrelevant animal is all over the place in gazillion of concepts, making all those concepts longer than needed and fairly confusing too.

Do you feel it is still somewhat manageable? Note this is mere 100-200 years. Jump back to first written languages and the evolved language would be more or less "spam egg spam spam bacon spam".

Now, how do you tackle that?

1. Let language constantly evolve? Congrats, you are back to our current languages.
2. Keep your ancient language? But it is no longer "perfect" in any reasonable sense and would fare worse than any imperfect language that is allowed to evolve - it poorly links all the modern concepts together, it isn't compact etc etc.
3. Clean break every now and then? Language gets "re-optimized" every say 100 years. It gets increasingly less optimal towards the end of the time, and comes with a lot of confusion during transition period, but it is most likely the only viable solution.
• What if it's so perfect that it evolves perfectly and black water mechanical horse gets gradually simplified as horses get phased out with perfect timing.... what then.... – Dmiters Jan 19 at 16:31
• @Dmiters, isn't that basically Option #1? "Let language constantly evolve"? Also, "perfect" is relative to the chosen circumstances and use case. If any of those underlying conditions change, then suddenly things aren't "perfect" anymore. – Eiríkr Útlendi Jan 19 at 22:10
• Great answer! Pronunciation also shifts over time, which leads to all kinds of weird spelling rules. – bob Jan 20 at 15:48
• Also the language will evolve as it interacts with languages around it, picking up loan words and being spoken by non-native speakers who inject elements from their own native language (words, pronunciation, grammar, etc.). It's hard to imagine a language being totally immune to change. – bob Jan 20 at 15:50

A number of philosophical languages were in vogue in the 17th century. Generally they try to achieve perfection in capturing the semantic hierarchy of words; and they tend to be unlearnable and unusable.

A modern approach is loglan/lojban; they try to avoid grammatical ambiguity, their grammar is quite unusual and are very hard to learn.

As for the semantic hierarchy, a rather successful approach is the WordNet (and derivatives). This is however not a language but "just" a hierarchy of semantic relations.

And as for the "no exception" rule, that is rather trivial - already Esperanto has no grammar exceptions (and a rather small number of word derivation "exceptions"). Turkish has very few exceptions in its verb declination system. And languages without spelling exceptions are a dime a dozen.

Conclusion: there were many different approaches in our existing Earth history to create such a "perfect" language, whatever your definition of perfection. Some of them work better, some less well, some are somewhat successful and alive, some are forgotten. Just take your pick.

• For a practical example, here is Alice in wonderland, in lojban; mw.lojban.org/papri/… – Clumsy cat Jan 19 at 13:35
• You might be surprised how easy Lojban is to pick up; modern tutorials like lojban.io are very slick. The main problem most speakers face is acquiring vocabulary and mapping semantic ideas from the world, not grammar. (And yeah, it's not perfect.) – Corbin Jan 21 at 0:40

I would strongly encourage you to look at Esperanto, as it actually approaches the ideals you’re asking for in certain ways:

### Consistency

Esperanto was built from the ground up to be easy to learn, and thus is very internally consistent. It has:

• One definite article, which never changes (it’s always ‘la’, no matter what gender the noun is).
• Exactly one way to decline nouns (nouns only change for plurality and subject/object differentiation, using -o, -on, -oj, and -ojn as respective endings for singular subject and object forms, and plural subject and object forms respectively).
• Exactly one way to decline adjectives (adjectives always agree with the nouns they modify, and use exactly the same suffixes except for replacing ‘o’ with ‘a’).
• Exactly one way to conjugate verbs (verbs change more than nouns or adjectives, but still have 100% consistent conjugation independent of the root).
• A perfectly consistent and completely reflexive (but admittedly not 1:1) mapping between letters and phonemes. This, combined with the very simple phonotactics of the language, mean that you can actually determine how a word is spelled by just knowing how it’s pronounced and where each syllable is, 100% of the time.
• A comprehensive set of correlatives created by pairing specifically defined suffixes with specifically defined prefixes (for example, kio, tio, io, ĉio, and nenio are what, this/that, something, everything, and nothing, while kiam, tiam, iam, ĉiam, and neniam are the exact equivalents for time and kie, tie, ie, ĉie, and nenie are the exact equivalents for place) with no exceptional forms.
• Numerous other aspects that are extremely self-consistent.

There are cases of limited consistency, but most have to do with how the original lexicon was built up (that is, some words which could be derived using affixes as I will describe in the next section have distinct roots instead of being derived using affixes).

### Extensibility

Esperanto uses a rather interesting system to derive vocabulary. The lexicon consists of a set of roots (base forms that provide the core meaning of a word), which can then be modified by a remarkably expressive system of affixes to derive exact forms.

Using a really simple example of the root ‘promen’ (which mostly corresponds to the English word ‘walk’), you can derive:

• promeno: walk, as a noun
• promeni: to walk, as an infinitive form of a transitive verb
• promena: walk, in the sense of an adjective (roughly equivalent to using ‘walking’ as an adjective in English)
• promenu: walk, as a verb in the form of a request or command
• promenego: a long walk
• promeneto: a short walk
• promenanto: one who walks in the generic sense
• promenisto: one who walks professionally or as a vocation
• promenadi/promenado: walking as a habit or recurring action, as a verb or noun
• promenejo: a place for walking, or one which is frequently walked through
• promenero (not sure if this is ever actually used): the smallest part of a walk, a single step
• promeneco: the abstract concept of a walk or the abstract concept of walking
• promeniio: a tool for walking, possibly used as a synonym for ‘kano’ (a cane)
• ekpromeno: the beginning of a walk
• ekpromeni: to start a walk

There are many more possibilities, as there are a number of other affixes and you can actually combine a number of the affixes in complicated ways (for example, ‘ekpromenadisteco’, the abstract concept of one who habitually starts walking). This allows for easy derivation of forms (one example not seen above, the prefix ‘mal-’ is used to form an antonym of the attached word, so warm/hot is varma, while cool/cold is malvarma, and many other paired adjectives follow the same pattern), but it also has an interesting aspect in that it allows for some rather silly nonsense (’kato’ is the noun for ‘cat’, so what would a ‘katanto’ be? What action does ‘katu’ describe? How about ‘malkateco’ (the antonym of the abstract concept of a cat)?) that borders on being untranslatable in the rare cases it’s not just semantic gibberish.

On top of this, Esperanto uses Germanic-style compound word formation, largely stringing together components to form more complicated words.

However, this extensibility is by no means perfect, and in fact it cannot be perfect for the type of easy vocabulary derivation you seem to want. Esperanto usually does a bit better than English here, but still suffers from the same issues that are highlighted by your own example of ‘fireplace’ (all that someone who only knows ‘fire’ and ‘place’ in isolation can derive is that it’s a place for fire or associated with fire, not that it’s a specific type of fixture usually found in older buildings that was utilized as a primitive form of climate control). To actually make such a perfectly extensible language would require an absolute 1:1 mapping of words to meanings with zero ambiguity, no idioms, no euphemisms, and none of the other things that make language imprecise. Such a language would be functionally impossible to use outside of very specific circumstances, and would not allow for any creativity because you could not derive new words in any practical sense.

### Yes we can make a language like that - but perfection may be subjective.

People may value things like rhyme or other auditory features of your language (Doesn't French sound romantic? doesn't German sound authoritive? isn't written Arabic beautiful? Isn't New-Speak perfect because it's hard for speakers to form rebellious thoughts?). These are so complex to consider I'm just going to mention the category and forget about them.

However there are obvious flaws in our language that we can't agree on how to fix. Ever been confused by a sentence like: "one of my friends is gender non-binary, they live a long way away"? (Do all my friends live away, or just the single transgender friend?).

How do we fix that ambiguity? I vote a new word "They-all" to be used when referring to all of a group vs a single person of unspecific (or specific neutral) gender, but that is a can of worms. Some people will want all gendered pronouns removed, some less caring people think non-binary should just pick one. Your language designers will have to fight these kinds of battles.

### So how would you design it?

You need to have:

• each word be it's own unique meaning.
• eg "Set" can't mean both "apply" and "collection".
• If one hears a particular collection of sounds or sees a group of letters, the meaning is unambiguous, yet no longer than it needs to be.
• eg there, their, and they're would need to be replaced with 3 unique words.
• "Close" can't be the opposite of both far and open.
• most common words are the shortest, rarest words are the longest.

Assuming a pronouncable, unique word can be made by vowel- consonant pairs, your looking at about 130 combinations that can be words for every two letters. Removing cases which could introduce word boundary ambiguity (eg Our rate vs Hour eight), or other unintentional homophones, your probably looking at about 10 unique words per letter of length. 100 per 2 letters, 10000 per 4 letters

So the most common 100 words are assigned to the 1 syllable / 2 letter words.
The next most common 10000 words are assigned to the 2 syllable / 4 letter words.
Etc.

### Example and dry maths

So these English words are all 2 letters in your language:

a about all also and as at be because but by can come could day do even find first for from get give go have he her here him his how I if in into it its just know like look make man many me more my new no not now of on one only or other our out people say see she so some take tell than that the their them then there these they thing think this those time to two up use very want way we well what when which who will with would year you your

Each one of these has a 2 letter word in your perfect language, so the translation of "some people think they know me very well" would be something like "da do ti to co me we wa", saving 2 syllables when spoken, or 17 letters when written.

• The trouble with word frequency is that you likely don't know what that frequency is before the language is in use. And making changes to the language after it's in wide use makes it implicitly imperfect as you've now introduced a competing version. That's before taking into account natural linguistic drift from people using the language "out in the wild". I'm not sure the perfect state would survive long. – VLAZ Jan 19 at 7:14
• I challenge your first point that you can have a language in which each word has is own, unique and unambiguous meaning. Its rather well-established that mental categories very often have fuzzy boundaries and can overlap. Think, for example, of the difference between cup and mug: while for many objects it's clear which word to use, there will be vessels that can justly be called either. And there will be differences between speakers as well. As this fuzziness of categories seems to be an immutable property of human cognition, I don't see how there could be a language that gets around this. – Schmuddi Jan 19 at 8:55
• Also, your application of a compression algorithm assumes that (a) the number of words in the language is definable and known, (b) there is a single meaningful frequency for words and (c) the lexicon is fixed (words won't ever change their frequency of use, no word will fall in disuse, and no new words will arise). All three assumptions don't agree with what we know about natural languages. – Schmuddi Jan 19 at 9:10
• yup, as Schmuddi says, lexical ambiguity can never be fully eliminated, because you can never have perfect knowledge of the definition of a word in someone else's head, and so can never know that the two of you agree on the same unique unambiguous meaning linguistics.stackexchange.com/questions/36112/… – Tristan Jan 19 at 15:30

It looks and sounds completely random.

Write some English text. Compress it. Base64-encode the compressed file. Now pretend each different letter is a syllable. It looks something like this:

H4sIAAAAAAACA11TMY7cMAzs/Qp2aYx9QJqrUlyRpLgAqWmbsomVJUOUz+ffZyhnb4MYWNgrjWaG
wjGexNh3Mh5H2Spp7RtlzLNa1dEoB1eummZsOlLepZxDnk5a2IhjEcb3IJKowlGikYvgWFPVQnPm
CBzWAA85xnzY164jPN+9An4argtX91eAhrdVTVOVshWpMvUk883NORN+CVY+3LTm5MFQhMe9uaay
R7EekOROcAikCo8h4yCiqHsIt2bhhxx05DIhFE5AkLAptEeUBVHiNNGeJilWc54olLzSAMiI1Mu2
yCp2o9dE39Ic1ZYeB05XDbxqVC50aF1apJdKULcP0i3yiEWN0VUfbZhk2n3Zg+AGvnBqHieqWM4t
gw1FcnwGZ0ve49Tsp6otvKj3K1Dk9iHr1jr4OS3/l9B1b7mnJXsYzmT7uPzbGZi/v3Td77YpjE2D
kiRYG1oLM9itFhdB4J/EPeVCllcMrW9JtKfFF/pZem/3JZZIJ2GEUNtg6roVHq86w18SQlMsp/5Z
HOYv0rYUNkz28QgBrbocIVHP5HE1UIFLvmJy39sANcUWtn5ZMb7x7i55yHvtW5eucXOPLr8yLhRO
hsgHaaL1pE1KkPF56ZDkH0TU4ne9AwAA


Now, file compression only works well on big files, because the compression algorithm adapts itself based on the specific file. It first figures out the best adaptation for the file, then saves the adaptation, then compresses the file with that adaptation, then saves the compressed file. So when you compress a short file, a lot of space is wasted describing how the file was compressed.

Language is designed for short sentences, so the "best adaptation" has to be part of the language, not part of the sentence. Therefore, your sentences will not be so long as short compressed files.

The code block above is your compressed base64ed question. It's about half as long as the original question, but if we imagine that each letter is one syllable, it actually takes longer to say, because your post has more than one letter per syllable. But that's including the "adaptation data". When you have a large amount of it for good compression, English text usually compress down to about 1 bit per letter, and base64 stores 6 bits per letter. If we had such a system, we'd expect your question to be about this long:

H4sIAAAAAAACA11TMY7cMAzs/Qp2aYx9QJqrUlyRpLgAqWmbsomVJUOUz+ffZyhnb4MYWNgrjWaG


Also note that every bit of compressed speech is extremely dependent on context (that's how it saves bits). If we change "gets" to "eats" we get this - totally different:

H4sIAAAAAAACA11TsY6dMBDs+Yrt0qD3AWmuSnFFkuIipV5gDatnbOQ1x/H3mTV596IgIYE9npmd
XXfd275t2YSYbJNRxUi4GtU8S12k4INWvgvhh9ZslSQEBS5VipzmnWchEJgOUW70C6gHjxqNe6x7


Such a language is obviously not suited for communication where people might not hear you properly. I changed a couple of compressed letters and got this:

Suppose a spegies gdtlissamrerlis make mre most effiegint language pposible. Tre spegiesis culturally ablelis accept it, mre logistics ofs gdting itlis everybody has already been taken care of. Treir goals are as follows:

1. Make a language thatsis rarely misinterpreted, eg. mrere are ns exceptiontlis linguistic rules, nsne of mris i before e tuff.
2. New words can be easily created and understood from basic morphemes. In English, anysne familiar with mre words fire and place will be ablelis deduce whatsa fireplace is. Tris hypomretical language should be entirely like that, exempting mre most basic morphemes.

So, how would such a language work?

Would each sentence be a long string of morphemes, or somamring else entirely? Or,sis such an idealistally impractical for soma reason, like that all phrasieswould be too long is be effiegint?

Or,sI have ns idealwhatsi'm talking about, and mrere is soma maosive flaw in my perfect language.

An optimal compression algorithm would decode to, rather than gibberish, a completely plausible but different sentence. The sort of thing that AI Dungeon would generate.

You're starting with a false premise.

You say "In English, anyone familiar with the words "fire" and "place" will be able to deduce what a fireplace is", but that's not actually true. All you know is that it's a place or state of being (as "place" can indicate either) that has fire, something metaphorically intended as akin to fire, or has something to do with actions using this word.

Examples of possible meanings of "fireplace" if it didn't already have a definition:

• A hearth, like it does mean.
• An incinerator.
• A crematorium.
• Awareness or sense that your aim is good.
• The mental state of preparing to terminate someone's employment.
• The burnt-out husk of a building.
• Where you put the Tiger Balm.
• The position in a traditional alchemical arrangement above air.
• The wall against which a firing squad assembles.
• The place you rest your rifle at a shooting range.
• California in August.
• Ignition temperature.
• The colour bright orange on a black body spectrum.

Now, true, if you had no duplicated words that would cut out several of those (termination of employment, discharge of a missile or energy weapon, metaphorical uses, etc.) with an unambigious, non-repeated word for "fire", but it would still leave several. Places where fire is. That doesn't by any means indicate a hearth.

Your criteria probably could be met, but the language would not be stable, or survive long

Lojban is a constructed language that allows for syntactically unambiguous sentences which helps minimise misunderstandings, and Toki Pona is another constructed language that builds complex meaning in reasonably predictable ways from a very small set of morphemes

I don't see why these two features couldn't both be combined

The thing is, this language would be utterly impractical for normal use. First of all, whilst syntactic ambiguity can be eliminated, semantic ambiguity (i.e. what exact shade or shades do you mean when you say "blue", when you say "the gun" which gun do you mean) is impossible to eliminate

Secondly, in order to gain both of these features you end up having to include a lot more morphemes per sentence than a natural language. As natural languages tend to convey information at a similar rate (controlling for speaker age, background noise, etc), the natural response to this would be to speak faster, but here the number of extra syllables would be so great you'd likely run up against the limits of a human's ability to articulate or parse speech and end up taking a lot longer to say anything

Fundamentally, people are willing to risk the occasional mishearing or flub if it means that most of the time they can say what they want to faster. This is why the rate at which languages convey information is constant. And it means that a language like yours, that inherently takes longer to say anything, will either rapidly drop out of use or rapidly lose these features until it more closely resembles actual naturalistic conlangs

This was originally a comment, because it was small. However, I do believe that Guy Steele has done the thing you describe, and recorded it on film.

Check out Growing a Language or read its transcript. He goes through how to go about developing such a language in a completely unambiguous manner. He has a particular trick to making it happen, which is pure brilliance to watch (if you're a language geek like myself. It might be a bit slow and pedantic at first if you aren't).

Just to make this into more of an answer instead of a comment, here's a bit on semantic networks which may be useful for you.

Another useful thing I have found along these lines is semantic networks. In particular, languages like RDF and OWL concentrate on how to express semantic meaning of words unambiguously. They do so by creating exorbitantly long words in the form of a IRI (an internationalized URL). While your speakers likely do not use such a mouthful explicitly, its very useful to see what tools we, as humans, have had to use in order to create unambiguous grammars. In particular, OWL permits inference about words, so if you know the word "blue" and come across "cyan," you can start inferring some of the meanings of "cyan" from the words you already know.

Beyond that, I would recommend at looking at Jakobson's functions of language. Its a really useful framework for thinking about language. He defined six functions of language, which can be used to describe how language works: Sender, Reciever, Context, Message, Channel, and Code. Let's use these with a very concrete example. In the above semantic languages like RDF one might write

<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> .


That's a really specific way of saying "Bob knows Alice" in a way which is completely unambiguous. There's no way a listener misinterprets "knows" in the biblical sense, because http://xmlns.com/foaf/0.1/knows does not mean that kind of "knows." If you don't believe me, you can look at the documentation for Friend of a Friend (foaf) and see the precise meaning of "knows." Or you can look at the OWL ontology for foaf and have a computer construct inferences about these words based on thing you already know. It is a word that is completely defined by the Code (to use one of Jakobson's functions) that I am speaking with.

So this works, but it is messy. If we had to speak that precisely all the time, we'd be doomed. This is where Jakobson's functions help. What we can say is that the content is all in the Message, one of his six functions. It's all in the text, right there. To be more efficient, we have to move it somewhere else. We can't get rid of it (or we could introduce ambiguity), but we can move it. We can move it into the Channel:

@PREFIX alice: <http://example.org/alice#> .
@PREFIX bob: <http://example.org/bob#> .
@PREFIX foaf: <http://xmlns.com/foaf/0.1/> .

bob:me foaf:knows alice:me .


Technically this is a language related to RDF called Turtle... in the name of being unambiguous in my language.

In this example, we've defined 3 "prefixes," as the language calls them, which let us do simple substitutions. Now the line bob:me foaf:knows alice:me . is still unambiguous, but its a heck of a lot shorter because we stuffed all that extra disambiguation into the message. The whole thing is longer now, but its easy to see that if we were to talk a lot about Bob and Alice, this would help quite a lot!

Or, we can stuff that extra stuff into the Context, another one of Jakobson's functions. The Context is something humans rely on very often to ensure unambiguous communication without saying too much. Once our context can specify which people and verbs we are using, we can drop even more complexity.

:bob :knows :alice .


Wow, that was simple! And still unambiguous. Of course, if we don't agree on the context, ambiguity can remain. But we can talk about things in the Context using the Message (assuming the above prefixes are still in the Channel):

@PREFIX owl: <http://www.w3.org/2002/07/owl#> .

:alice owl:sameAs alice:me .
:bob   owl:sameAs bob:me .
:knows owl:sameAs foaf:knows .


Here I am using owl:sameAs which is another one of those excruciatingly unambiguous terms, defined in the language OWL. You are free to disambiguate it as much as you please -- it can be taken all the way down to mathematical logic if one desires.

What is interesting here is that, if you have a means for detecting ambiguity in the Context, you don't have to say it. Only when you detect ambiguity would you have to query the speaker, asking them to put the Context into the Message.

This process is a very human process. When we lament how hard it is to get someone to understand what we mean in text, when its easy to communicate in speech, its partly because speech is a two way street. If there's ambiguity, the Receiver can communicate back to the Sender, asking for clarification and adjustment of the Channel or the Context. Take away that two-way communication, such as in writing or in a televised speech, and we have to be much more careful, relying heavily on the Message, Code, and Receiver.

Do I think any species would ever speak a dialect of RDF or Turtle. Heck no. They'll have a much smarter system, just like we do with natural language today. But, if you seek the unambiguous communication you ask for in your question, its worth looking at the constructed languages that humans have made in an attempt to be unambiguous.

Make a language that is rarely misinterpreted ...

New words can be easily created ...

So, how would such a language work?

A key technical requirement nobody has mentioned yet: Every conversation would need to start with vocabulary exchange and context sync. Or have a very structured way to say "huh?"

More specifically:

All new words must be given a globally unique identifier (GUID). A conversation might go like this:

• Hey, what are you doing this weekend?
• I’m not sure, I heard it might snow-bb25cb08-22a1-4235-87b6-7b917c4aac8c.
• Oh really? How is that different from snow-3aa28397-74b2-44f7-8a45-115f8df66641?
• Oh it’s like that big one we had 11 years ago. It was so bad they made up a new word for it. I guess you’re not from around here are you?

I think there's a flaw in the idea. This doesn't sound possible to me. The very purpose of language is the abstraction of thought. You gain efficiency by sacrificing clarity, that's the basic mechanism by which it functions. You can't have both.

There is no overall "perfection", just a continuum, with perfect explication as the limit on one end and perfect conciseness without meaning as the limit on the other. Neither are any more possible through expressed language (potential arguments about silence qualifying as linguistic expression aside) than an overall "perfect" language.

• citation needed on language existing to abstract thought. The fact information rate appears broadly constant cross-linguistically, and people cannot reliably produce or parse faster rates without getting distracted from other tasks suggests that the ability to reliably communicate information quickly is what is selected for (i.e. the expected information transfer rate) – Tristan Jan 20 at 14:16

You'd need to use the absolute maximum number of phonemes that humans (or whatever beings are making this conlang) can produce. With a broader vocabulary of sounds or symbols, it doesn't take as long to come up with a unique sequence for each concept.

• "You'd need to use the absolute maximum number of phonemes that humans can produce." - why? Surely your morphemes can consist of several phonemes each... – Radovan Garabík Jan 19 at 12:19
• having more distinct phonemes makes it easier to confuse phonemes if background noise covers them. If I only have /i u a/ then it doesn't matter if I can't tell if the person said [ɪ] or [i], but if that distinction is phonemic then I could be utterly lost by such a mishearing. To reduce the chance of mishearing, you'd need to speak slower, which risks lowering the information rate too much – Tristan Jan 19 at 15:26