package
qscript
Type Members
-
sealed abstract
class
Binary[T[_[_]], A] extends MapFuncCore[T, A]
-
-
trait
Branches[T[_[_]], IN[_]] extends AnyRef
-
-
-
type
CoEnvMap[T[_[_]], A] = CoEnv[Hole, [β$75$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$75$], A]
-
type
CoEnvMapA[T[_[_]], A, B] = CoEnv[A, [β$75$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$75$], B]
-
type
CoEnvQS[T[_[_]], A] = CoEnv[Hole, [β$74$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$74$], A]
-
sealed abstract
class
DeadEnd extends AnyRef
-
-
-
final
case class
EquiJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], key: slamdata.Predef.List[(FreeMap[T], FreeMap[T])], f: JoinType, combine: JoinFunc[T]) extends Product with Serializable
-
-
-
-
-
-
-
-
type
FreeMap[T[_[_]]] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], Hole]
-
type
FreeMapA[T[_[_]], A] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], A]
-
type
FreeQS[T[_[_]]] = Free[[β$72$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$72$], Hole]
-
sealed abstract
class
Hole extends AnyRef
-
sealed abstract
class
IdStatus extends AnyRef
-
-
type
JoinFunc[T[_[_]]] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], JoinSide]
-
sealed abstract
class
JoinSide extends AnyRef
-
sealed abstract
class
JoinSide3 extends AnyRef
-
-
-
type
MapFunc[T[_[_]], A] = Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], A]
-
sealed abstract
class
MapFuncCore[T[_[_]], A] extends AnyRef
-
sealed abstract
class
MapFuncDerived[T[_[_]], A] extends AnyRef
-
sealed abstract
class
Nullary[T[_[_]], A] extends MapFuncCore[T, A]
-
-
sealed abstract
class
ProjectBucket[T[_[_]], A] extends AnyRef
-
type
QScript[T[_[_]], A] = Coproduct[[β$36$]QScriptCore[T, β$36$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [β$35$]Const[DeadEnd, β$35$], A], A]
-
sealed abstract
class
QScriptCore[T[_[_]], A] extends slamdata.Predef.Product with slamdata.Predef.Serializable
-
type
QScriptEducated[T[_[_]], A] = Coproduct[[β$23$]QScriptCore[T, β$23$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [A]Coproduct[[β$21$]Const[Read[Path[Abs, Dir, Sandboxed]], β$21$], [β$22$]Const[Read[Path[Abs, File, Sandboxed]], β$22$], A], A], A]
-
type
QScriptRead[T[_[_]], A] = Coproduct[[β$45$]QScriptCore[T, β$45$], [A]Coproduct[[β$42$]ThetaJoin[T, β$42$], [A]Coproduct[[β$43$]Const[Read[Path[Abs, Dir, Sandboxed]], β$43$], [β$44$]Const[Read[Path[Abs, File, Sandboxed]], β$44$], A], A], A]
-
type
QScriptShiftRead[T[_[_]], A] = Coproduct[[β$55$]QScriptCore[T, β$55$], [A]Coproduct[[β$52$]ThetaJoin[T, β$52$], [A]Coproduct[[β$53$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$53$], [β$54$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$54$], A], A], A]
-
type
QScriptTotal[T[_[_]], A] = Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], A]
-
type
QScriptTotal0[T[_[_]], A] = Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], A]
-
type
QScriptTotal1[T[_[_]], A] = Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], A]
-
type
QScriptTotal2[T[_[_]], A] = Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], A]
-
type
QScriptTotal3[T[_[_]], A] = Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], A]
-
type
QScriptTotal4[T[_[_]], A] = Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], A]
-
type
QScriptTotal5[T[_[_]], A] = Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], A]
-
type
QScriptTotal6[T[_[_]], A] = Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], A]
-
-
-
sealed abstract
class
ReduceFunc[A] extends AnyRef
-
final
case class
ReduceIndex(idx: \/[slamdata.Predef.Int, slamdata.Predef.Int]) extends Product with Serializable
-
-
-
-
final
case class
Sort[T[_[_]], A](src: A, bucket: slamdata.Predef.List[FreeMap[T]], order: NonEmptyList[(FreeMap[T], SortDir)]) extends QScriptCore[T, A] with Product with Serializable
-
-
-
sealed abstract
class
Ternary[T[_[_]], A] extends MapFuncCore[T, A]
-
-
final
case class
ThetaJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], on: JoinFunc[T], f: JoinType, combine: JoinFunc[T]) extends Product with Serializable
-
trait
Trans[F[_], M[_]] extends AnyRef
-
sealed abstract
class
Unary[T[_[_]], A] extends MapFuncCore[T, A]
-
-
-
-
Value Members
-
def
::/::[T[_[_]], F[_], G[_]](implicit F: :<:[F, [β$95$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$95$]], G: :<:[G, [β$96$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$96$]]): Aux[[γ$97$]Coproduct[F, G, γ$97$], [β$98$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$98$]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
def
HoleF[T[_[_]]]: FreeMap[T]
-
def
HoleQS[T[_[_]]]: FreeQS[T]
-
-
-
-
-
-
-
-
-
-
def
LeftSideF[T[_[_]]]: JoinFunc[T]
-
object
MFC
-
object
MFD
-
-
-
-
-
-
-
-
object
QCE
-
object
QCT
-
-
-
-
-
-
-
def
ReduceIndexF[T[_[_]]](i: \/[slamdata.Predef.Int, slamdata.Predef.Int]): FreeMapA[T, ReduceIndex]
-
-
-
-
def
RightSideF[T[_[_]]]: JoinFunc[T]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
def
educatedToTotal[T[_[_]]]: Aux[[β$24$]Coproduct[[β$23$]QScriptCore[T, β$23$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [A]Coproduct[[β$21$]Const[Read[Path[Abs, Dir, Sandboxed]], β$21$], [β$22$]Const[Read[Path[Abs, File, Sandboxed]], β$22$], A], A], β$24$], [β$25$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$25$]]
-
def
injectRepeatedly[F[_], G[_], A](op: (F[A]) ⇒ slamdata.Predef.Option[G[A]])(implicit F: :<:[F, G]): (F[A]) ⇒ G[A]
-
-
implicit
def
qScriptReadToQscriptTotal[T[_[_]]]: Aux[[β$46$]Coproduct[[β$45$]QScriptCore[T, β$45$], [A]Coproduct[[β$42$]ThetaJoin[T, β$42$], [A]Coproduct[[β$43$]Const[Read[Path[Abs, Dir, Sandboxed]], β$43$], [β$44$]Const[Read[Path[Abs, File, Sandboxed]], β$44$], A], A], β$46$], [β$47$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$47$]]
-
implicit
def
qScriptShiftReadToQScriptTotal[T[_[_]]]: Aux[[β$56$]Coproduct[[β$55$]QScriptCore[T, β$55$], [A]Coproduct[[β$52$]ThetaJoin[T, β$52$], [A]Coproduct[[β$53$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$53$], [β$54$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$54$], A], A], β$56$], [β$57$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$57$]]
-
implicit
def
qScriptToQscriptTotal[T[_[_]]]: Aux[[β$37$]Coproduct[[β$36$]QScriptCore[T, β$36$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [β$35$]Const[DeadEnd, β$35$], A], β$37$], [β$38$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$38$]]
-
package
qsu
-
def
rebase[M[_], A](in: M[A], key: M[A])(implicit arg0: Bind[M]): M[A]
-
def
rebaseT[T[_[_]], F[_]](target: FreeQS[T])(src: T[F])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$81$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$81$]]): slamdata.Predef.Option[T[F]]
-
def
rebaseTCo[T[_[_]], F[_]](target: FreeQS[T])(srcCo: T[[γ$83$]CoEnv[Hole, F, γ$83$]])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$84$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$84$]]): slamdata.Predef.Option[T[[γ$85$]CoEnv[Hole, F, γ$85$]]]
-
The various representations of an arbitrary query, as seen by the filesystem connectors, along with the operations for dealing with them.
There are a few patterns that are worth noting: -
(src: A, ..., lBranch: FreeQS[T], rBranch: FreeQS[T], ...)
– used in operations that combine multiple data sources (notably joins and unions). This holds the divergent parts of the data sources in the branches, with SrcHole indicating a reference back to the commonsrc
of the two branches. There is not required to be a SrcHole. -Free[F, A]
– we use this structure as a restricted form of variable binding, whereF
is some pattern functor, andA
is some enumeration that has a specific referent. E.g., FreeMap is a recursive structure of MapFunc that has a single “variable”, SrcHole, which (usually) refers to thesrc
parameter of that operation. JoinFunc, FreeQS, and therepair
parameter to Reduce behave similarly. - We use the type parameterQS[_]
to indicate QScript, as well as the type parametersIN[_]
andOUT[_]
to indicate the input and output coproducts in transformations where they can be different.