Content deleted Content added
Trafford09 (talk | contribs) m Ah, so that's what DSL means. |
m autotagging+genfixes, added Empty section (1) tag using AWB (6870) |
||
Line 2:
| name = Atom
| logo =
| paradigm = [[functional programming|functional]], [[
| year = 2007
| designer = Thomas Hawkins
Line 14:
| dialects =
| influenced =
| influenced_by = [[Bluespec, Inc.|Bluespec]], Confluence, [[
| operating_system = portable
| license = [[
| website = http://hackage.haskell.org/package/atom/
| file ext =
}}
'''Atom''' is a [[___domain-specific language]] (DSL) in [[
== History ==
Line 27:
Inspired by TRS <ref name="hoe1">[http://www.ece.cmu.edu/~jhoe/distribution/2000/iccad00.pdf Synthesis of Operation-Centric Hardware Descriptions].
James C. Hoe and Arvind. International Conference on Computer Aided Design (ICCAD), November 2000.</ref>
and [[Bluespec]], Atom compiled circuit descriptions based on guarded atomic operations, or [[
As a hardware compiler, Atom's primary objective was to maximize the number of operations, or rules, that could execute in a given clock cycle without violating the semantics of atomic operation.
Based on the properties of conflict-free and sequentially-composable rules<ref name="hoe1"/>, Atom's author reduced maximizing execution concurrency to a [[feedback arc set]] optimization of a rule-data dependency
When Atom's author switched careers in late 2007 from logic design to [[
targeting [[
[[
and in April 2009, was released as open-source in its new form.<ref>[http://www.haskell.org/pipermail/haskell-cafe/2009-April/060602.html ANN: atom-0.0.2]</ref>
== Overview ==
Atom is a concurrent programming language intended for embedded applications. Atom features [[Compile time|compile-time]] [[Scheduling (computing)|task scheduling]] and generates code with deterministic execution time and memory consumption, simplifying [[worst case execution time]] analysis for applications that require [[
By removing [[Run time (computing)|run-time]] task scheduling and mutex
== Examples ==
{{Empty section|date=July 2010}}
== Limitations ==
Line 56:
[[Category:Declarative programming languages]]
[[Category:
[[Category:Functional languages]]
[[Category:Real-
[[Category:
|