sexta-feira, 8 de julho de 2005

Utilizar o lisp como script language

Aprendi como utilizar o lisp como uma script language, tipo perl.

Você coloca no inicio do seu script:

#!/usr/bin/sbcl --noinform

Depois modifica o .sbclrc para que ele ignore as linhas que começam com #!

$ cat >> .sbclrc
;;; If the first user-processable command-line argument is a filename,
;;; disable the debugger, load the file handling shebang-line and quit.

(let ((script (and (second *posix-argv*)
(probe-file (second *posix-argv*)))))
(when script
;; Handle shebang-line
(set-dispatch-macro-character #\# #\!
(lambda (stream char arg)
(declare (ignore char arg))
(read-line stream)))
;; Disable debugger
(setf *invoke-debugger-hook*
(lambda (condition hook)
(declare (ignore hook))
;; Uncomment to get backtraces on errors
;; (sb-debug:backtrace 20)
(format *error-output* "Error: ~A~%" condition)
(quit)))
(load script)
(quit)))


Dai dá para faze o hello world em lisp:

#!/usr/bin/sbcl --noinform
(format t "Hello World~%")

Um comentário:

Anônimo disse...

Good dispatch and this enter helped me alot in my college assignement. Say thank you you for your information.