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

Update spec wrt. Polymorphism #790

Closed
acl-cqc opened this issue Jan 8, 2024 · 0 comments · Fixed by #791
Closed

Update spec wrt. Polymorphism #790

acl-cqc opened this issue Jan 8, 2024 · 0 comments · Fixed by #791
Assignees
Labels
spec Issues to do with the specification document(s)
Milestone

Comments

@acl-cqc
Copy link
Contributor

acl-cqc commented Jan 8, 2024

At present the codebase allows FunctionType's to be polymorphic, so there is the possibility of polymorphic lambdas being around as first-class values, and FuncDefns (only) can declare TypeParams (perhaps a Const node containing a Hugr rooted at a FuncDefn could produce a value of such a polymorphic type?).

Although #285 argues for simplifying this (so Consts would only contain functions of monomorphic type, and only Static edges from FuncDefn nodes would be able to carry polymorphic types), we haven't done that yet, so that'll be another spec update if we do it...

@acl-cqc acl-cqc added this to the v0.1.0 milestone Jan 8, 2024
@acl-cqc acl-cqc self-assigned this Jan 8, 2024
@ss2165 ss2165 added the spec Issues to do with the specification document(s) label Jan 8, 2024
github-merge-queue bot pushed a commit that referenced this issue Jan 15, 2024
* Move "Operation Extensionsibility" to after Type System (and up one
level), rename to "Extension System"
* Add Polymorphism section inside Type System: any `Function` type may
be polymorphic
* Clarify working of operations, including adding Appendix 3 with full
details binary `compute_signature`
* Add `OpaqueOp` as a dataflow node operation
 
fixes #790
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec Issues to do with the specification document(s)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants