This presentation was recorded at YOW! 2019. #GOTOcon #YOW https://yowcon.com Tony Morris - Software Engineer at Simple Machines RESOURCES https://tmorris.net https://www.linkedin.com/in/tony-morris-1961a02 https://github.com/tonymorris ABSTRACT Trees That Grow *(Najd, Shayan and Peyton-Jones, Simon, 2016)* is proposed as a solution to a problem that regularly affects authors of deep and detailed algebraic structures. A #DataStructure denoting a syntax tree for a #ProgrammingLanguage is typically very intricate and a small alteration deep in the tree can affect all siblings and parents of that tree. For example, adding a minor language feature to a syntax tree can have flow-on effects for the remainder of the tree. Classy lenses & prisms are a very powerful tool to overcome this common issue, which we will look at in this talk, but we will primarily look at another more recent proposal in #TreesThatGrow (#TTG) to contrast and explore. Although this general problem is canonically explained in terms of a programming language syntax tree (such as lambda calculus), we will also look at another application in aviation where TTG has been used to implement a flexible data structure tree in aviation documentation. The outcome of the talk is to provoke a discussion about this common programming problem, and the methods and trade-offs by which it might be overcome. TTG is also proposed as a solution to extending the #Haskell programming language in the #GlasgowHaskellCompiler (#GHC). Overall, the audience will get a good feel for the details of the problem that we are dealing with, then we explore some of the methods by which we can mitigate the problem, with an emphasis on gaining an understanding for Trees That Grow. [...] RECOMMENDED BOOKS Vitaly Bragilevsky • Haskell in Depth • https://amzn.to/3EXpmbe Rebecca Skinner • Effective Haskell • https://amzn.to/3VgUKsh Graham Hutton • Programming in Haskell • https://amzn.to/3Fi8rBC John Whitington • Haskell from the Very Beginning • https://amzn.to/3VmX68R https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.facebook.com/GOTOConferences #FunctionalProgramming #SoftwareEngineering #Programming #TonyMorris #YOWcon Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConferences/?sub_confirmation=1
Get notified about new features and conference additions.