(procedure? argument) -> boolean
Returns true if the given argument is a <procedure>, otherwise false.
The example is taken from the series of examples used in compile, optimize, and assemble.
>> (define testprog (read-lisp-file "lib/mosc.ms")) :: ((import "lib/compile") (import "lib/optimize") (define (...) (...) (...) (...) (...) (...)) (export mosc)) >> (procedure? testprog) :: #f >> (set! testprog (compile testprog)) :: ((usen 0 0) (newf) (ldg import) (arg) (ldc "lib/compile") (arg) (call) (newf) (ldg import) (arg) (ldc "lib/optimize") (arg) (call) (clos mosc after-63) (usen 1 6) (ldc #f) (stb 0 1) (ldc #f) (stb 0 2) (newf) (ldg string-ends-with?) (arg) (ldb 0 0) (arg) (ldc ".ms") (arg) (call) (jf false-65) (ldb 0 0) (stb 0 1) (newf) ...) >> (procedure? testprog) :: #f >> (set! testprog (optimize testprog)) :: ((usen 0 0) (newf) (ldg import) (arg) (ldc "lib/compile") (arg) (call) (newf) (ldg import) (arg) (ldc "lib/optimize") (arg) (call) (clos mosc after-63) (usen 1 6) (ldc #f) (stb 0 1) (ldc #f) (stb 0 2) (newf) (ldg string-ends-with?) (arg) (ldb 0 0) (arg) (ldc ".ms") (arg) (call) (jf false-65) (ldb 0 0) (stb 0 1) (newf) ...) >> (procedure? testprog) :: #f >> (set! testprog (assemble testprog)) :: [procedure 2822400] >> (procedure? testprog) :: #t