You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is indeed something to wrap your head around but actually intended behavior.
Fundamentally, this is the difference between Arrows and Edges. Edges behave exactly like you'd expect:
using StenoGraphs, StructuralEquationModels
a =Node(:a)
b =Node(:b)
UndirectedEdge(fixed(1)*b, a) ==UndirectedEdge(a, fixed(1)*b) ==@StenoGraph(b ↔ a*fixed(1))[1]
Arrows behave that way (i.e. ignore modifiers on the left side) because they are chainable. Otherwise this would be ambiguous:
graph =@StenoGraphbegin
a ↔ b*fixed(1) ↔ c
end
More fundamentally, that already a ↔ b ↔ c is ambiguous (and why) is explained here:
Activity
brandmaier commentedon Oct 6, 2026
@aaronpeikert, can you please comment on this if you find time?
aaronpeikert commentedon Oct 7, 2026
This is indeed something to wrap your head around but actually intended behavior.
Fundamentally, this is the difference between
ArrowsandEdges.Edgesbehave exactly like you'd expect:Arrowsbehave that way (i.e. ignore modifiers on the left side) because they are chainable. Otherwise this would be ambiguous:More fundamentally, that already
a ↔ b ↔ cis ambiguous (and why) is explained here:https://aaronpeikert.github.io/StenoGraphs.jl/dev/man/arrows/