Является ли Mathematica нетипизированным языком?

В отличие от большинства языков программирования, каждое значение в Mathematica является выражением. Применение любой операции к любым выражениям всегда дает другое выражение. Следовательно, Mathematica фактически имеет только один тип. Mathematica не выполняет статическую проверку типов и, возможно, даже не проверяет типы динамически (во время выполнения).

Например, добавление целочисленного выражения 1 к строковому выражению "foo " в системе Mathematica приводит к (бессмысленному) выражению 1 + "foo" , но без ошибки. В других случаях Mathematica предоставляет обратную связь о бессмысленном вводе, но проверки, которые генерируют эту обратную связь, должны выполняться явно программистом.

Таким образом, справедливо ли описывать Mathematica как нетипизированный язык, а не как язык со статической или динамической типизацией?

15
задан Jon Harrop 29 December 2010 в 23:20
поделиться