# CodeMesh 2017 - Takeaways

Posted on November 13, 2017

here are some key takeaways from this year’s codemesh conference. i must say i never had such an intense conference, with lot of fascinating and mind-blowing sessions which bred lots of new or old ideas in my mind. thanks a lot to the organisers and the amazing speakers which made this event memorable.

- How to apply simple machine learning techniques and speculative execution to optimise repeated executions of programs or program fragments, caching pre-computed execution path to skip some computations,
- Using
*session types*to design applicative protocols as*finite state machines*enforced by the type system hence statically verified, with some encoding examples in haskel and idris, - An answer to the classical fizzbuzz interview test where one the y combinator and church numerals from scratch using a pure untyped λ-calculus, in the spirit of the now famous piece by Aphyr Typing the technical interview,
- Why it is actually a good idea to model
`IO`

as a monad even in an impure language like scala, as it gives the compiler the capability to verify and enforce proper use of*side effects*statically, - How messy and imprecise the
*Computer Science Metanotation*, a language which is ubiquitous in PLT research papers to define*formal systems*, has become over the past 30 or 40 years, - How to write (potentially infinite)
*towers of interpreters*, with reflection and reification capabilities between each layer, and collapse the resulting tower in a single-pass compiler. This year’s favorite, ex aequo with Tomas Petricek’s talk, - Whence does Haskell come and what’s the history of Miranda, where one learns there was no λ-calculus nor first-class functions in McCarthy’s LISP and the Programming Languages’ history is far from the linear reconstruction we often are told it is,
- Would aliens be able to understand λ-calculus which amounts to asking classical philosophy of mathematics question: Are mathematical objects
*discovered*from the the land of eternal truths they are part of or*invented*hence subjects to historical and sociological contingencies. With fascinating references to works by Lakatos and Lakoff on the history and sociology of mathematics, - What benefits one can reap from abstracting concurrent IOs with Haxl, a great library developed at Facebook by Simon Marlow,
- How to derive
*implementations*of functions from examples thanks to Barliman and logic programming with miniKanren, - The use of the concept of
*Feedback Loops*and*Feedback Structures*to design and develop complex self-regulated distributed systems.