You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More of a discussion piece than an issue, but I was wondering if the ideas in parts one and two of Well-Typed's look at improving compilation times for large records and generic code can/should be applied to generics-sop. I haven't done any benchmarks, but it seems likely that the issues discussed there would likely affect foo-sop, and it might be possible to provide generic machinery to allow all users to avoid slow compilation.
The text was updated successfully, but these errors were encountered:
Regarding part 1. You'll see that there's a lot of discussion of generics-sop in that post, and if we had seen an easy way to integrate large-records, we would have. As it stands, there are several aspects of the large-records work that make it substantially different and more limited, so it seemed better to do it as its own library.
Regarding part 2. In principle, we could experiment with using the type-level sharing and the plugin for the specific situations where they would help. This should in particular be the case in the TH-generated from and to functions, where for large datatypes, we write a large literal which would suffer from quadratic Core size. We have not done that yet, because even if that is done, other sources of quadratic behaviour remain, as described in part 1, e.g. the constraint handling.
More of a discussion piece than an issue, but I was wondering if the ideas in parts one and two of Well-Typed's look at improving compilation times for large records and generic code can/should be applied to generics-sop. I haven't done any benchmarks, but it seems likely that the issues discussed there would likely affect foo-sop, and it might be possible to provide generic machinery to allow all users to avoid slow compilation.
The text was updated successfully, but these errors were encountered: