cancelwait for the effect
0ms: good: Sleep completed 7ms: good: Cancel completed 0ms: good alt: Sleep completed 1ms: good alt: Cancel completed 0ms: bad: Cancel completed 5003ms: bad: Sleep completed
(low diff means cancel kept waiting)
uncancelablewould be to... stop overriding the default :D
val, or something else?
valueas a referentially transparent expression. Applying
pureto a value yields another value (another referentially transparent expression). Applying
pureto a non-value yields a non-value.
delayis magic because you can apply it to a non-value and get a value out
Sync[F].pure(logger.info(“…"))is used, the logger will only be called once, right?
val, normal parameters vs by-name, etc
aa value? or the literal expression you wrote?
def x = Random.nextIntvs
val b = Random.nextIntwhen you see
x + xvs
b + b