项目作者: poolmaster

项目描述 :
programming tasks in SML/Racket/Ruby for Programming Language course on Coursera
高级语言: Standard ML
项目地址: git://github.com/poolmaster/Coursera-PL.git
创建时间: 2017-01-26T09:27:40Z
项目社区:https://github.com/poolmaster/Coursera-PL

开源协议:

下载


Coursera-PL

Programming assignments and projects of Programming Language course on Coursera

  • [x] Part A: Standard ML

    • SML grammer and basics: functions, recursions, scope, tuple, lists, options etc. and SML’s REPL
    • Datatypes, pattern-matching, tail-recursion, exceptions
    • First-class/high-order/anonymous functions, closures, map/filter/fold, currying and partial application
    • Type inference, module systems, equivalence
  • [x] Part B: Racket

    • parentheses, dynamic typing, mutation, thunks, delay/force, streams, memoization, Macros and DrRacket
    • struct and using struct to implement a new PL: AST interpreter
    • static VS typing, eval and quote
  • [x] Part C: Ruby

    • Class/Objects, visibility, duck typing, Blocks, Procs, Array/Hash/Range, Subclass, Overriding/Dynamic Dispatch: enhance a Tetris Game in Ruby
    • OOP vs. Functional Decomposition, Dynamic Dispatch, Double Dispatch, Multi-Inheritance, Mixins, Interfaces, Java Abstract Methods,C++ pure Virtual Functions
    • SubTyping, Generics Vs. SubTyping, Bounded Polymorphism