Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
history:start [2023/02/26 08:44]
rajit
history:start [2024/03/26 06:14] (current)
rajit
Line 1: Line 1:
 ====== Language history ====== ====== Language history ======
  
-This is a rough chronology of the development/evolution of ACT.+This is a rough chronology of the development/evolution of ACT and influences from the literature.
    
    * 1975 E.W. Dijkstra's paper on a guarded command language appears in CACM    * 1975 E.W. Dijkstra's paper on a guarded command language appears in CACM
Line 10: Line 10:
 Language development: Language development:
  
-   * ~1991 (?), a language for hierarchical production rules was developed at Caltech (A.J. Martin's group). This was dubbed "CAST" for Caltech Asynchronous Synthesis Tools. A snippet of a circuit in this language is shown below:+   * ~1991 (?), a language for hierarchical production rules was developed at Caltech (A.J. Martin's group) based on their experience with designing the first asynchronous microprocessor. This was dubbed "CAST" for Caltech Asynchronous Synthesis Tools. A snippet of a circuit in this language is shown below:
 <code> <code>
 define prs (a)f() define prs (a)f()
Line 19: Line 19:
 cell (_)f() cell (_)f()
 </code> </code>
-   * 1995, a new CAST language ({{ :history:cast.pdf |docs}}) was developed from scratch and implemented by [[http://csl.yale.edu/~rajit|Rajit Manohar]] (at the time a graduate student in A.J. Martin's group).+   * 1995, a new CAST language ({{ :history:cast.pdf |docs}}) was developed from scratch and implemented by [[http://csl.yale.edu/~rajit|Rajit Manohar]] (at the time a graduate student in A.J. Martin's group). The same example as above would be written as follows in the new CAST syntax 
 +<code> 
 +define f (node a) 
 +{  node p, q; 
 +   prs { 
 +       p -> q+ 
 +    } 
 +   a = p; 
 + } 
 +f(); 
 +</code>
    * 1995-1998 CAST was used to implement the [[https://csl.yale.edu/~rajit/ps/minimips.pdf|first high-performance asynchronous microprocessor]].    * 1995-1998 CAST was used to implement the [[https://csl.yale.edu/~rajit/ps/minimips.pdf|first high-performance asynchronous microprocessor]].
    * ~1998 Andrew Lines and Uri Cummings from Martin's group at Caltech launch startup Asynchronous Digital Design (later renamed to Fulcrum Microsystems), which licenses the tools developed at Caltech. Over the years, Fulcrum develops more CAST tools for internal commercial use, including proprietary language extensions.    * ~1998 Andrew Lines and Uri Cummings from Martin's group at Caltech launch startup Asynchronous Digital Design (later renamed to Fulcrum Microsystems), which licenses the tools developed at Caltech. Over the years, Fulcrum develops more CAST tools for internal commercial use, including proprietary language extensions.