Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instance arguments #13

Open
brendanzab opened this issue Mar 29, 2018 · 3 comments
Open

Instance arguments #13

brendanzab opened this issue Mar 29, 2018 · 3 comments

Comments

@brendanzab
Copy link
Member

brendanzab commented Mar 29, 2018

Once we get dependent records in #2 it would be nice to then be able to use them to implement typeclasses/modules. Instance arguments would give us the ability to automatically pass instances to functions. I think this might actually be easier to implement than implicit arguments (see #8).

Resources:

@brendanzab
Copy link
Member Author

Interesting paper on open type classes: Improving Typeclass Relations by Being Open - this seems to solve one of my annoyances with type class hierarchies, namely how to evolve them over time. It would be interesting to see whether it would still work in a non-coherent world. 🤔

@brendanzab
Copy link
Member Author

@theindigamer has posted this nice article describing some of the design space of implicit module systems: Principled ad-hoc polymorphism.

@brendanzab
Copy link
Member Author

@buggymcbugfix also points to Named Instances - this seems to be a similar solution to the others posted here, but with a view towards retrofitting it onto Haskell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant