1.2.50. test/regress/rt-1.01.50

Start felix section to test/regress/rt-1.01.50-0.flx[1 /1 ]
     1: #line 1977 "./lpsrc/flx_regress.pak"
     2: #import <flx.flxh>;
     3: open List;
     4: 
     5: 
     6: fun eq[T]: T * T -> bool = "$1==$2";
     7: 
     8: fun eql[T] (x:T) (y:T):bool => eq(x, y);
     9: 
    10: proc print[T]:T="std::cout << $1;";
    11: 
    12: 
    13: //-----------------------------------------------------------------------------
    14: // Double Linked List of T
    15: //-----------------------------------------------------------------------------
    16: 
    17: class DLL_List[T] {
    18:     var next : DLL_List[T];
    19:     var prev : DLL_List[T];
    20:     var item : T;
    21: 
    22:     ctor (n:T)
    23:     {
    24:         item = n;
    25:     }
    26: 
    27:     proc add_Link (nxt:DLL_List[T])
    28:     {
    29:         nxt.prev = this;
    30:         nxt.next = next;
    31:         nxt.next.prev = nxt;
    32:         next = nxt;
    33:     }
    34: 
    35:     proc pr_list()
    36:     {
    37:         proc aux(head:DLL_List[T], been: list[DLL_List[T]])
    38:         {
    39:             print "Listn(";
    40:             print[T] item;
    41:             print ")->";
    42:             if (mem (eql this) been) == false do
    43:                 aux (next, Cons[DLL_List[T]](this, been));
    44:             else
    45:                 print "Loop\n";
    46:             done;
    47:         }
    48:         aux(this,Empty[DLL_List[T]]);
    49:     }
    50: }
    51: var lst1 <- new DLL_List[int](11);
    52: var lst2 <- new DLL_List[int](11);
    53: 
    54: lst1.pr_list();
    55: endl;
    56: var xx = (eql lst1);
    57: print (xx lst1);
    58: endl;
    59: print (xx lst2);
    60: endl;
    61: 
End felix section to test/regress/rt-1.01.50-0.flx[1]
Start data section to test/regress/rt-1.01.50-0.expect[1 /1 ]
     1: Listn(11)->Listn(11)->Loop
     2: 
     3: true
     4: false
End data section to test/regress/rt-1.01.50-0.expect[1]