Nested function: Difference between revisions
m
→{{header|AppleScript}}: Tidied.
(Added XPL0 example.) |
m (→{{header|AppleScript}}: Tidied.) |
||
Line 97:
=={{header|AppleScript}}==
<lang AppleScript>
-- makeList :: String -> String
Line 115:
end makeList
on run
Line 123:
-- mReturn :: First-class m => (a -> b) -> m (a -> b)
on mReturn(f)▼
f▼
else▼
script▼
property |λ| : f▼
end script▼
end if▼
-- map :: (a -> b) -> [a] -> [b]
on map(f, xs)
-- The list obtained by applying f
-- to each element of xs.
tell mReturn(f)
set lng to length of xs
Line 135 ⟶ 150:
return lst
end tell
end map</lang>
▲-- Lift 2nd class handler function into 1st class script wrapper
▲on mReturn(f)
▲ if class of f is script then
▲ f
▲ else
▲ script
▲ property |λ| : f
▲ end script
▲ end if
▲end mReturn</lang>
{{Out}}
<pre>1. first
|