Univ. Washington video course: Programming Languages

本课程使用Caml/Ocaml介绍现代程序语言的各种特性,包括函数式编程、定义语言、归纳证明等,并提供讲义PDF、代码、作业及答案、授课视频和mp3资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cs.washington.edu/education/courses/csep505/06sp/

本课程以Caml/Ocaml为蓝本介绍现代程序语言中的诸多特性,虽然这不是编译原理的课程,但是肯定也很合对此感兴趣的人的胃口。网站包括所有讲义pdf, 代码,作业和答案,授课视频和mp3。

课程大纲:
1. Purpose of studying programming languages
2. Functional programming (in Caml)
* Datatypes
* Higher-order functions
* Tail recursion
* Lack of mutation
3. Defining languages
* Concrete vs. abstract syntax
* Introduction/elimination forms
* Semantics via interpretation
* Semantics via translation
4. Induction for Proving Program Properties
5. Program and Programming-Language Equivalence
6. Lambda-Calculus
7. Abstract Machines
8. Exceptions, continuations, continuation-passing style
9. Types
* Soundness vs. completeness
* Type safety
* Type inference
* Static vs. dynamic typing
10. Polymorphism
* Generics
* Parametricity
* Subtyping
* Polymorphic references
11. Laziness (thunks, streams, memoization)
12. Macros
13. Concurrency
* Threads
* Locks
* Message passing (Concurrent ML)
* Atomicity
14. Object-oriented programming
* Dynamic dispatch
* Classes vs. types
* Multimethods
* Classless OOP
* Extensibility: contrast with functional programming
15. Memory management
* Garbage collection
* Regions (a.k.a. arenas)
* Unique pointers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值