Michał is Haskell developer with experience both with empirical science, and commercial environment.
Software engineer with an extensive experience in developing research software in Haskell, and Python. His expertise spans from DSL design, parsing, to computational simulations. As a polyglot programmer he also used many other languages, including SQL, C/C++, Perl, SML, OCaml, FORTRAN. Best contact him on Keybase
We make a toy model of debugging process and see how it is affected by different programming techniques, methodologies, and stylistic choices. This allows us to make a case for functional programming and mathematically founded programming in general. It also points at how different IDE mechanism may further help a functional programmer in debugging her programs.
Authors: Michał J. Gajda & Mikhail Lazarev
In this presentation, Michał presents a reseach where he and Mikhail Lazarev expands on these results. They propose a modular framework for defining type systems of programming languages as learning algorithms subject to a set of equations, and evaluate its performance on inference of Haskell data types from JSON API examples."
Property testing is the cheapest and most precise way of building up a test suite for your program. Especially if the datatypes enjoy nice mathematical laws. But it is also the easiest way to make it run for an unreasonably long time. We prove a connection between deeply recursive data structures, and epidemic growth rate, and show how to fix the problem, and make Arbitrary instances run in linear time with respect to the assumed test size. We also provide a fully generic implementation, so the error-prone coding process is removed.