Skip to content

Add support for method output port splitting#1

Open
krame505 wants to merge 89 commits intokrame505:genwrapfrom
MatX-inc:split-output-ports
Open

Add support for method output port splitting#1
krame505 wants to merge 89 commits intokrame505:genwrapfrom
MatX-inc:split-output-ports

Conversation

@krame505
Copy link
Copy Markdown
Owner

@krame505 krame505 commented Jan 8, 2026

This pull request is based on the input port splitting branch on my fork of bsc, for the sake of reviewing without seeing the changes from B-Lang-org#729.

filterZeroWidthPorts _ _ = error "filterZeroWidthPorts: non-empty port names list"

-- Helper class to conditionally convert Bit 0 to ()
class NonEmptyBits n pb | n -> pb where
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nanavati thinks this type class should have a different name. I'm unsure what to call it, though - maybeFilterEmptyBits? But that name sort of implies that we are filtering a tuple of Bit ns, while this actually deals with turning just a single Bit n into a ().

…sn't work b/c lambda bodies aren't partially evaluated before iExpandMethod.
quark17 and others added 7 commits January 15, 2026 12:21
This module only exists so that AAddSchedAssumps can create an AVInst
for mkRWire of size 1.  We could consider eliminating it by having BSC
construct the AVInst in a better way.  Until then, the interface is at
least unneeded, so remove it -- eliminating the need for RWireN.

Also remove vMkUnsafeRWire1, which is unneeded and should not have
been created (when adding unsafe versions of the real modules).
It may have been needed for the VModInfo created by vMkRWire1, but
that has been removed and testing passes without the change.  Plus,
VName should not be qualified, so better to catch if we are creating a
qualified name somewhere.
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

Successfully merging this pull request may close these issues.

3 participants