First steps

This page covers what to do after Subverge has booted for the first time (you're in, nice). The prompt takes omega, so everything you type is a program, and there is no separate command language.

The guided tour

The command learn runs 29 lessons that are defined in root/80-learn.om. Run it, trust me, it's way faster than guessing and fucking it up. Press space for the next lesson, b to go back one and q to stop, and type n lesson to start at lesson n. When learn ends it restores your stack, but any words you defined and any root edits you made along the way stay.

The lessons are written for people who already program, and they expect you to type things at the prompt as you go.

Finding commands

Type help to list every word by group (it's long, scroll), 'word help to see the stack effect and an example for one word, and 'group help to list the words in a group. apps lists the programs that ship with the system. That list is maintained by hand in root/05-apps.om, so a program you write will not show up in it until you add a line.

Typing at the prompt

Values go onto the stack and words take them off, so you write the operator last.

2 3 +                 5
[ dup * ] :sq         define a word
7 sq                  49
[ { a b } a b - ] :d  locals
10 [ . ] times        loops

If you've used a stack language before this will feel familiar, and if you haven't, it will feel backwards for about ten minutes.

:name takes a quote from the stack and defines a word with that name. omega covers the rest of the syntax.

Tabs

Subverge has four tabs (no, you can't have a fifth, stop asking), and F1 to F4 switch between them. Each tab has its own stack, definitions and history, and they are scheduled preemptively, so a tab stuck in a loop does not stop the others. Root is shared between all four.

Check World to see what a tab contains.

Undoing

Each line runs as a transaction, so a line that fails leaves your stack and definitions as they were before it. back rewinds one line, and 64 lines are kept, so go ahead and break shit.

The startup text

Tab 1 runs startup at boot, and startup is sys followed by welcome. Run 'startup open to edit it, and make it greet you with whatever you want.

See also