Here: https://fsharpforfunandprofit.com/rop/
A very practical and tangible walkthrough
Here: https://fsharpforfunandprofit.com/rop/
A very practical and tangible walkthrough
Yeah, that explanation is missing the critical point of generically applying external functions through flat_map/bind
I think this is a good explanation: https://fsharpforfunandprofit.com/rop/


In the short term, I would:
isVibrating = waveformParameters != null // may have just started
if (isVibrating) {
waveformParameters.Shape = WaveformShape.Square;
widget.UpdateWaveformParameters(waveformParameters);
}
In the longer term, unless there’s a good reason not to, I’d nudge the implementation towards having the code read more like:
widget.update(waveformParameters);
What aspects of coding?
Turing Tumble is a marble run puzzle game that’s Turing complete, i.e. in the abstract sense, it can compute anything a computer could. It implements bit flippers, logic gates, and memory using falling marbles and levers. Completely mechanical and very tactile.
For textual programming, check out Hedy, a language designed for the classroom. It stands out vs others like Scratch or Snap because Hedy is gradual. A presentation by its creator