This issue is a suggestion to change DimWit's behaviour regarding TensorTree.
Current case classes do not require a "derives TensorTree" as Scala can automatically derive them if needed and does so.
It would follow our explicit design, if we can force the user to write this explicitly and throw an "implicit not found" in case the user forgets. Maybe Float tree can be kept implicit as it is a property of the tree, not the case class.
// no TensorTree operations (currently this works and TensorTree operations are supported!)
case class Params(
weights: Tensor2[A, B, Float],
bias: Tensor1[B, Float],
)
// Allow TensorTree operations
case class Params(
weights: Tensor2[A, B, Float],
bias: Tensor1[B, Float],
) derives TensorTree
This issue is a suggestion to change DimWit's behaviour regarding TensorTree.
Current case classes do not require a "derives TensorTree" as Scala can automatically derive them if needed and does so.
It would follow our explicit design, if we can force the user to write this explicitly and throw an "implicit not found" in case the user forgets. Maybe Float tree can be kept implicit as it is a property of the tree, not the case class.