(* Author: Carsten Schuermann *) (* The classical Circuit datastructure *) datatype Circuit = NOTGate of Circuit | NANDGate of Circuit * Circuit | ANDGate of Circuit * Circuit | NORGate of Circuit * Circuit | ORGate of Circuit * Circuit | XORGate of Circuit * Circuit | SIGNAL of BOOL