File Annotation
Not logged in
3995a5eb6a 2010-11-21        kinaba: def fromTo(x, y)
3995a5eb6a 2010-11-21        kinaba: {
3ae09b8cbf 2010-11-24        kinaba:   if  x > y : {}
3ae09b8cbf 2010-11-24        kinaba:   else       : {car: x, cdr: fromTo(x+1,y)}
3995a5eb6a 2010-11-21        kinaba: };
3995a5eb6a 2010-11-21        kinaba: 
3995a5eb6a 2010-11-21        kinaba: def length(lst)
3995a5eb6a 2010-11-21        kinaba: {
3ae09b8cbf 2010-11-24        kinaba:   case lst
3ae09b8cbf 2010-11-24        kinaba:     when {car:_, cdr:x}: length(x)+1
3ae09b8cbf 2010-11-24        kinaba:     when _:  0
3995a5eb6a 2010-11-21        kinaba: };
3995a5eb6a 2010-11-21        kinaba: 
3995a5eb6a 2010-11-21        kinaba: def adjSum(lst)
3995a5eb6a 2010-11-21        kinaba: {
3ae09b8cbf 2010-11-24        kinaba:   case lst
3ae09b8cbf 2010-11-24        kinaba:     when {car:x, cdr:{car: y, cdr:z}} : {car: x+y, cdr: adjSum(z)}
3ae09b8cbf 2010-11-24        kinaba:     when {car:x, cdr:{}}: {car: x, cdr: {}}
3ae09b8cbf 2010-11-24        kinaba:     when {}: {}
3995a5eb6a 2010-11-21        kinaba: };
3995a5eb6a 2010-11-21        kinaba: 
f86026acb8 2010-11-21        kinaba: var xs = fromTo(1,101);
3995a5eb6a 2010-11-21        kinaba: 
3995a5eb6a 2010-11-21        kinaba: print( xs );
3995a5eb6a 2010-11-21        kinaba: print( length(xs) );
3995a5eb6a 2010-11-21        kinaba: print( adjSum(xs) );
3995a5eb6a 2010-11-21        kinaba: print( length(adjSum(xs)) );