Reimagining Functional Type Classes by John A. De Goes


Details
-------How to Join our online/Virtual event ------
- Before the meetup visit https://www.sfbayareatech.xyz/ and enter your details to join our slack community. Once you submit your email address and name you will receive an invite to join so check your email.
- Once you have joined our slack community please join the #sfscala channel
- RSVP to this event here on Meetup
- Location part of this event page will have a link to Zoom to join the event. We will update this page with the link closer to the event. You will only be able to see the link if you have RSVP to this event.
- Any questions please contact me (Salar Rahmanian) via our slack community or meetup.
------PLEASE FOLLOW ABOVE Instructions before event---------
Talk Title: Reimagining Functional Type Classes
Talk Summary:
For decades, the Functor, Monoid, and Foldable type class hierarchies have dominated functional programming. Implemented in libraries like Scalaz and Cats, these type classes have an ancient origin in Haskell, and they have repeatedly proven useful for advanced functional programmers, who use them to maximize code reuse and increase code correctness.
Yet, as these type classes have been copied into Scala and aged, there is a growing awareness of their drawbacks, ranging from being difficult to teach to weird operators that don’t make sense in Scala (ap from Applicative), to overlapping and lawless type classes (Semigroupal), to a complete inability to abstract over data types that possess related structure (such as isomorphic applicatives).
In this presentation, John A. De Goes introduces a new Scala library with a completely different factoring of functional type classes—one which throws literally everything away and starts from a clean slate. In this new factoring, type classes leverage Scala’s strengths, including variance and modularity. Pieces fit together cleanly and uniformly, and in a way that satisfies existing use cases, but enables new ones never before possible. Finally, type classes are named, organized, and described in a way that makes teaching them easier, without compromising on algebraic principles.
If you’ve ever thought functional type classes were too impractical or too confusing or too restrictive, now’s your chance to get a fresh perspective on a library that just might make understanding functional programming easier than ever before!
Speaker: John A. De Goes
A mathematician by training but a software engineer by vocation, John A. De Goes has been professionally writing software for more than 25 years. John has contributed to dozens of open source projects written in functional programming languages, including ZIO, a library for asynchronous and concurrent programming in functional Scala. In addition to speaking at Strata, OSCON, BigData TechCon, NEScala, ScalaWorld, Scala IO, flatMap, Scalar Conf, LambdaConf, and many other conferences, John also published a variety of books on programming. Currently, John heads Ziverge Inc, a company committed to solving hard business problems using the power of functional programming.
Agenda
5.30pm Welcome to SFScala by Alexy Khrabrov & Salar Rahmanian
5.45pm Reimagining Functional Type Classes by John A. De Goes
7.30pm Wrap up and continue conversations on Slack
Sponsors
Ziverge helps companies thrive using the competitive advantages of FP.
Ziverge is running a variety of Functional Scala workshops and is offering members of this community 10% off with code: "SFScala10"
Functional Scala Fundamentals by Adam Fraser https://www.eventbrite.com/e/functional-scala-fundamentals-tickets-104779747044

Reimagining Functional Type Classes by John A. De Goes