Plaster

text
#! /bin/sh SCRIPT='(progn (format t "~%This is ~A ~A~%" (lisp-implementation-type) (lisp-implementation-version)) (defun one (object) (declare (optimize (safety 3))) (aref object 1)) (defun two (object) (declare (optimize (safety 3))) (setf (aref object 1) 345)) (multiple-value-bind (result error) (ignore-errors (one (make-array 1 :initial-element nil))) (format t "(one) => ~S~%~S~%Is type-error: ~S~%~A~%~%" result error (typep error (quote type-error)) error)) (multiple-value-bind (result error) (ignore-errors (two (make-array 1 :initial-element nil))) (format t "(two): ~S~%~S~%Is type-error: ~S~%~A~%" result error (typep error (quote type-error)) error)))' for l in sbcl abcl ccl ecl clisp cmucl; do docker run -i -t --rm clfoundation/$l cl "$SCRIPT" done # CL-Launch doesn't have support for Clasp, so we need to use clasp's CLI # directly. docker run -i -t --rm clfoundation/clasp --eval "$SCRIPT" --quit

Annotations