Skip to content

Scala Talks: What does the functor do on the tree? and Cracking the Code

Photo of Zainab Ali
Hosted By
Zainab A.
Scala Talks: What does the functor do on the tree? and Cracking the Code

Details

πŸŽ‰ Come along to the London Scala Talks! πŸŽ‰
In this event you'll hear from MichaΕ‚ Pawlik & Kim Morgan.

Agenda
6:00pm - πŸ₯€ Doors open. Come along and grab a drink!
6:40pm - πŸ—£οΈ MichaΕ‚ Pawlik - What does the functor do on the tree?
7:20pm - πŸ• 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.
7:50pm - πŸ—£οΈ Kim Morgan - Cracking the Code: Translating Japanese Numbers with Functional Programming
8:30pm - πŸ₯€ Socialising: Grab a drink and let's discuss the talks.
9:00pm - 🍻 Join us in The Citie of Yorke pub to discuss the talks!

🌐 This event has a live stream. Join the webinar at 18:40PM London time using this link.

πŸ—£οΈ MichaΕ‚ Pawlik - What does the functor do on the tree?
The summer season is a great time to take a walk in the woods. Many people use this opportunity to slow down, relax, and maybe spot some wildlife. But how many of them think about tree traversal strategies? Or if there's a functor for the tree? I bet you didn't! So let's take this opportunity to catch up before the summer is over! In this talk we'll see how to model a tree structure in Scala, compare the imperative and functional approaches to tree traversal algorithms, and do some ASCII art at the same time.
⭐ Speaker ⭐
MichaΕ‚ Pawlik is a senior Software Engineer at SiriusXM, writing about Scala at blog.michalp.net, maintaining few open source libraries.

πŸ—£οΈ Kim Morgan - Cracking the Code: Translating Japanese Numbers with Functional Programming
Translating Japanese is difficult---I should know, as I was a professional translator for 7 years before becoming a software developer. Translators use software to check their work, but this software doesn't handle some of the many corner cases in the language, such as the complex rules around numbers. In this talk I'll describe how to leverage rewrite systems, a form of functional programming, to do a better job.
Consider how numbers are represented in Japanese. They may be represented as Arabic numerals or Kanji, and there are different counting systems, different year system, and differences in how months are written. To top it off, unlike English, Japanese does not use spaces between words, so it can be hard to discern where one word ends and one word begins. These peculiarities mean that automated number checking in Japanese to English translation flags more false errors than they do actual errors.
When I was a translator, I was always frustrated by software that failed to handle these cases and dreamed of creating better software that would make translator's lives easier. Now that I'm a developer I can finally make this a reality. In this talk I'll describe using rewrite systems, a form of functional programming, to model translating Japanese numbers to English. I'll show how we can break the problem down into simple rules, which I'll encode in Scala. I'll then show how we can combine these rules using algebraic properties to larger problems. I'll finish with a discussion of using rewrite rules in other contexts, such as graphics and business rules.
⭐ Speaker ⭐
In a past life, Kim was a Japanese to English translator. After graduating with a degree in Mathematics and Japanese from the University of Manchester, she moved to Japan and became a professional translator, which she did for 7 years before retraining as a software developer.
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
πŸ—£οΈ 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 through this form and we'll get you started
🏑 Interested in hosting or supporting us? Please get in touch through this form and we can discuss how you can get involved.
πŸ“œ 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 through this form 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.

Photo of London Scala User Group group
London Scala User Group
See more events
SiriusXM
37 High Holborn Β· London