// Chris Langton's Self-Replicating Loop. [Physica D 10 (1984) 135-144.] // This rule set demonstrates how the traditional table based rule // sets can be easily mapped to Trend's modern programming language // constructs. Note that there is more than one way of doing this. int domain[]={00000, 00020, 00220, 20210, 20272, 20202, 20212, 20242, 20042, 20120, 12702, 72021, 02127, 12420, 42021, 02124, 42201, 20024, 27220, 21022, 10212, 17202, 11212, 22271, 11272, 22211, 22000, 01722, 71120, 12221, 20001, 00030, 20270, 20342, 30002, 00023, 20720, 72012, 03214, 24122, 22277, 07721, 12210, 20122, 22200, 10027, 12402, 12211, 24220, 12227, 72220, 20007, 12271, 21722, 00012, 10001, 00001, 01002, 10024, 41120, 22244, 04421, 10021, 11121, 12124, 11127, 12224, 42220, 20004, 20312, 30012, 13221, 13224, 20302, 30042, 43220, 20112, 10012, 20172, 20102, 20712, 00202, 01020, 02220, 22202, 22212, 27020, 22272, 11232, 02320, 31020, 23202, 11027, 02021, 01120, 12020, 22152, 22261, 72520, 52027, 01625, 62120, 12026, 25202, 26202, 12527, 52221, 22105, 02621, 25002, 00302, 22057, 07521, 52020, 00205, 07512, 25001, 25021, 22062, 10226, 10232, 02321, 31220, 22003, 23002, 22067, 07621, 62000, 00006, 06002, 20057, 00032, 10127, 30001, 00052, 02517, 50020, 12327, 00050, 20552, 50022, 02527, 52240, 25025, 45202, 22077, 72320, 30007, 10542, 50021, 25024, 00062, 12621, 60001, 20742, 72502, 50027, 07214, 25020, 10510, 11240, 12512, 20510, 50052, 12542, 55021, 00070, 00720, 70070, 00027, 77202, 10070, 12324, 42320, 30004, 30062, 00013, 12624, 63121, 10006, 26002, 20227, 00522, 50230, 35102, 12670, 62121, 26227, 72501, 52127, 12425, 25220, 20520, 52022, 02125, 52120, 12115, 25120, 24221, 22103, 22162, 11126, 52121, 11125, 22032, 21261, 62212}; int next[]={0, 0, 0, 2, 2, 2, 2, 2, 3, 2, 7, 0, 1, 4, 0, 1, 0, 2, 2, 2, 1, 7, 1, 2, 7, 2, 2, 1, 0, 1, 2, 0, 2, 2, 2, 0, 2, 0, 1, 2, 2, 1, 1, 2, 2, 7, 4, 1, 2, 7, 1, 1, 7, 2, 2, 1, 2, 2, 4, 0, 2, 1, 1, 1, 4, 7, 4, 1, 2, 2, 3, 1, 4, 2, 1, 1, 2, 1, 2, 2, 2, 0, 2, 0, 2, 2, 3, 2, 1, 2, 1, 1, 0, 5, 0, 6, 2, 2, 5, 2, 1, 0, 6, 0, 2, 5, 0, 2, 1, 0, 0, 5, 1, 2, 0, 1, 2, 2, 2, 3, 7, 1, 0, 6, 2, 2, 1, 1, 3, 2, 5, 0, 7, 3, 5, 5, 2, 7, 0, 1, 5, 1, 4, 2, 0, 2, 1, 6, 7, 5, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 4, 1, 7, 0, 7, 2, 1, 2, 7, 2, 0, 7, 4, 6, 1, 2, 2, 7, 1, 1, 2, 2, 2, 2, 1, 7, 5, 2, 0, 2, 5, 2, 2, 0, 5, 2, 2, 2, 2, 6, 2, 1, 2, 1, 6, 1, 5}; int i; default state=state; i=0; while (i<207) { rot if (domain[i]== state*10000+no:state*1000+ea:state*100+so:state*10+we:state) { state=next[i]; break; } i++; }