Skip to content
0:00 / 0:00

#scala#existentialtypes#oop

Existential Types — Make OOP Great Again! by Julien Richard Foy

Scala Days Conferences

10K subscribers • 21 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Julien Richard Foy

Advanced. Deep dive for people who know the field.

3.8K views9 years ago2 recommendations

Programming languagesSoftware designObject-oriented designFunctional programming

Julien Richard Foy explores existential types and their encoding in Scala, comparing them to inheritance and typeclasses for modularization.

This video was recorded at Scala Days Copenhagen 2017 Follow us on Twitter @ScalaDays or visit our website for more information scaladays.org Abstract: Means of abstraction are the holy grail of programming languages. They allow developers to write programs by relying on other programs whose implementation details are unknown. But the more about these programs is unknown, the more difficult it is to manipulate and combine them in a correct (and useful) way. This talk will explore the solutions brought by existential types and their encoding in Scala. You will learn what they can do and what they can not throughout concrete use cases, and how they compare to other alternatives for modularization (e.g. “basic” inheritance and typeclasses). No theoretical background is required.

Why it's here

2 people recommend this

What people say. Recommended as a clear explanation of combining OOP and functional programming concepts in Scala using existential types.

u/julien-rfin r/scala • Recommends

On “Any talks/videos about the best of both worlds (OOP & Func) in Scala?”

I’m not aware of a single talk that explains how to take advantage of both OOP and FP in Scala. I’ve mostly seen talks about how to take advantage of FP, and talks about how to take advantage of OOP. Maybe your thread will inspire a new talk! In my opinion, OOP is especially helpful to achieve encapsulation, and FP is especially helpful to model business domains and to implement business logic. I think both use cases are mostly orthogonal, and there is little chance to \_not\_ benefit from the best of both worlds. The only thing that would not be helpful would be to try to translate Spring “beans” in Scala (ie, to model business domains with mutable data types). Although we see a lot of ta…

u/Judhegin r/scala • Recommends

On “Speaking Creature - continues, using Abstract Type Members instead of type class”

Source of inspiration Julien R. Foy : link to this video I personally think this is a clearer style of FP for OOP guys like me than the original Type Class.