Monads/List monad: Difference between revisions

→‎{{header|AppleScript}}: Renamed 2 script objects for better ratio of signal-to-noise
(→‎{{header|AppleScript}}: Some simplification - normalised argument sequence in a couple of higher-order functions)
(→‎{{header|AppleScript}}: Renamed 2 script objects for better ratio of signal-to-noise)
Line 27:
-- pythagoreanTriples :: Int -> [(Int, Int, Int)]
on pythagoreanTriples(maxInteger)
script lambdaXX
on lambda(xX)
script lambdaYY
on lambda(yY)
script lambdaZZ
on lambda(zZ)
if xX * xX + yY * yY = zZ * zZ then
unit([xX, yY, zZ])
else
[]
Line 41:
end script
bind(lambdaZZ, range(1 + yY, maxInteger))
end lambda
end script
bind(lambdaYY, range(1 + xX, maxInteger))
end lambda
end script
bind(lambdaXX, range(1, maxInteger))
end pythagoreanTriples
Line 129:
end if
end mReturn
 
</lang>
 
9,655

edits