3.4 KiB
3.4 KiB
a collection of examples for Babel tests
:noweb
header argument expansion- elisp forms in header arguments
- excessive id links on tangling
- simple variable resolution
- multi-line header arguments
- simple named code block
- Pascal's Triangle – export test
- calling code blocks from inside table
- executing an lob call line
- parsing header arguments
- conflicting blocks on export
:noweb
header argument expansion
(message "expanded")
;; noweb-yes-start
<<noweb-example>>
;; noweb-yes-end
;; noweb-no-start
<<noweb-example>>
;; noweb-no-end
;; noweb-tangle-start
<<noweb-example>>
;; noweb-tangle-end
elisp forms in header arguments
prop
4
excessive id links on tangling
no, don't give me an ID
(message "not to be tangled")
yes, I'd love an ID
(message "for tangling")
simple variable resolution
(list 1 2 3 4)
(length four)
4
multi-line header arguments
(map 'list #'list numbers letters)
1 | a |
2 | b |
3 | c |
4 | d |
5 | e |
6 | f |
7 | g |
simple named code block
42
42
42
Pascal's Triangle – export test
(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)))))))
(pascals-triangle n)
calling code blocks from inside table
(sqrt n)
executing an lob call line
parsing header arguments
the body
conflicting blocks on export
- a
- b
- c
"code block results"
(reverse lst)