I am a compiler developer with 5+ years of experience. I am interested in all aspects of programming language design and implementation.
Indiana University - Bloomington, Indiana, USA. Masters in Computer Science. January 2015 - December 2016.
TOBB University of Economics and Technology - Ankara, Turkey. BSc in Computer Engineering. August 2009 - August 2014.
Google, Senior Software Engineer (Feb 2022 - ongoing)
I’m working on the Dart programming language.
DFINITY, Software Engineer (Jun 2020 - Dec 2021)
Well-Typed, Haskell consultant (Jan 2018 - Jun 2020):
I was one of the maintainers of the Glasgow Haskell Compiler (GHC). I started contributing to GHC in 2015 and I spent between 30 and 40 hours a week working on GHC between January 2018 - Jun 2020.
Some examples of my work:
I worked on the design and implementation of a new concurrent garbage collector for GHC. Our work was presented at MuniHac 2018. The GC is shipped with GHC 8.10.
I debugged and fixed many tricky bugs. Some examples are:
Picus Security, Software Engineer (Haskell) (Jan 2017 - Jan 2018):
Shipped 30,000+ lines of Haskell (excluding comments and whitespace) implementing most of the server and client programs. Designed wire protocols (for client-server communication) and REST APIs (for UIs).
Microsoft Research, Cambridge. Research Intern (Jun 2016 - Sep 2016):
Worked with Simon Peyton Jones on various GHC projects. Two of the bigger projects are: designing and implementing a new intermediate language for GHC (to replace Core), and implementing a new representation for sum types. The latter is and available to users with -XUnboxedSums flag in GHC 8.2.1 and later.
Indiana University, Master of Science in Computer Science (Jan 2015 - Dec 2016):
Started as a PhD student but switched to masters. Worked with the programming language team, with focus on optimizing Haskell. Some of the other interests during this time: multi-stage programming, partial evaluation, supercompilation, JIT compilation.
Runtime Verification (Sep 2014 - Dec 2014):
Worked on K Framework as a software engineer. Maintained ktest (testing framework), and worked on implementation of a new intermediate language.
Google Summer of Code for Haskell (Jun 2014 - Aug 2014):
Soostone - 2014 (Jan 2014 - Apr 2014):
Worked as Haskell Software Engineer.
Formal Systems Laboratory, University of Illinois at Urbana-Champaign. 3.5-month internship (Sep 2013 - Dec 2013):
Worked on K Framework, a rewrite-based executable semantics framework for programming languages, type systems and formal analysis tools. Advised by Prof. Grigore Roşu.
Ozyegin University, Istanbul, Turkey. 3.5 month internship (Jan 2013 - Apr 2013):
Developed an interpreter for a statically typed multi-staged programming language with subtyping, row polymorphism, and type inference. Performed extensive literature reading. Implemented in OCaml. Advised by Prof. Barış Aktemur.
OBSS, Istanbul, Turkey. 2012, 3.5-month internship (Jan 2012 - Apr 2012):
Developed a simple static analysis tool for GrayMound, a Java framework based on J2EE and an Eclipse plugin.
TUBITAK (The Scientific and Technological Research Council of Turkey), Kocaeli, Turkey. 4-week internship (Aug 2011):
Developed a web UI for PiSi, package manager of Pardus (a GNU/Linux distribution).
Ryan R. Newton, Ömer S. Ağacan, Sam Tobin-Hochstadt, Peter Fogg. Parallel Type-checking with Haskell using Saturating LVars and Stream Generators. Published at PPoPP 2015. [link]
Edward Z. Yang, Giovanni Campagna, Ömer S. Ağacan, Ahmed El-Hassany, Abhishek Kulkarni, Ryan Newton. Efficient communication and Collection with Compact Normal Forms. Published at ICFP 2015. [link]
Michael D. Adams and Ömer S. Ağacan. Indentation-sensitive parsing for Parsec. Published at Haskell Symposium 2014. [link]
Indiana University - Bloomington, Indiana, USA. Masters in Computer Science. 2015 - 2016.
TOBB University of Economics and Technology - Ankara, Turkey. BSc in Computer Engineering. 2009 - 2014.