First-class functions: Difference between revisions

Finished Slate implementation
(→‎{{header|J}}: Use lang tags)
(Finished Slate implementation)
Line 440:
#**`er asMethod: #compose: on: {Method traits. Method traits}.
</lang>
used as:
<lang slate>
n@(Number traits) cubed [n raisedTo: 3].
n@(Number traits) cubeRoot [n raisedTo: 1 / 3].
define: #forward -> {#cos `er. #sin `er. #cube `er}.
define: #reverse -> {#arcCos `er. #arcSin `er. #cubeRoot `er}.
 
define: #composedMethods -> (forward with: reverse collect: #compose: `er).
 
composedMethods do: [| :m | inform: (m applyWith: 0.5)].
</slate>
 
=={{header|Smalltalk}}==