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

Research programmatic generation of custom kinds with AST manipulation #61

Open
MajorLift opened this issue Sep 4, 2023 · 0 comments · May be fixed by #62
Open

Research programmatic generation of custom kinds with AST manipulation #61

MajorLift opened this issue Sep 4, 2023 · 0 comments · May be fixed by #62
Assignees
Labels
enhancement New feature or request research

Comments

@MajorLift
Copy link
Collaborator

MajorLift commented Sep 4, 2023

Motivation

Provide an interface for defining custom kinds.

  • Must be able to encapsulate arbitrary functionality and arity.
  • Must be capable of being passed into or returned from any hkt-toolbelt utility with a compatible signature.
  • Shouldn't require users to become familiar with implementation details of how hkt-toolbelt kinds are defined.

Specifications

  • Takes a stringified _$ function definition and generates a corresponding TypeAliasDeclaration.
    • Alternatively, selects existing type definition by name.
  • Takes a list of input and output types and generates InterfaceDeclarations with correct naming scheme (e.g. _T1, _T2), ordering, and function signatures.
  • Emits a module containing the generated types/interfaces to a user-defined path.

Approach

@MajorLift MajorLift linked a pull request Sep 16, 2023 that will close this issue
5 tasks
@MajorLift MajorLift added research enhancement New feature or request labels Nov 26, 2023
@MajorLift MajorLift self-assigned this Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request research
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant