Skip to content

Instantly share code, notes, and snippets.

@WillNess
Created May 27, 2013 21:29
Show Gist options
  • Save WillNess/5659179 to your computer and use it in GitHub Desktop.
Save WillNess/5659179 to your computer and use it in GitHub Desktop.
(define (prl k m)
(define (print-line n)
(cond ((> n 0) (display n)
(print-line (- n 1)))
(else (newline))))
(print-line k)
(cond ((> m 1) (prl (+ k 1) (- m 1)))))
(defun prl (k m) ; (define (prl k m)
(prog (n)
PRL
(setf n k) ; (print-line k)
PRINT-LINE ; (define (print-line n)
(cond ((> n 0) (princ n) ; (cond ((> n 0) (display n)
(decf n) ; (print-line (- n 1)))
(go PRINT-LINE))
(t (terpri))) ; (else (newline))))
(cond ; (cond
((> m 1) ; ((> m 1)
(incf k) ; (prl (+ k 1) (- m 1)))))
(decf m) (go PRL)))))
(define prl
(letrec ((prl (lambda (k m)
(print-line k)
(cond ((> m 1) (prl (+ k 1) (- m 1))))))
(print-line
(lambda (n)
(cond ((> n 0) (display n)
(print-line (- n 1)))
(else (newline))))))
prl))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment