zenna / Arrows.jl

14 stars 2 forks source link

Augmenting Arrows #112

Open zenna opened 6 years ago

zenna commented 6 years ago

One area which is very cumbersome is attaching XAbVaules with arrows. We basically have to keep passing both around. I realised there are a bunch of hacks that I have implemented to make this slightly easier but they become more difficult the more you nest arrows. I'm thinking about a solution that would break the least things:

Things that would need to change:

Anything else?

Other points

  1. In principle I think you should be able to augment primitive arrows, what's the best way to do this?
  2. Terminology: augment/condition/attach?
zenna commented 6 years ago

Clarifying "one technical issue": TraceValues are represented by a source TraceSubPort. That is, all TraceSubPorts in a TraceValue are those that it directly or indirectly connected to the source. But if you put a composite arrow within another arrow, some of the sources might change, so that TraceValues would have to be updated to reflect that.