F#是一种简单而富有表现力的编程语言. 可以将其描述为支持函数式,命令式和面向对象范例的静态类型不纯函数语言,以及其他几种编程样式,包括数据驱动,事件驱动和并行编程. 这使其成为介绍编程以及编程范例的优秀工具. 使用F#进行教学具有以下优点:

F#编译器和工具是跨平台的,可以在Windows上使用.NET,在Mac OS和Linux上使用Mono来运行. 一些编辑器支持F#语言. 除了商用的Visual Studio和Xamarin Studio工具之外,还有Emacs的F#模式和MonoDevelop的开源语言绑定.

Video lectures

Textbooks for Teaching F#

Functional Programming Using F#

迈克尔·汉森(Michael R. Hansen)和汉斯·里歇尔(Hans Rischel)

对使用F#进行函数式编程的原理的介绍介绍了如何应用理论概念来生成简洁明了的程序. 内容包括.NET库中的高级功能,F#的命令性功能以及诸如序列,计算表达式和异步计算之类的主题. 本书包含大量示例和练习.

在本书的网站上可以找到包括本书中的程序,演讲幻灯片和小型项目在内的其他材料.

 

Programming Language Concepts

彼得·塞斯托夫特

编程语言概念使用功能性编程语言(F#)作为元语言,在其中介绍所有概念和示例,因此具有操作性,可以进行实际实验和练习. 它包括基本概念,例如抽象语法,解释,堆栈机,编译,类型检查和垃圾回收技术,以及有关多态类型,使用统一类型推论,协和和反变量类型,连续和向后的更高级主题.动态窥视孔优化生成代码.

编程语言概念涵盖了词法分析器和语法分析器的实际构造,但不包括正则表达式,自动机和语法,这些在其他地方都进行了介绍. 它阐明了Java和C#的设计和技术,以增强学生对这些广泛使用的语言的理解. 这些示例提供了几种玩具语言的解释器和编译器,包括一个小的但可用的C子集的编译器,一些抽象机,垃圾收集器和ML风格的多态类型推断. 每章都有基于此类示例的练习.

Lectures and course material

by  ICOPY.SITE