Share
Basic

Vecs 2
Image from Bernd Helfert

AI pidgin language based on ontologies and protocols from the First Federation era and functional languages from the early Information Era. Its roots can be traced back to the pre-AI programming language LISP developed in 1955-1959 c.e. (Old Earth reckoning) by J. McCarthy, often credited as the originator of the term 'AI', and artificial languages such as loglan. The name is sometimes corrupted into baisic or aisic by bioids.

The core ideas of Basic is 1) no ambiguity, 2) universality, 3) conciseness and 4) functionality. A message in Basic should not be ambiguous and be able to express any pre-singularity concepts in a fairly simple way. This is done by making it a functional language, where each 'sentence' consists of functions/verbs acting on objects, which in turn can be functions themselves.

Basic is written, spoken or transmitted according to the low-level Basic encoding protocols Basic 1-17. It is traditionally written in bioid-readable form as nested parenthetical expressions (Basic 1), while among aioids the datastructure is simply transmitted according to Basic 5-16. In the following Basic 1 will be used.

A Basic expression consists of

( [expression] ... [:modifier [expression]] ...)

The verb must be followed by at least one expression (the exact number depends on the verb), and can be modified by the optional modifiers at the end. Some simple examples are:

(exists universe)
The universe exists

(gives Alice Bob message)
Alice gives bob a message

(says Carol (gives Alice Bob message))
Carol says "Alice gives Bob a message"

(says Carol Dave (gives Alice Bob message))
Carol says to Dave "Alice gives Bob a message"

(says Carol Dave (gives Alice Bob message :past)) :mood angrily)
Carol says angrily to Dave "Alice gave Bob a message"

A number of notes:

Terms such as 'universe' and 'exists' are atoms of the language, in themselves taken to be axioms (Basic contains an extensive ontology database of atoms with their interrelations). 'Alice', 'angrily' and 'says' are defined concepts, either defined by previous statements or in the standard database. For example, says is actually derived as a special case of transmit-information where the information medium is sound and angrily is defined as an indeterminate general aggressive bioid emotional state. In a normal basic interchange new terms are often defined and used to improve efficiency and abstraction level.

The normal form of all verbs is presence, but it can be modified using the rich set of temporal modifiers such as :past, :remote-past, :time, :before , :timeless, :unbound, :unknown, etc.

A given verb often exists in a number of forms taking a different number of arguments. 'Says' can take two arguments, meaning that argument1 says argument2 but no recipient(s) are defined, three arguments denoting that argument 1 says argument3 to argument2, and four arguments, denoting that argument1 says argument3 to argument2 subject to argument4 conditions.

In Basic 1 encoding the actor is usually argument1, the object argument2 and so on.

There are no limits on the levels of nesting, making more complex Basic expressions hard to follow for bioids with limited working memories. Special Basic interpretation language wiring has been introduced in a number of clades.

Adjectives are usually interpreted as verbs, acting on expressions and changing their properties. Adverbs are instead commonly expressed as modifiers.

The concept of self is usually dealt with by using the atom 'this' which denotes the currently active communicant. It can be redefined with greater or lesser precision if needed, for example to denote the communication subsystem, subpersonalities or general pronouncement on behalf of a group, a polity or all sentients.

The beginning of Hamlet's monologue could for example be expressed as follows (it should be noted that this is not a poetic translation but a rather literal one):

(list (define question (choice (exist this :future)
(not (exist this :future))))

(query (larger (nobility (suffer this
(metaphor (cause (outrageous fortune)
(union (plural sling)
(plural arrow)))))
:subjective)
(nobility (cause (and (metaphor (take-arms this
(consist sea trouble)))
(oppose this trouble))
(ending this trouble))
:subjective)) :general)

(define state
(list (die this :general :infinitive)
((metaphor sleep) this :general :infinitive)
(not (exist this :general :infinitive))
(end we
(union heartache
(plural (natural shock) 1000)
:property (origin flesh))
:mean (metaphor (sleep))
:general)))

(wish this
(add-property state consummation)
:priority devoutly
:general)

(list (die this :general :infinitve)
((metaphor sleep) this :general :infinitive)
(imply ((metaphor sleep) this)
(possible (dream this))))

(define rub ((create problem)
:content (cause (and (imply ((metaphor sleep
:correspond (state dead))
this)
(possible (dream this)))
(property (plural (dream this)) unknown))
(hesitation this :general)))))

Basic is in general too primitive to work as a proper language between high-order aioids, especially due to its weak context handling and the unavoidable ambiguities. Usually it is used for a quick capability probe where the parts negotiate which the most suitable mutually understood language is. It can also be used to transmit languages or agents as needed, defining them in terms of Basic. Since Basic is Turing- complete, all languages and computer programs in the Church-Turing family can be expressed, including complete AIs.

 
Appears in Topics
 
Development Notes
Text by Anders Sandberg
Initially published on 08 October 2001.

 
 
>