-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: Allow "Row Variables" declared as List<Type> (#804)
* Add a RowVariable variant of Type(Enum) that stands for potentially multiple types, created via Type::new_row_var_use. * This can appear in a TypeRow, i.e. the TypeRow is then of variable length; and can be instantiated with a list of types (including row vars) or a single row variable * Validation enforces that RowVariables are not used directly as wire/port types, but can appear *inside* other types * OpDef's may be polymorphic over RowVariables (allowing "varargs"-like operators equivalent to e.g. MakeTuple); these must be replaced by non-rowvar types when instantiating the OpDef to an OpType * FuncDefn's/FuncDecl's may also be polymorphic over RowVariables as long as these are not directly argument/result types * Also add TypeParam::new_sequence closes #787 BREAKING CHANGE: Type::validate takes extra bool (allow_rowvars); renamed {FunctionType, PolyFuncType}::(validate=>validate_var_len). --------- Co-authored-by: doug-q <[email protected]>
- Loading branch information
Showing
19 changed files
with
912 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.