-
Notifications
You must be signed in to change notification settings - Fork 5
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
Modular Types with Higher Kinds #98
base: master
Are you sure you want to change the base?
Conversation
- this representation makes it easier to talk about functors.
- Note: there is a bug in Respectful.v
I'm thinking that I will leave in |
@jesper-bengtson We should see if |
@mmalvarez would you be up for doing a code review before this gets merged? |
The library code is done, but the interface is not very usable without patterns. Unfortunately, this is just an aspect of Coq usability, dependent pattern matching does not have good enough heuristics. |
This is an extension to @mmalvarez's work on core types that includes support for higher kinds, e.g. you have a deep embedding of types that are not of sort
Type
.For example, there is a representation of
option
rather thanoption T
for someT
. This makes it possible to implement more sophisticated structures, e.g. functors, applicatives, and monads, that can not be represented in without higher-order types.Note: Not yet ready to merge.