[Haskell-cafe] ANN: atom-0.1.3

Tom Hawkins tomahawkins at gmail.com
Thu Dec 3 06:52:05 EST 2009

This release of Atom slightly changes the semantics of assertions and
coverage.  Assertion and coverage are now checked between the
execution of every rule, instead of only when the rules containing
assertions are fired.  They are still subject to parental guard
conditions, but not period or phase constraints.  This means...

period 20 $ atom "checkSomeStuff" $ do
  cond ok
  assert "A" a
  assert "B" b
  cover  "C" c

... A, B, and C are checked all the time "ok" is true, not just every
20th cycle.

Checking between every rule execution obviously impacts simulation
time, but the increased testing rigor is worth it.

I also added 'linear' to Common, which does linear interpolation and
extrapolation on a line given two points.  (I found I was replicating
this function everywhere for sensor calibrations, control limits,


More information about the Haskell-Cafe mailing list