ML:元编程入门

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


ML代表“元语言”,并且ML是通用编程语言家族的成员.

像许多早期的编程语言一样,ML是由学术界出于研究目的而创建的,它的功能影响了许多随之而来的编程语言。.

什么是ML?

ML是一种多范式的扩展功能编程语言。它也经常被标记为“不纯的”功能语言,因为它会产生副作用。 ML的命令性功能基于功能核心.

这对于元编程特别有用-编写可操纵其他程序的程序,这是ML的初衷。 ML因其使用Hindley-Milner类型系统而闻名,该系统可以自动分配大多数表达式的类型而无需显式类型注释.

ML用于各种编程:

  • 科学应用;
  • 定理证明;
  • 分析器,编译器,编程语言;
  • 金融系统应用;
  • 生物信息学和家谱数据库.

ML还用于教学入门课程中,以演示基本的编程逻辑和方法.

机器学习简史

ML编程语言是由爱丁堡大学的Robin Milner及其同事在1970年代研究可计算函数逻辑(LCF)(一种交互式的自动定理证明器)时开发的。 LCF在ML中实现并于1972年引入。ML的语法受ISWIM编程语言的启发.

ML进一步发展成为ML系列所有部分的几种编程语言。今天,两个最重要的方言是标准ML(SML)和OCaml。 ML的功能和思想影响了许多其他语言,如Cyclone,Elm,Nemerle,Haskell,C ++等.

特征

这是一种严格类型化的语言,它使用Hindley-Milner类型系统来确保类型安全。因此,类型正确的ML程序不会导致运行时类型错误。它的语法和流控制从根本上不同于C类型语言,因此您不会在C和ML代码之间发现琐碎的映射.

ML具有通过垃圾回收的自动内存管理系统,该内存由编译器自动分配和释放。支持参数多态性,这意味着您可以编写一个可以接受任何兼容类型参数的多态函数.

ML具有一流的函数和词法闭包,因此很容易组合多个函数,这在命令式编程语言中可能非常复杂.

ML还支持具有模式匹配的多态递归数据类型,并具有一个以结构和签名为中心的出色模块系统。它主要使用热切评估,这意味着始终对所有子表达式进行评估,而惰性评估仍可以通过使用闭包来实现.

ML入门

如果您以前有编程方法和逻辑方面的经验,那么ML编程入门就不会构成太大的挑战。但是,如果ML是您的编程入门,则应先学习基础教程和课程,然后再进行要求更高的课程。.

您的ML开发环境

显然,您将必须设置自己的个人ML开发环境。我们建议使用新泽西州标准ML(SML / NJ)衍生工具和编译器,因为它是ML编程语言的第一个也是最受欢迎的编译器.

目前,三大操作系统平台(Mac OS X,Linux和Windows)都支持SML / NJ。换句话说,您几乎可以在任何计算机上运行ML开发环境都没有问题.

在这些平台上安装ML非常简单,并且有据可查。只需在SML / NJ下载页面上为您的平台选择正确的下载,然后按照安装说明进行操作.

资源资源

ML已经存在了很多年,因此不缺少各种资源。在学习语言方面,这总是一件好事。但是请记住,许多机器学习资源已经很老了,可能已经过时了.

我们将搜索集中在相关且相对较新的教程,电子书和交互式课程上。但是,如果您刚刚开始,即使是旧资源也可能会有所帮助.

ML课程和教程

专注于理论资源是迈出ML编程第一步的好方法,但是一旦掌握了基础知识,就需要转向实际示例.

要真正欣赏ML的全部潜能,您将不得不对其付诸实践。一旦熟悉了基本语法,就可以将培训提高到一个新的水平,并尝试一些实用的指南和教程:

  • 使用标准ML ’97进行编程:在线教程,作者斯蒂芬·吉尔莫尔(Stephen Gilmore):这是一个免费的ML教程,介绍了ML语言中的重要概念并通过简单的示例进行了说明。有多种格式可用.
  • Robert Harper的标准ML编程(pdf):这是为卡内基梅隆大学课程“计算机科学12-212:编程原理”创建的免费ML教程。
  • 安德鲁·卡明(Andrew Cumming)的ML入门:这是一个免费课程,其中包含ML入门和七个课程以及许多其他有用资源.
  • Mads Tofte给计算机科学家的关于标准ML的提示(修订)(pdf):这是一本免费的书,其中包含许多有关ML编程的有用提示.

额外资源

下一步是集中精力于更详尽的资源,例如带有大量示例代码的实用教程。这些真实的示例将帮助您理解ML编程。我们选出了一些最常引用的方法:

  • 新泽西州标准ML用户指南:这是使用SML / NJ进行标准ML编程的在线指南,涵盖了从SML / NJ的安装到常见问题解答,特殊功能,编译器结构和库的所有内容.
  • 标准ML基础库是标准ML基础库的在线参考.

图书

我们还收录了一些有关ML编程的书。 ML教育家推荐其中许多电子书,当您编写实用指南和教程时,它们将很方便作为参考:

  • L C Paulson撰写的《面向工作程序员的ML,第二版》:着重介绍如何使用ML语言进行编程,以及讲授函数式编程的基础.
  • Jeffrey D Ullman撰写的ML编程元素,ML97版(第2版):本书提供了有关ML编程的高度可访问的分步入门教程,以及对高级功能的完整参考和说明。不需要先前的ML或功能编程知识.
  • Felleisen和Friedman撰写的Little MLer:这本书介绍了编程新手以及其他编程语言中的经验者,以及类型,计算和程序构造的原理.

向前进

与所有编程语言一样,ML最终将通过实践中学到。因此,建立您的开发环境,并在这些资源的帮助下,开始编码。祝好运!

了解其他有趣的编程语言.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map