16 lines
		
	
	
		
			574 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			574 B
		
	
	
	
		
			Factor
		
	
	
! Rewritten by Matthew Willis, July 2006
 | 
						|
! Copyright (C) 2004 Chris Double.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
 | 
						|
USING: lists lists.lazy math kernel sequences quotations ;
 | 
						|
IN: lists.lazy.examples
 | 
						|
 | 
						|
: naturals ( -- list ) 0 lfrom ;
 | 
						|
: positives ( -- list ) 1 lfrom ;
 | 
						|
: evens ( -- list ) 0 [ 2 + ] lfrom-by ;
 | 
						|
: odds ( -- list ) 1 lfrom [ 2 mod 1 = ] lfilter ;
 | 
						|
: powers-of-2 ( -- list ) 1 [ 2 * ] lfrom-by ;
 | 
						|
: ones ( -- list ) 1 [ ] lfrom-by ;
 | 
						|
: squares ( -- list ) naturals [ dup * ] lazy-map ;
 | 
						|
: first-five-squares ( -- list ) 5 squares ltake list>array ;
 |