+++ /dev/null
-
-
-data foo = bar;
-type foo = bar;
-
-type Bit = 0 | 1
-type Char = Bit[16]
-type Boolean = true | false
-type Int32 = Bit[32] | oob
-type Int64 = Bit[64] | oob
-type Pointer = Bit[64]
-type CodeBag = Pointer
-type Void = token
-
-ship Adder3 (a b c -> d e f)
- input e : !
- ...
-
- (x->a) => 3->b
-
-module latch32
- input data_in : Int32
- input transparent : Boolean!
- output data_out : Int32
- private
- state keeper : Int32
- data_out = keeper
- transparent(true) => keeper = data_in
- transparent(false) => keeper = keeper
-
-module flipflop<T>
- input dataIn : T
- input clock : Void!
- output dataOut : T
- private
- state keeper : T
- data_out = keeper
- clock() => keeper :=
-
-module join
- input in1 : Void!
- input in2 : Void!
- output out : Void!
- private
-
-A single-clock synchronous system is therefore a system with only a single variable of event type. A synchronous sytem with mu
-
-
-// how do you specify the initial state of keeper nodes?
-
-fleet
- Adder3[1..3]
-
-
-Type ::= Boolean
-
-
-
-Action = Action "," Action
- | Value "->" Port+
-
-
-Identifier ::= Id | "(" Sym ")"
-
-Definition ::= Identifier "=" Body /ws
-
-Grammar ::=
-
-clock
-random number generator
-register
-fifo
-compare
-
-clear-read port
-
-// positioning of elements on the screen (psuedo-comment?)
-// subcircuits
-// ports (in, out)
-
-Parameter ::= Identifier (":" Type)?
-
-
-andgate {a b}->{c d} =
- input a, b
- output c, d
-
-
-module fifo <in>
-
-
-latch (input, hold) =
- old = case
- out = case
-
-
-
-and, xor, 2:1mux, 4:1mux
-
-leds, graphs, clock
-
-charing
-
-rs-latch
-dq-flipflop
-
-parameterization (?)