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

Convert to Idris 2 #6

Open
marcosh opened this issue Apr 4, 2019 · 9 comments
Open

Convert to Idris 2 #6

marcosh opened this issue Apr 4, 2019 · 9 comments

Comments

@marcosh
Copy link
Contributor

marcosh commented Apr 4, 2019

We will have to consider this at some point, so I thought it would be good to put this out here.

coming from statebox/idris-stbx-core#34

@clayrat clayrat changed the title Convert to Idris 2 (Blodwen)? Convert to Idris 2? Jul 9, 2019
@clayrat
Copy link
Member

clayrat commented Jul 9, 2019

Blodwen is now deprecated so I removed it from the title

@clayrat
Copy link
Member

clayrat commented Jul 22, 2019

Issues encountered:

  • Basic.Functor.functorEq doesn’t typecheck (solved by explicitly using heterogenous equality)
  • Idris.TypesAsCategory.typesAsCategory insists on compose being (partially) eta-expanded, i.e. only \a => compose a and more verbose variants typecheck
  • Product.ProductFunctor.productFunctor doesn't infer a and b for MkProductMorphism in preserveId
  • Preorder.PreorderAsCategory doesn't typecheck unless all type-level references to transitive/reflexive are fed with po explicitly, the error is:
Can't solve constraint between:
	?__con
and
	Constraint ((Preorder t) po) conArg

@clayrat
Copy link
Member

clayrat commented Jul 22, 2019

@clayrat
Copy link
Member

clayrat commented Jul 24, 2019

  • Implicit name clashes (for j) in Free.FreeFunctor.foldPath
  • MonoidalCategory.StrictMonoidalCategory.tensorIsAssociativeMor doesn't typecheck with
Can't solve constraint between:
	mapObj tensor (a, c)
and
	a
  • Pattern-matching lambdas in MonoidalCategory.SymmetricMonoidalCategoryHelpers.swapFunctor don't change the goal, need to explicitly case-split to finish local proofs.

@clayrat clayrat changed the title Convert to Idris 2? Convert to Idris 2 Jul 29, 2019
@clayrat
Copy link
Member

clayrat commented Jul 29, 2019

  • Adding unitCoherence to MonoidalCategory.SymmetricMonoidalCategory causes the compiler to crash with Segmentation fault (core dumped).

@cxandru
Copy link

cxandru commented May 2, 2021

TypesAsCategory doesn't compile w/ Idris2 and since I'm quite new to Idris, and can't conclude this from the error messages, I wanted to ask if this might be only a superficial (syntactic, e.g.) incompatibility (and if so how to fix it), or whether it's a more fundamental problem.

@cxandru
Copy link

cxandru commented May 2, 2021

TypesAsCategory doesn't compile w/ Idris2 and since I'm quite new to Idris, and can't conclude this from the error messages, I wanted to ask if this might be only a superficial (syntactic, e.g.) incompatibility (and if so how to fix it), or whether it's a more fundamental problem.

Ok I fixed some errors by addding qualifcations to the arguments to MkCategory. But the proof for rightIdentity is failing, not for leftIdentity though, curiously enough. What could be the reason?

@cxandru
Copy link

cxandru commented May 5, 2021

It turned out to be a bug in Idris2: idris-lang/Idris2#1370

@clayrat
Copy link
Member

clayrat commented May 10, 2021

Looks like the upstream bug is fixed, is the proof going through now?

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

3 participants