I added some basic ones to common lisp in a couple of minutes.
(defun read-comprehension (stream char)
(declare (ignore char))
(destructuring-bind (expr for var in list &optional if filter-exp)
(read-delimited-list #\] stream)
`(loop ,for ,var ,in ,list
,@(when filter-exp `(,if ,filter-exp))
collect ,expr)))
(set-macro-character #\[ #'read-comprehension)
(eval (read-from-string "[(+ x 1) for x in '(1 2 3) if (> x 2)]"))
;; => (4)