πCome along to the London Scala Talks! π
Hear from Uma Zalakain on precision error handling in Functional Scala and from Sophie Collard on lessons learnt from writing 10k LOC in Elm.
π’ Sign up on EventBrite before 20th May to access the building: https://www.eventbrite.com/e/scala-talks-error-handling-with-errata-lessons-learned-writing-elm-tickets-885531958927
π This event will have a livestream. Watch this space for the link!
ββββββββββββββββββββ
*Agenda*
6:15pm - π» Doors open. Come along and grab a drink!
6:45pm - π£οΈ Uma Zalakain: Precision Error Handling in Functional Scala
7:25pm - π Intermission: Join us for some free food and drinks! Vegan, vegetarian and gluten free options are provided. Let us know if you'd like something special - we'd be happy to accommodate.
8:00pm - π£οΈ Sophie Collard: Lessons learnt from writing 10k LOC in Elm
8:45pm - π» Join us in a pub to discuss the talks!
ββββββββββββββββββββ
π£οΈ Uma Zalakain: Precision Error Handling in Functional Scala
Error handling is a core component of software engineering and system design more generally. In functional Scala, we want our types to be expressive, and the input and output types of our definitions to be precise. Cats is a widely used library that provides useful abstractions for functional programming in Scala. However, its current error handling mechanisms are weak and open to runtime errors. There is no inherent reason for this to be the case.
I will introduce a small library for more precise error handling, and highlight the benefits it brings. Although the library is fully compatible with cats, its ultimate goal is to disappear, and be absorbed into cats. Before reaching that stage, I want to gather peopleβs opinions and further polish our approach.
ββββββββββββββββββββ
β Uma Zalakain β
Uma is a software engineer, and currently writes functional Scala for ITV. Her past experience with Scala was on RISE, a research compiler that specialising in applying user-defined optimisations to a functional user-level language embedded in Scala, where programs are compiled down to a range of shader languages.
Her previous experience is in academia, where she worked defining languages for concurrency and using proof assistants like Agda and Coq to mechanically prove type safety properties. This provided her with years of experience using languages with dependent types, and with defining languages with advanced type systems like session types and linear types.
In general, she is a big proponent of static, compile-time guarantees and expressive type systems.
ββββββββββββββββββββ
π£οΈ Sophie Collard : Lessons learnt from writing 10k LOC in Elm
Elm is a strongly typed, purely functional DSL described by its creator as a "delightful language for reliable web applications".
A couple years back, frustrated with my limited but already painful experiences with React and Vue, I did what any sane developer would. After spending all of 20 minutes playing with in-browser tutorials, I opted to make Elm the main language for my next project.
In this talk, I will reflect on my experience building and growing a 10k LOC Elm codebase. Most importantly, I hope to convince you that Elm is awesome and that frontend development needs not be the lawless, weakly typed wasteland it first appears to be.
ββββββββββββββββββββ
β Sophie Collard β
Sophie is a Software Engineer and ex-Data Scientist with a fondness for strongly typed functional languages. She has worked with Scala for the past 8 years and more recently delved into frontend development with Elm. She was most recently a Lead Software Engineer at JPMorgan, where she worked on the Model Engineering Platform. Her academic background is in Environmental Engineering (BEng) and Renewable Energy (MSc).
ββββββββββββββββββββ
π£οΈ Would you like to present, but are not sure how to start? Give a talk with us and you'll receive mentorship from a trained toastmaster! Get in touch and we'll get you started:https://forms.gle/zv5i9eeto1BsnSwe8
π‘ Interested in hosting or supporting us? Please get in touch and we can discuss how you can get involved:https://forms.gle/3SX3Bm6zHqVodBaMA
π All London Scala User Group events operate under the Scala Community Code of Conduct:
https://www.scala-lang.org/conduct/
We encourage each of you to report the breach of the conduct, either anonymously or by contacting one of our team members. We guarantee privacy and confidentiality, as well as that we will take your report seriously and react quickly.
https://forms.gle/9PMMorUWgBnbk1mm6