How to parse a file & Kotlin for the curious with Matt Ellis

Public group

Sheffield Hallam University Owen Building Room 942, City Campus

Howard Street, Sheffield, S1 1WB · Sheffield

How to find us

Enter through the Main Hallam University Entrance, Take the lifts to the 9th floor. Room 942.

Location image of event venue


This event will be broken down into 2 talks, "How to parse a file" and "Kotlin for the curious" both being presented by Matt Ellis.

**How to parse a file**

Yes, we're going to look at file parsing. Sounds a bit boring, right? Wrong.

In this talk, just for fun, we'll find out how to parse a file. We'll look at simple, handcrafted parsers. We'll finally figure out just how lex and yacc work. And we'll pick apart structured parsers that build abstract syntax trees as you type - ReSharper style. How is an IDEs parser different to a compiler? How do you handle sensible error recovery? What about significant whitespace?

Everything you always wanted to know about parsing a file, but were too afraid to ask.

**Kotlin for the curious**

Interested in Kotlin? And why not - it’s a pragmatic language designed to remove ceremony, solve real world problems and still feel familiar to newcomers. It can target the JVM, Android, JavaScript and native code, even running on iOS. That’s a lot of reach for a single programming language.

In this talk, we’ll go on a high level, introductory tour of Kotlin - how to get up and running, what Kotlin looks like, and how to write idiomatic, concise code - functional or object oriented. We’ll look at data classes, top level and first class functions, inlining, null safety and more, including the design decisions behind some of the language choices. We’ll see how you can build DSLs, with examples from Android and HTML, and look at how we can build multi-platform projects. And we’ll take a look at coroutines, Kotlin’s answer to C#’s async/await.

Matt Ellis is a developer at JetBrains, working on the Developer Advocacy team. He has 20+ years of experience shipping software, having been a developer, team lead and technical authority for companies such as BBC Worldwide, BNP Paribas and Egg, the UK’s first internet bank. During that time, he has worked with a variety of platforms and technologies, from C++ and Unix to C#, Reactive Extensions and the Web. He currently works with language tooling, having fun with abstract syntax trees and source code analysis. He owns and contributes to various open source projects, and believes in the open closed principle.