On a similar line - I’ve often noticed that an interesting block pattern in Smalltalk which is overlooked in other languages is how we handle errors through them.
We often don’t throw exceptions but instead pass a useful block (and often 2) for what to do instead. at:ifAbsent: comes to mind or at:ifPreset:ifAbsent: leading you to do interesting things yourself like parseSource:onErrorRecoverWith: (or whatever). I think this makes an interesting point about our block flexibility. Tim Sent from my iPhone Sent from my iPhone >> On 15 May 2019, at 19:37, Konrad Hinsen <konrad.hin...@fastmail.net> wrote: >> >> Am 15.05.19 um 15:26 schrieb Atharva Khare: >> >> I think in python, you use Lambda Expressions. Here is how I would do it in >> python3: >> import math >> f = lambda x: math.cos(x) + x >> d_f = lambda x: (f(x + 1e-8) - f(x)) * 1e8 > > Lambda expressions are indeed Python's anonymous functions, but no Python > programmer would create a lambda expression only to assign it to a variable. > Doing this in an article to "sell" Smalltalk might well have the opposite > effect. > > Konrad. >