Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
language:migrate [2026/08/09 13:13] – [From CAST] rajitlanguage:migrate [2026/08/09 13:23] (current) – [From CAST] rajit
Line 85: Line 85:
 ===== From CAST ===== ===== From CAST =====
  
-The history +The [[history:start|history]] of ACT can be traced back to CAST developed at Caltech in the mid 1990s. There are quite a few changes between CAST and ACT, and so migration is not as straightforward depending on the CAST features that you have used. Here are some salient points: 
 + 
 +   * CAST uses parentheses for template parameters; ACT uses angle brackets. 
 +   * CAST template parameters are declared in a way similar to the standard port list; ACT uses a C++-style ''template'' keyword. 
 +   * Electrical signals and Booleans in CAST are declared as a ''node''; ACT uses ''bool''
 +   * Processes, channels, and data types were all specified with a ''define'' in CAST; ACT uses ''defproc'', ''defchan'', ''deftype'' for them respectively (among other keywords). 
 +   * Array  declarations were handled differently in CAST. Here are some examples: 
 +         * ''int[10] x;'' would declare ''x'' as an array of integers in CAST; the equivalent in ACT is ''int x[10];'' (C/C++ style) 
 +         * ''int x[11];'' would declare ''x[11]'' to be an integer in CAST; the equivalent in ACT is ''int x[11..11];'' 
 +    * In CAST array connections could be made between two arrays of any shape as long as their number of elements matched; ACT requires shape matching as well. 
 +   * CAST permitted nested definitions; ACT disallows these. 
 +   * Syntactic replication in CAST used angle brackets; ACT uses parentheses.