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

Add support for type-polymorphic data structures #4

Open
5 tasks
buzden opened this issue Aug 9, 2022 · 0 comments · May be fixed by #19
Open
5 tasks

Add support for type-polymorphic data structures #4

buzden opened this issue Aug 9, 2022 · 0 comments · May be fixed by #19
Assignees
Labels
code: enhancement New feature or improvement issue: compilation error When compilation error raises because of the library part: derivation Related to automated derivation of generators status: feature request Request for new functionality or improvement

Comments

@buzden
Copy link
Owner

buzden commented Aug 9, 2022

Currently derivation of generators with dependent types is supported, e.g.

gf : Fuel -> (n : Nat) -> Gen MaybeEmpty $ Fin n
gf = deriveGen

But derivation of generators for data types that are polymophic over types is not.
E.g., this does not work:

gl : Fuel -> (a : Type) -> (Fuel -> Gen MaybeEmpty a) => Gen MaybeEmpty $ List a
gl = deriveGen

The whole task can be divided to at least these subtasks:

  • Support for non-higher kinded given type arguments in covariant positions
  • Preferring given type arguments in the ordering in the least-effort constructor derivator in covariant positions
  • Support for non-higher kinded generated type arguments
  • Support for higher-kinded type arguments
  • Support for type arguments in the contravariant positions
@buzden buzden added part: derivation Related to automated derivation of generators status: feature request Request for new functionality or improvement labels Aug 9, 2022
@buzden buzden linked a pull request Aug 18, 2022 that will close this issue
@buzden buzden self-assigned this Aug 23, 2022
@buzden buzden changed the title Support for type-polymorphic data structures Add support for type-polymorphic data structures Dec 9, 2022
@buzden buzden added the code: enhancement New feature or improvement label Dec 9, 2022
@buzden buzden added the issue: compilation error When compilation error raises because of the library label Mar 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code: enhancement New feature or improvement issue: compilation error When compilation error raises because of the library part: derivation Related to automated derivation of generators status: feature request Request for new functionality or improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant