Existential Types - Make OOP Great Again
Offered By: Scala Days Conferences via YouTube
Course Description
Overview
Syllabus
Intro
Outline
Complexity
Modularization and generalization
1.2 Square of abstraction
Scala square of abstraction (1)
Value parameters
Scala square of abstraction (2)
Abstract value members
Scala square of abstraction (3)
Parameters vs abstract members
Scala square of abstraction (4)
Scala square of abstraction (5)
Use cases
2.1 Encapsulation
Scala interface for nix files API
Hiding the File type
Why is it different from using an opaque type?
Encapsulation - summary
User interface Component
Counter component
Container component
Redesign Component with abstract type members
Tabs - view implementation
Modularization - summary
Naive solution - XYPlot
Solution with abstract type members
Type families - summary
Questions?
Evaluating programs
Generalizing interpreters
Alternative encoding: language definition
Alternative encoding: evaluation interpreter
Alternative encoding: interpreting programs
Finally tagless encoding - extensibility
Type parameters vs type members (1)
Finally tagless encoding - summary
Tabs component implementation
Taught by
Scala Days Conferences
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Parallel programming
École Polytechnique Fédérale de Lausanne via Coursera Big Data Analysis with Scala and Spark
École Polytechnique Fédérale de Lausanne via Coursera Functional Programming in Scala Capstone
École Polytechnique Fédérale de Lausanne via Coursera