StockFlow.jl icon indicating copy to clipboard operation
StockFlow.jl copied to clipboard

Open fails when given no feet

Open neonWhiteout opened this issue 1 year ago • 3 comments

julia> OpenStockAndFlowF{Symbol, Symbol, Int8}(StockAndFlowF())
ERROR: Empty list of legs but no apex given
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] Multicospan(legs::StaticArraysCore.SVector{0, Union{}})
   @ Catlab.CategoricalAlgebra.FreeDiagrams ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/FreeDiagrams.jl:175
 [3] (SMulticospan{0, Ob, Hom, <:StaticArraysCore.StaticArray{Tuple{0}, Hom, 1}} where {Ob, Hom})()
   @ Catlab.CategoricalAlgebra.FreeDiagrams ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/FreeDiagrams.jl:185
 [4] (StructuredMulticospan{Catlab.CategoricalAlgebra.StructuredCospans.DiscreteACSet{StockAndFlow0, StockAndFlowF}})(::StockAndFlowF)
   @ Catlab.CategoricalAlgebra.StructuredCospans ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/StructuredCospans.jl:267
 [5] top-level scope
   @ REPL[25]:1

neonWhiteout avatar Aug 31 '23 21:08 neonWhiteout

(same error when doing Open(StockAndFlowF()) )

neonWhiteout avatar Aug 31 '23 21:08 neonWhiteout

Trying to deal with cases where you're composing StockFlows with an empty list of feet.

Could provide feet with no stocks and flows to every sf, though that doesn't seem like a good solution.

neonWhiteout avatar Aug 31 '23 22:08 neonWhiteout

I think you specify the empty interfaces as the empty list [] as opposed to a missing argument.

jpfairbanks avatar Sep 28 '23 11:09 jpfairbanks