3

Type Me If You Can: Writing Safe Communication Protocols with F#

 3 years ago
source link: https://skillsmatter.com/skillscasts/14880-keynote-by-rumyana-neykova
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Type Me If You Can: Writing Safe Communication Protocols with F#
This website uses cookies to improve your experience. Learn more

SkillsCast

Please log in to watch this conference skillscast.

980632669_640x360.jpg?r=pad

In this talk Rumyana gives a history of types, and discusses some new – and not-so-new — type systems: session types (for distributed programs), and refinement types (w/ predicates).

I will give a brief history of types, and will discuss some new, and not that new, type systems, such as session types (types for distributed programs), and refinement types (types with predicates). I will challenge you to think how (and why) we can stretch the notion of types and use them to prevent communication faults such as deadlocks and communication mismatches.

In particular, I will discuss two F# projects that have flirted with the idea of expressive types in F#. These are session type providers — a type provider which enables programming of safe communication protocols; and Fluid types — a toy compiler extension that infers predicates from F# programs. Finally, I will show some recent developments in OCaml, F* and other strange creatures, as to discuss how far we should (if at all) push the boundaries of the F# type system, and what are the trade-offs that we have to make.

YOU MAY ALSO LIKE:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK