I've included the following examples: - Counter.hs The Chalk HelloWorld - a simple circuit that counts the number of clock cycles since its argument signal was True. - ALU.hs Simple ALU with two multipliers. I - ALUSym.hs Variation of the ALU.hs, uses symbolic simulation to build an explicit the constraints and costss - And.hs Uses the join of the (a,Int) monad to show how the cost may depend on the input of the circuit. - Sham.hs, ShamII.hs, ShamIII.hs, ShamIV.hs, ShamV.hs A series of example microprocessors taken from "Specifying superscalar microprocessors in Hawk". It starts out quite simple (ALU and register file), but the last version is a pipelined toy MIPS mipcroprocessor inspired by the Hennessy and Patterson book. - Fifo.hs Not completely stupid implementation of queues. Used in ShamV.hs. - Graph.hs Shows how to call the graph visualisation functions. - RegFile.hs Shows how to measure the activity of a circuit (in this case, Sham's register file.)