Please log in to watch this conference skillscast.
In this talk, I will describe the architecture and history of ghc-exactprint. ghc-exactprint is a library which enables programmers to easily specify refactoring operations by directly modifying the GHC AST. By leveraging the GHC parser and a suitable intermediate representation, we can refactor any haskell source file. I will also demonstrate two libraries which are already using ghc-exactprint to directly apply refactorings. HaRe has been rewritten to take advantage of this new machinery which has resulted in a significant reduction in complexity. Secondly, apply-refact automatically applies hlint suggestions. This program demonstrates one method in which the new foundation can be used in tandem with haskell-src-exts.
Join us at the Haskell eXchange in 2016!
Want to learn about the latest innovations in Haskell? Join 200+ Haskell and functional programmers to learn and share skills with some of the world's top Haskell experts at the Haskell eXchange 2016 in London. Find out all about Haskell's infrastructure roadmap, learn how Haskell is used in academia and enterprise and discover how Haskell is changing the way our industry tackles complex engineering problems. Early bird tickets already available!
YOU MAY ALSO LIKE:
- A Look Inside GHC's Optimiser (SkillsCast recorded in October 2017)
- Test Driven Development (TDD) Workshop with Damjan Vujnovic (in London on 18th - 19th July 2019)
- Functional Concurrency in .NET with C# and F# (in London on 9th - 10th September 2019)
- Haskell eXchange 2019 (in London on 10th - 11th October 2019)
- Clojure eXchange 2019 (in London on 2nd - 3rd December 2019)
- Hands-on: Fractal art with Fable and WebGL (in London on 20th June 2019)
- London Clojure July: Exploring REPL tooling with socket prepl (in London on 2nd July 2019)
- Scala 2.13 and Beyond! (SkillsCast recorded in April 2019)
- Introduction to Markov Chains in F# (SkillsCast recorded in April 2019)
A new foundation for refactoring - ghc-exactprint
I am a student at the University of Oxford studying Computer Science and Philosophy. I have contributed to a number of open source projects and twice participated in Google Summer of Code for Haskell.org