Completed
Why is it different from using an opaque type?
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
Existential Types - Make OOP Great Again
Automatically move to the next video in the Classroom when playback concludes
- 1 Intro
- 2 Outline
- 3 Complexity
- 4 Modularization and generalization
- 5 1.2 Square of abstraction
- 6 Scala square of abstraction (1)
- 7 Value parameters
- 8 Scala square of abstraction (2)
- 9 Abstract value members
- 10 Scala square of abstraction (3)
- 11 Parameters vs abstract members
- 12 Scala square of abstraction (4)
- 13 Scala square of abstraction (5)
- 14 Use cases
- 15 2.1 Encapsulation
- 16 Scala interface for nix files API
- 17 Hiding the File type
- 18 Why is it different from using an opaque type?
- 19 Encapsulation - summary
- 20 User interface Component
- 21 Counter component
- 22 Container component
- 23 Redesign Component with abstract type members
- 24 Tabs - view implementation
- 25 Modularization - summary
- 26 Naive solution - XYPlot
- 27 Solution with abstract type members
- 28 Type families - summary
- 29 Questions?
- 30 Evaluating programs
- 31 Generalizing interpreters
- 32 Alternative encoding: language definition
- 33 Alternative encoding: evaluation interpreter
- 34 Alternative encoding: interpreting programs
- 35 Finally tagless encoding - extensibility
- 36 Type parameters vs type members (1)
- 37 Finally tagless encoding - summary
- 38 Tabs component implementation