has anyone ever researched/documented the interaction between encoding a large number of effects/dependent-types and API evolution? I'm concerned "usable" forms require lots of inference, which means lots of potential breaking changes to public APIs.
I don't know that I can give a better answer than "it depends". Maybe you should ask an Idris programmer. ;) For Diesel we work around this by "the public API for the result of this method is this helper type w/ the same name". Associated type values are generally private
-
-
r.e. your list of things worth encoding, I think the only one that's really worth doing is constexpr and maybe i/o purity (I generally always lean towards "this type does I/O, other types take this one as an arg" regardless so I don't care as much)
-
I do think that *in general* spending a lot of time considering how changes will affect your users goes a very long way. If everybody in OSS did this, we would have a lot fewer of these discussions
- 5 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.