title: Is Mathematica an untyped language?
body: <p>Unlike most programming languages, every value in Mathematica is an expression. Applying any operation to any expressions always yields another expression. Consequently, Mathematica effectively has only one type. Mathematica does no static type checking and, arguably, doesn't even check types dynamically (at run-time).</p>
  
  <p>For example, adding the integer expression <code>1</code> to the string expression <code>"foo"</code> in Mathematica results in the (nonsensical) expression <code>1 + "foo"</code> but no error. In other cases, Mathematica provides feedback about nonsensical input but the checks that generate this feedback must be performed explicitly by the programmer.</p>
  
  <p>Thus, is it fair to describe Mathematica as an untyped language as opposed to a statically or dynamically typed language?</p>