Galois Tech Talk: Type Correct Changes, A Safe Approach to Version Control Implementation
Next week's tech talk, a special treat, with Jason Dagit (aka. lispy on
haskell) dropping by to talk about using GADTs to clean up darcs' patch
TITLE: Type Correct Changes A Safe Approach to Version Control Implementation
speaker: Jason Dagit
LOCATION: Galois, Inc. 421 SW 6th Ave. Suite 300 (3rd floor of the Commonwealth Building) Portland, Oregon
This will be a talk about Darcs and type safe manipulations of changes:
Darcs is based on a data model, known as Patch Theory, that sets it apart from other version control systems. The power of this data model is that it allows Darcs to manage significant complexity with a relatively straightforward user interface.
We show that Generalized Algebraic Data Types (GADTs) can be used to express several fundamental invariants and properties derived from Patch Theory. This gives our compiler, GHC, a way to statically enforce our adherence to the essential rules of our data model.
Finally, we examine how these techniques can improve the quality of the darcs codebase in practice.
Jason Dagit graduated from Oregon State University with B.S. degrees in Computer Science and Mathematics. He is currently employed at PTV America while completing his Masters degree at Oregon State under co-advisors Dr. David Roundy and Dr. Martin Erwig. During his time in graduate school he has studied both usability and programming languages. He participated in the 2007 Google Summer of Code where he worked under Dr. Roundy to improve Darcs conflict handling.
ABOUT THE GALOIS TECH TALKS:
Galois (http://galois.com) has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities.
The talks are open and free. If you're planning to attend, dropping a note to [email protected] is appreciated, but not required. If you're interested in giving a talk, we're always looking for new speakers.