Conversation

“…when you have a component you don't know how many things to parameterise it by. Do you want to parameterise it by the type of strings, or date-times? You could do that! But by doing that you make the component more complex, and you've got to make all the choices up-front.“
1
3
I also run into similar issues with Rust's traits - where you might want to let the clients of an API customise types for efficiency, either with parameters or associated types… but that can make the API overwhelmingly complicated and prevents the use of dynamic dispatch.
1
2
Always interested in learning about other approaches to this issue, and if there are any other ideas for integrating this stuff ergonomically into dependently typed module systems!
3