| 
					
				 | 
			
			
				@@ -112,16 +112,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+name: pascals-triangle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+begin_src emacs-lisp :var n=5 :exports both 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (require 'cl) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (defalias 'my-map (if (org-version-check "24.1.50" "cl" :predicate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        'cl-map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      'map)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (defun pascals-triangle (n) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (if (= n 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (list (list 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (let* ((prev-triangle (pascals-triangle (- n 1))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              (prev-row (car (reverse prev-triangle)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (append prev-triangle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                (list (map 'list #'+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           (append prev-row '(0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           (append '(0) prev-row))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                (list (my-map 'list #'+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              (append prev-row '(0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              (append '(0) prev-row))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (pascals-triangle n) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #+end_src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |