I'm new to scala and trying hard to undestand some code. In the code below what does the type Signal[_] mean? how is it different from type Signal[T]?
class Signal[T](expr: => T) {.......}
object NoSignal extends Signal[Nothing](???) {
override def computeValue() = ()
}
object Signal {
val caller = new DynamicVariable[Signal[_]](NoSignal)
def apply[T](expr: => T) = new Signal(expr)
}
Thanks