Wolfram语言
编辑Wolfram 语言是一种基于知识的符号编程语言,可用于 Wolfram 独立产品(如 Mathematica)或 Wolfram Cloud 产品。 它具有内置功能、算法和知识库以及广泛的自动化。 它支持多种编程范例,例如函数式、符号式、基于规则的编程,是高级编程语言之一。 特别是,Wolfram 语言可以将各种格式的结构、图形和(外部)数据处理为符号表达式。 除了数值求解方法外,它还提供了对公式和数据进行符号操作的可能性。
发展历程
编辑自 Mathematica 于 1988 年首次发布以来,Wolfram 语言一直是软件包的基本组成部分。
引擎的符号方面使 Wolfram 语言成为计算机代数系统。 该语言可以使用一组规则执行积分、微分、矩阵操作和求解微分方程。 同样在 1988 年,根据 Theodore Gray 的专利,推出了笔记本型号以及嵌入声音和图像的功能。 此外,该语言还提供了用于更复杂任务(如 3D 建模)的功能。
知识引擎 Wolfram Alpha 于 2009 年作为 Wolfram 语言的在线前端发布。 Wolfram 通过将自然英语语言语句翻译成指向其数据库的 Wolfram 语言查询来实现该网站。 导致 Wolfram Alpha 的工作还意味着 Wolfram 的语言实现现在具有对知识库和自然语言处理功能的内置访问。
语言设计
编辑语法
Wolfram 语言具有广泛的语法,经过精心设计以实现 Wolfram 语言的各种语言、数学和其他格式结构的兼容性、一致性和高效、人类可读的输入。 除了正常的 ASCII 线性输入外,Wolfram 语言还支持二维数学输入。
Wolfram 语言语法与 Lisp 的 M 表达式大致相似,支持中缀运算符和带有“函数符号”的函数调用。
属性
Mathematica 中的所有数据对象都以列表结构标注。 列表结构由两部分组成,列表头和参数。
自然数和整数作为有符号或无符号字符串(+ 或 -)输入。 整数具有整数列表标题。 整数可以是任意大小,并由 Mathematica 精确处理。 就像整数一样,有理数经过精确处理,没有舍入误差。
Wolfram 语言以中缀表示法编写基本算术表达式:
(* 这是注释。*)4 + 3(* = 7 *)1 + 2 * (3 + 4)(* = 15 *)(* 注意乘法可以省略:1 + 2 (3 + 4) *)(* 除法返回有理数: *)3 / 2(* = 3/2 *)
函数参数在方括号中:
Sin(* = 0 *)(* 这是将有理数转换为浮点数的函数: *)N(* = 1.5 *)
列表写在大括号中:
奇数表={1,3,5}(* = {1,3,5} *)
图标
符号用作所有可以想到的 Mathematica 表达式的占位符,并用作类型声明或操作的同名词。
内置符号以大写字母开头。
语法糖
Wolfram 语言可以偏离所谓的 M 表达式表示法(基于 FORTRAN 和 Lisp),如果有一种替代的、更易于(对人类)可读的表示表达式的方式可用的话。 因此用户可以享受以不同方式输入表达式的灵活性:
- Wolfram 语言使用多种格式化规则,例如用于公式集中表达式的 TeXForm 和用于自然语言输入的 InputForm。
- 函数也可以用前缀表达式@和后缀表达式//编写。
- 推导可以用撇号 ' 标记。
- 中缀符号常见于 + 、 * 和函数符号系统中的其他运算符。
函数式编程
支持柯里化。
模式匹配
模式表示表达式的类。 基本模式构造 _(发音为“空白”)匹配任何表达式。 在 Wolfram 语言中,函数基本上是可以替换的简单模式:
F := x^0
:= 是一个“SetDelayed”运算符,因此不会立即搜索 x。 x_ 是模式的语法糖],即 H。 在进一步的评估过程中应替换 x 的任何值的“空白”。
分发和使用
编辑Wolfram 语言可用于 macOS、Linux 和 Windows。 Wolfram 引擎在桌面、云端和移动设备(iOS 和 Android)上运行,并得到主要互联网浏览器的支持。
Wolfram 语言拥有超过 6000 条命令,具有广泛的应用。 作为 Mathematica 软件包,Wolfram 语言主要用于大学的技术、数学和科学课程,但也用于研究机构和实验室。 例如,它包括用于创建和运行图灵机、创建图形和音频、创建和分析 3D 图形和模型、处理矩阵和求解微分方程的内置函数。 这方面有大量文档。
Wolfram 语言随 Raspberry Pi 操作系统免费提供。
Wolfram 语言的官方和参考实现位于 Mathematica 及其在线服务中。 这些是专有的。 然而,Wolfram Research 已经在开源 MIT 许可下发布了该语言的 C++ 解析器。 相关的文档和参考是 Open Access。
在 Wolfram 语言存在的三十多年中,还开发了许多第三方开源实现。 具有历史意义的是 Richard Fateman 1991 年的 MockMMA。仍在维护的现代实现是 Java 中的 Symja、Go 中的 expreduce 和基于 SymPy 的 Mathics。 这些实现专注于核心语言和它所暗示的计算机代数系统,而不是 Wolfram 的在线“知识库”功能。
2019 年,Wolfram Research 发布了 Wolfram Engine 的免费版本,可用作开发的软件组件,但不能用于商业目的。
连接和集成
编辑Wolfram 语言可以插入许多接口、服务、设备、编程语言、服务、格式等。 被连接。 它提供对 C、C++、Java、.NET 和 R 的本地支持。可以直接从 Wolfram 语言调用 Python 和 NodeJS。
Wolfram语言命名
编辑虽然该语言以某种形式存在了超过 25 年,但该语言的名称直到 2013 年 6 月才正式公布。 在此之前,它在内部被称为“M”和“Wolfram语言”等各种名称。 还考虑了许多其他可能的名称,例如“Lingua”和“Express”。 Wolfram 语言通常被称为“Mathematica”的同义词,尽管它是 Wolfram 语言的主要实现。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/376612/