Some examples I can think of:
- Using closures as effortlessly as breathing, like
somecondition ifTrue: [ trueblock ] ifFalse: [ falseblock ].
-
Using (or thinking in terms of or wanting to use) sophisticated higher-order collection functions, such as collect: select: etc.
-
Using small, almost insignificant methods to maximize refactoring (even before we knew what to call it) and explanation.
I HaveThisPattern (have these patterns, even) and I don't even know Smalltalk. Too much PerlLanguage and CommonLisp can spoil you for ever if you have to use Java afterwards. Perhaps this page should be titled "FunctionalAccent"? -DanBarlow