Comment 3 for bug 1818142

Paul F. Dietz (paul-f-dietz) wrote :

Note the following comment in src/pcl/boot.lisp:

    ;; Note: We could DECLAIM the ftype of the generic function here,
    ;; since ANSI specifies that we create it if it does not
    ;; exist. However, I chose not to, because I think it's more
    ;; useful to support a style of programming where every generic
    ;; function has an explicit DEFGENERIC and any typos in DEFMETHODs
    ;; are warned about. Otherwise
    ;;
    ;; (DEFGENERIC FOO-BAR-BLETCH (X))
    ;; (DEFMETHOD FOO-BAR-BLETCH ((X HASH-TABLE)) ..)
    ;; (DEFMETHOD FOO-BRA-BLETCH ((X SIMPLE-VECTOR)) ..)
    ;; (DEFMETHOD FOO-BAR-BLETCH ((X VECTOR)) ..)
    ;; (DEFMETHOD FOO-BAR-BLETCH ((X ARRAY)) ..)
    ;; (DEFMETHOD FOO-BAR-BLETCH ((X LIST)) ..)
    ;;
    ;; compiles without raising an error and runs without raising an
    ;; error (since SIMPLE-VECTOR cases fall through to VECTOR) but
    ;; still doesn't do what was intended. I hate that kind of bug
    ;; (code which silently gives the wrong answer), so we don't do a
    ;; DECLAIM here. -- WHN 20000229