;; Inputs, outputs and constants. (definput bump SENSOR_1) (definput light SENSOR_2) (defoutput left OUT_A) (defoutput right OUT_A) (defconst integral_constant 4) (defconst proportional_constant 6) ;; Modules. (defmodule foo :inputs (in1 in2) :outputs (out1 out2) :states ((nil (conditional-dispatch (> in1 in2) one two)) (one (output out1 (+ in1 in2)) two) (two (output out2 (* integral_constant (+ in1 in2))) nil))) (defmodule bar :inputs (in1 in2) :outputs (out1) :instance-vars (biz) :states ((nil (conditional-dispatch (> in1 in2) one two)) (one (setf biz (* 3 (+ in1 in2))) two) (two (output out1 (+ biz in1)) one))) ;; Wires. (defwire (foo out1) (bar in1)) (defwire (foo out2) (bar in2))