Advertisement
Guest User

Untitled

a guest
Apr 26th, 2021
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.70 KB | None | 0 0
  1. (defpackage tidylisp
  2.   (:use :cl)
  3.   (:export :main))
  4.  
  5. (in-package :tidylisp)
  6.  
  7. (defvar *quit-on-error-p* nil)
  8.  
  9. (defun main ()
  10.   (flet ((syntax-error ()
  11.            (format t "Usage: tidylisp <file>~%")
  12.            (if *quit-on-error-p*
  13.                (uiop/image:quit)
  14.                (return-from main))))
  15.     (unless
  16.         (and (= (length uiop/image:*command-line-arguments*) 1)
  17.              (probe-file (car uiop/image:*command-line-arguments*)))
  18.       (syntax-error))
  19.     (setq *print-case* :downcase)
  20.     (with-open-file (in (car uiop/image:*command-line-arguments*))
  21.       (loop for form = (read in nil)
  22.             until (not form)
  23.             do (progn (pprint form) (format t "~%"))))))
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement