by Roman Elizarov on May 19, 2022 | Tags: compilers, kotlin, language design, programming languages
Real programming languages are living things, changing and evolving. As with any production code, most of their designer’s time is spent on bug fixing and small improvements, rather than on the radical new features. One of the unique things about Kotlin is that it has been evolving in the use-case and community-driven fashion for years, starting way before it went to the stable 1.0 release in 2016, even for some time before it went public in 2011. Language design in the real world is a maintenance of a complex system and it runs into novel research questions with respect to type systems, feature interactions, usability, real-life code patterns in big code, etc.
Read more...
by Sara Achour on Dec 14, 2021 | Tags: compilers, hardware, optimization, unconventional computing
Modern analog computers a host of analog behaviors that affect the fidelity of the mapped computation. How can we mitigate these analog behaviors in compilation?
Read more...
by Kesha Hietala and Robert Rand on Jun 2, 2021 | Tags: compilers, formal verification, optimization, proof engineering, quantum computing
Learn how techniques from traditional compiler verification can be applied to the emerging domain of quantum computing.
Read more...
by Alastair Donaldson and David MacIver on May 25, 2021 | Tags: compilers, debugging, fuzzing, optimization, program understanding, slicing, test case reduction, testing
Did you think test case reduction was all about debugging? Find out how test case reducers can be used for program optimisation, to generate high coverage tests, for program understanding, and even for fuzzing!
Read more...
by Sara Achour on May 18, 2021 | Tags: compilers, hardware, program synthesis, unconventional computing
Modern analog computers offer unique programming challenges which make them challenging compilation targets. How do we automatically program an analog computer to implement a computation?
Read more...