Ondrej Lhotak

Professor at University of Waterloo

Waterloo, Ontario, Canada
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Ondrej Lhotak is a computer science professor at the University of Waterloo with 29 years of experience blending research, teaching, and systems-level development. He holds a PhD from McGill and a BMath from Waterloo, and his work sits at the intersection of programming languages and compilers. An active open-source contributor, Ondrej has made substantive backend/compiler contributions to notable projects like Scala 3 (Dotty) and the Flix programming language, implementing language features, Java interoperability, and advanced parsing and analysis examples such as IFDS. His profile reflects a rare combination of academic depth and practical compiler engineering, with a track record of improving real-world language toolchains and static analysis infrastructure.
code29 years of coding experience
bookBMath, Computer Science, BMath, Computer Science at University of Waterloo
bookPhD, Computer Science, PhD, Computer Science at McGill University
github-logo-circle

Github Skills (16)

flixel10
type-system10
compiler-design10
parsing10
back-end-development10
parse10
scala10
java9
annotations9
annotation-processing9
logic-programming9
datalog9
javas9
jvm8
programming-language8

Programming languages (5)

JavaScalaGoHTMLPython

Github contributions (5)

github-logo-circle
scala/scala3

Sep 2014 - Jul 2022

The Scala 3 compiler, also known as Dotty.
Role in this project:
userBack-end Developer
Contributions:219 reviews, 81 commits, 92 PRs in 7 years 11 months
Contributions summary:Ondrej primarily contributed to the Scala 3 compiler, specifically modifying the code to handle Java repeated parameters, implement Java scanner and parser, and enhance the global object initialization checker. They also made changes related to the reflection of mirrors, including adding annotations and adjusting the type handling of `AnnotatedType`. These modifications indicate a focus on improving the compiler's internal workings and supporting Java interoperability.
compilerscala3scaladottyepfl
flix/flix

Jul 2014 - Jun 2016

The Flix Programming Language
Role in this project:
userBack-end Developer & Compiler Engineer
Contributions:1 review, 60 commits, 6 PRs in 1 year 11 months
Contributions summary:Ondrej primarily contributed to the Flix Programming Language, focusing on compiler and parser improvements. Their work involved implementing features like C++-style comments, allowing all characters in strings, and fixing comment stripping in the parser. Additionally, they added examples, including IFDS (Interprocedural Dataflow Analysis) implementation and testing examples. The user demonstrated expertise in language parsing, compiler design, and implementing new language features.
flix-programming-languageimperativedeclarative-programmingcompilerjvm
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Ondrej Lhotak - Professor at University of Waterloo