[Haskell-cafe] ANN: atom 2007.12

Tom Hawkins tomahawkins at gmail.com
Mon Dec 3 13:54:04 EST 2007


Atom is a language embedded in Haskell for describing reactive
software, primarily for realtime control applications.  Based on
conditional term rewriting, an atom
description is composed of a set of state transition rules.  The name
"atom" comes from the atomic behavior of rules: if a rule is selected
to fire, all its transitions occur or none at all.  A hallmark of the
language, rule atomicity greatly simplifies design reasoning.

This release of atom is a major redirection.  Atom is no longer a
hardware description language (I changed jobs.  I'm now in software.).
 Much of the frontend language and backend generators have changed,
though rule scheduling remains nearly the same.  On the frontend,
atom's Signal datatypes have been replaced with Terms and Vars, which
leverage Haskell's GADTs.  The 4 supported Term and Var types include
Bool, Int, Float, and Double.  At the backend, atom generates C and
Simulink models.  The Verilog and VHDL generators have been dropped,
but they may reappear in the future.


darcs get http://funhdl.org/darcs/atom


More information about the Haskell-Cafe mailing list