In my experience, it does, other things being equal.
Which of course
they rarely are - has anyone built what for lack of a better term I
might call a typechecked FORTH engine? I don't really know FORTH as
well as I'd like, but my impression is that doing that would require
enough infrastructure that it would border on reinventing PostScript
(minus the rendering stuff, of course).
I believe it's called 'RPL' (Reverse Polish Lisp), the language used on some
high-end HP handheld calculators.
You can push just aboput anything onto the stack. Real numbers, complex
numbers, strings, vextors, matrices, lists, programs (!), user binary
numbers, system binary numbers, and so on.
Built-in commands check the type of the arguments they take off the
stack, and either complain that they can't handle that sort of object
(for example taking the square root of a string) or execute hte
appropraite code based on the object types. So '+' can add 2 real
numbers, concatenate 2 strings, and so on.
User-written programs generally simply use the built-in type checking of
the words they're built up from (if the object types are incorrect then
at some point one of those words will complain), although it's certainly
possible (and quite easy) for a user progam written either in user-RPL or
system-RPL to do full type checking at the start.
-tony