descript-lang-0.2.0.0: test-resources/examples/Import.ModFunc.Workaround.dscr
//Uses the same exact function (`Square`) with 2 different definitions
//of an inner function (`Mult`), without using import parameters.
module Examples>Import
import Import>Math>Square{Mult, Square}
import Import>Math>Vector{Vec3, Dot, Cross}
SqDot[a].
SqCross[a].
MultWrap[val, func].
MultDot[].
MultCross[].
Res[dotProduct, crossProduct].
VecA[].
SqDot[a]: Square[MultWrap[a, func: MultDot[]]]
SqCross[a]: Square[MultWrap[a, func: MultCross[]]]
Mult[
left: MultWrap[val, func: MultDot[]]
right: MultWrap[val, func: MultDot[]]
]: Dot[left>val, right>val]
Mult[
left: MultWrap[val, func: MultCross[]]
right: MultWrap[val, func: MultCross[]]
]: Cross[left>val, right>val]
VecA[]: Vec3[x: 5, y: 4, z: 10]
Res[
dotProduct: SqDot[VecA[]]
crossProduct: SqCross[VecA[]]
]?