note and hw
coursera课程程序设计语言的作业和笔记
Part.A lang: SML
- SMl语法
- patttern-matching
- 一等函数(first-class functions)
- 闭包(closure)
- 函数柯里化(currying)
- lexical scope
- static type
Part.B lang: Racket
- Racket语法
- lazy evaluation
- thunk
- stream
- 宏
- 元语言
- 编译器/解释器
编译器/解释器实际上并不是语言的一部分
没有所谓的编译型语言或解释型语言,只有编译型实现或解释型实现
- static checking
- static vs dynamic typing
Part.C
lang: Ruby
- Ruby语法
- oop
- dynamic dispatch
- oop vs functional decompostion
- double dipatch
- 多继承
- mixins
- interface
- subtyping vs generic