CosmicOS version cosmic.0.2.1

(latest version always available at CosmicOS homepage)


This version adds some more math and enunciates a new goal.

The goal with the next version of CosmicOS will be to move beyond the
math and introduce some simple behavioral vocabulary.  This will be
done by building a simulated world -- a "text adventure" style world,
or MUD (Multi-User Dungeon), built from abstract locations, objects,
and characters.  Locations are connected by a graph; objects and
characters can transition between locations; characters can do this
autonomously.

The generated message consists of a sequence of 8 symbols.
Each symbol has a meaning with respect to a simple functional
programming language.

  number   symbol   meaning
    0         0     evaluates to the number zero
    1         .     function that adds one to its argument (on right)
    2         :     function that multiplies its argument (on right) by two
    3         (     marks beginning of an expression - e.g. to replace argument
    4         )     marks end of an expression
    5         ?     creates a one-parameter function; takes two arguments,
                    first is an identifier, second argument is value
                    of function (can be an expression that uses identifier)
    6         ^     takes numeric argument (on right) and makes it an 
                    identifier
    7         ;     end of statement


reasonably readable form of message
generator of message
final form of message
tarball of all files

Estimate of message entropy: 3.4 kB.

Index of lessons

(all lessons)

0 (MATH) introduce numbers (in unary notation)
1 (MATH) now show equality
2 (MATH) now show other relational operators
3 (MATH) introduce the NOT logical operator
4 (MATH) introduce the AND logical operator
5 (MATH) introduce the OR logical operator
6 (MATH) use equality for truth values
7 (MATH) introduce addition
8 (MATH) introduce subtraction
9 (MATH) introduce multiplication
10 (MATH) introduce doubling as a special case of multiplication
11 (MATH) introduce a simple form of binary notation
12 (MATH) demonstrate idea of leaving gaps in an expression
13 (MATH) show some simple function calls
14 (MATH) show mechanisms for branching
15 (MATH) show an example of recursive evaluation
16 (MATH) introduce universal quantifier
17 (MATH) introduce existential quantifier
18 (MATH) introduce logical implication
19 (MATH) introduce sets and set membership
20 (MATH) illustrate lists and some list operators
21 (MATH) build up functions of several variables
22 (MATH) introduce environment/hashmap structure
23 (MATH) introduce mutable objects, and side-effects
24 (MUD) under development