Updating Immutable Code
fragnix
1 is an ongoing exploration of fragment-based code distribution. Instead of packages as the unit of distribution, fragnix
allows sharing and reusing individual functions, data types, type classes and instances as slices. Slices depend on other slices. A key idea is that slices are immutable. They are addressed by a hash of their content and their dependencies. This key idea is shared by other projects, for example Unison 2.
Code evolves over time. How can we cope with this change if slices are immutable? Our proposed solution is a fist-class notion of updates. Updates can be named, shared, and applied to other code bases. We will demonstrate typical workflows during development of applications and libraries with fragnix
.
In a second part of the talk we will discuss how fragnix
deals with type class instances. This is related to the more general “orphan instance problem” and how packages have to add dependencies to define type class instances. This might add to the more general discussion on those topics.
Fri 28 AugDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 12:00 | |||
09:00 22mTalk | Asterius: bringing Haskell to WebAssembly HIW | ||
09:22 22mTalk | Multiple Home Units HIW Hannes Siebenhandl None | ||
10:00 35mTalk | Lightning Talks 1 HIW | ||
10:35 22mTalk | Sweet Egison: a Haskell Library for Non-Deterministic Pattern Matching HIW Satoshi Egi Rakuten Institute of Technology, Rakuten, Inc. / The University of Tokyo, Akira Kawata Kyoto University, Mayuko Kori The University of Tokyo, Hiromi Ogawa University of Tsukuba | ||
10:57 22mTalk | Updating Immutable Code HIW | ||
11:19 12mTalk | GHC Status Update HIW | ||
11:31 29mBreak | Social break HIW |