12 | %language ElabReflection
17 | ||| Expand shortened string diagram notation into a full expression.
18 | |||
19 | ||| This takes two additional parameters: `obj`, which is a wildcard
20 | ||| expression used when passing objects as parameters, and `impl`,
21 | ||| which is the `Braided` implementation the expansion will use.
22 | export
34 | where
84 | ||| Enter string diagram notation (for `Braided`).
85 | |||
86 | ||| This elaboration script must be specifically invoked with
87 | ||| `%runElab`. The category is inferred from the return type, but
88 | ||| the tensor product must be passed as an explicit argument.
89 | |||
90 | ||| NOTE: This notation is intended for use with symmetric monoidal
91 | ||| categories, and may be confusing if used in the non-symmetric
92 | ||| braided case. If your category is non-symmetric, it may be better
93 | ||| to use the string diagram notation for `Monoidal` and insert
94 | ||| explicit braiding calls.
95 | export