Version 2 (modified by archibald, 8 years ago) (diff)

--

Base Ideas

(1) Namespaces

(1.1) Data Types

(2) Types

(3) Enums

(4) Signals

(5) Singletons

(6) Classes

(6.1) Finite State Machines

Finite State Machines are split into two section

  • Stateless Work
  • State Dependent Work

example

FSM
    ON START { ... }        // As the FSM starts up ... execute the lambda
    ON STOP  { ... }        // As the FSM is shut down
    ON STATE CHANGE { ... } // Perfomed whenever the state changes
    ON RECEPTION { ... }    // Done on the reception of any signal
    ON UNRECOGNISED { ... } // Done when a recieved signal is NOT acted upon
    ON ERROR { ... }        // Done when the ERROR exception is called
    ON signalIdent { ... }  // Done when a specific signal is received regardless of state

    INITIAL STATE firstState
        ON ENTRY { ... }
        ON EXIT  { ... }
        ON RECEPTION { ... }
        ON UNRECOGNISED { ... }
        ON ERROR { ... }
        ON signalIdent { ... }

(7) Expression Syntax

(7.1) What about identifiers (Expression Syntax) ?

(7.2) Compile Time Type Checking