Skip to content

programming tasks in SML/Racket/Ruby for Programming Language course on Coursera

Notifications You must be signed in to change notification settings

poolmaster/Coursera-PL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Coursera-PL

Programming assignments and projects of Programming Language course on Coursera

  • 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
  • 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
  • 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

About

programming tasks in SML/Racket/Ruby for Programming Language course on Coursera

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published