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

SubListProof & ElemProof can be marked injective #9

Closed
Icelandjack opened this issue Aug 28, 2017 · 3 comments
Closed

SubListProof & ElemProof can be marked injective #9

Icelandjack opened this issue Aug 28, 2017 · 3 comments

Comments

@Icelandjack
Copy link

Type families SubListProof and ElemProof can be made injective, does that help anywhere?

type family
  SubListProof = (res :: SubList (xs :: [a]) (ys :: [a])) | res -> xs a where
  SubListProof = SubNil
  SubListProof = Keep SubListProof
  SubListProof = Drop SubListProof

type family
  ElemProof = (res :: EffElem eff a xs) | res -> eff a xs where
  ElemProof = Here
  ElemProof = There ElemProof
@goldfirere
Copy link
Owner

Perhaps, but I'm not keen on maintaining this repo as a "living document" -- so I'm going to close. If this code has been broken out into another package of mine, perhaps report there. Sorry!

@Icelandjack
Copy link
Author

No problem, I'm not trying to change the code but trying to understand these new programming patterns and how they interact

@Icelandjack
Copy link
Author

Err it exists here so I'll just.. reopen the ticket or something? ticket #1

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

2 participants