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

WIP: quotients #48

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open

WIP: quotients #48

wants to merge 34 commits into from

Conversation

marcosh
Copy link
Contributor

@marcosh marcosh commented Sep 10, 2019

No description provided.

marcosh and others added 30 commits June 11, 2019 08:39
@marcosh marcosh changed the title (WIP) quotients WIP: quotients Sep 10, 2019
Copy link
Contributor Author

@marcosh marcosh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andrek-sbox some questions just to get a better understanding:

  • would it be useful/wise/feasible to define quotients for a general category and only for types and functions as it is now?
  • is the UnsageQuotient really unsafe? Is it just that a proof of safety is postulated or is there the possibility of doing real harm?
  • what is the exact role of extra in FreeQuotients?

@andrek-sbox
Copy link

  • I'm not aware of any good way of defining quotients for general categories. While there are ways to define something like an equivalence relation in a more general setting, I'm not aware of a definitive way of doing so. Another way would be with coequalizers, but I'm not sure if this would be usable in practice.
  • it's just called Unsafe because it uses a postulate. I'm reasonably sure that you cannot prove False with it.
  • It is used to extend the datatypes later. Note that FC's, FMC's and FSMC's are all just extensions of eachother, but they can share no code if we define them independently. extra lets us essentially add constructors later on. If this turns out later to be too complicated, we can also make it different types.

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

Successfully merging this pull request may close these issues.

4 participants