#! /usr/bin/env shell-sbcl ; -*- lisp -*- (load "perl-quote.lisp") (defun wibble () #q! Docstrings can now be written this way, which is probably the main use. Handy when your tables didn't line up before, "stuff" value thingy "a" "b" "c" etc.! (warn "Wibble does nothing.")) (format t "bunches of stuff~%~{ ~s~%~}" `( #ql(foo bar baz) (#qw(foo bar baz)) #qk(:key value :another t :upper T) #qw: a b c d "goldfish" : #qw{ Ma "goldfish" } #q! sar, c d b d i's ! #q{ so it may look "pointless" but you don't need to \ your backslashes or \" your "'s #| you can nest things that look like comments |# ; { with impudence { and { inpunity }}} and it works quite well provided you match each { with another } elsewhere in the string. Shame Slime doesn't understand...} ;; " ; balance things up from Slime's PoV ,(documentation 'wibble 'function))) ;;; Produces output like this, ;; bunches of stuff ;; ("foo" "bar" "baz") ;; ("foo" "bar" "baz") ;; (:KEY "value" :ANOTHER "t" :UPPER "T") ;; "a" ;; "b" ;; "c" ;; "d" ;; "\"goldfish\"" ;; "Ma" ;; "\"goldfish\"" ;; " sar, c d b d i's " ;; " so it may look \"pointless\" but ;; you don't need to \\ your backslashes or \\\" your \"'s ;; #| you can nest things that look like comments |# ;; ; { with impudence { and { inpunity }}} ;; and it works quite well provided you match each { with ;; another } elsewhere in the string. ;; ;; Shame Slime doesn't understand..." ;; " Docstrings can now be written this way, which is probably the ;; main use. Handy when your tables didn't line up before, ;; ;; \"stuff\" value ;; thingy \"a\" ;; \"b\" \"c\" ;; ;; etc."