Simplex
object Simplex mixes in SimplexOps (SimplexOps.scala) rather than the trait's methods living as a separate top-level extension clause: extension methods declared here, in the opaque type's own companion object, are found via the receiver type's implicit scope, not via blanket top-level visibility across the package -- the fix for the same-named top-level extension collisions documented in .claude/WORKLOG-cubical.md and .claude/WORKLOG-extension-companion-objects.md. underlying moved in here for the same reason, even though nothing currently collides on that name -- keeping every Simplex[VertexT]-receiver extension routed through one place is what makes the guarantee "a future opaque type may reuse this name" actually hold.
asSimplex (below, top-level, NOT moved in here) is a real exception to that, not an oversight: its RECEIVER is SortedSet[VertexT], not Simplex[VertexT] -- companion-object-based extension lookup is keyed by the receiver type, so an extension on SortedSet[VertexT] placed inside Simplex's companion is simply never found from a SortedSet[VertexT] receiver (confirmed the hard way: moving it here broke every .asSimplex call site in this file with "value asSimplex is not a member of SortedSet[VertexT]"). It stays a top-level extension on purpose; it was never part of the collision in the first place (asSimplex/asCube don't share a name), so it doesn't need to move for that reason either.
Attributes
- Experimental
- true
- Graph
-
- Supertypes
- Self type
-
Simplex.type
Members list
Extensions
Extensions
Inherited extensions
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps
Attributes
- Inherited from:
- SimplexOps