*** empty log message ***
[chuck-blob.git] / v2 / test / p69.ck
blob849d67a2e1c7f1858827082c5e3c8c03ea43019d
1 // linked list Fifo;
3 class ListItem { 
4         int data;
5         ListItem @ next;
6         fun void push ( ListItem it ) { 
7                 if ( next == null ) it @=> next;
8                 else next.push(it);
9         } 
12 class Fifo { 
13         ListItem @ root;
14         fun void push( ListItem it) { 
15                 if ( root == null ) it @=> root;
16                 else root.push(it);
17         }
18         fun int empty() {  return ( root == null ); } 
19         fun ListItem pop() { 
20                 if ( empty() ) return null;
21                 root @=> ListItem @ ret;
22                 root.next @=> root;
23                 return ret;
24         }
27 Fifo f;
29 f.push( ListItem n );
30 f.push( ListItem p );
31 f.pop() @=> ListItem @ l;
33 10 => n.data;
34 if( l.data == 10 ) <<<"success">>>;