Coding for contact

CosmicOS is a way to create messages suitable for communication across large gulfs of time and space. It is inspired by Hans Freudenthal's language, Lincos, and Carl Sagan's book, Contact. CosmicOS, at its core, is a programming language, capable of expressing simulations. Simulations are a way to talk, by anology, about the real thing they model. CosmicOS is structured to communicate the usual math and logic basics, then use that to show how to run programs, then send interesting programs that demonstrate behaviors and interactions, and start communicating ideas through ”theater” and simulations. This is inspired by Freudenthal's idea of staging conversations between his imaginary characters Ha and Hb.

Message sections

Message in 4-symbol form

Traditionally, CosmicOS has been represented as a long sequence of four symbols. Labeling them arbitrarily as 0, 1, 2, and 3, the message begins like this: 21001032111322332100103210111132233210010321100003223321011113211000031232111320

32233210111132110000312321113213203223321011113211000031232111321321320322332101

11132110000312321113213213213203223321011113211000031232111321321321321320322332

10111132110000312321113213213213213213203223321011113211000031232111321321321321

32132132032233210111132110000312321113213213213213213213213203223321011113211000

03123211132132132132132132132132132032233210111132110000312321113213213213213213

21321321321320322332101111321100003123211132132132132132132132132132132132032233

... see full 303242-symbol message Estimating message entropy by compressing this message, we get: 25 kB. This message form has some major revisions pending to ease comprehension. Please be forgiving. It'll all get fixed in an instant of galactic time.

General structure

The message is organized as follows: The message consists of a sequence of statements that can be evaluated, and each statement evaluates to true.

The message can refer to itself and change its own syntax as it goes.

A core set of operators are introduced by showing examples of their use.

Once a sufficient set of operators is available, most new concepts are introduced both by examples and a definition in terms of what is already known.

The message is more like a programming language than a human language, and is related to Brian McConnell's notion of ACETI. The goal is to transmit simulations whose behavior can be examined and discussed, and to introduce higher-level notions in terms of those simulations. The message uses the following syntax (shown in plain-text form): symbol meaning ( marks beginning of an expression ) marks end of an expression | opens a parenthesis which will self-close at the next parenthesis. (A B | C | D) is another way to write (A B (C (D))). This greatly simplifies complex expressions. $ $A is shorthand for (A). ; marks end of a statement There are also numbers and arbitrary symbols. If there's no other syntax between two of these, they must be separated from each other by whitespace. How all of this is encoded is subject to change. Originally, CosmicOS converted all arbitrary symbols into numbers, and encoded numbers in binary. The message will remain compatible with this, but the encoding of symbols is being changed.

Posts

License