Jump to content

List comprehensions: Difference between revisions

m
(→‎JS ES6: Added an alternative expression of list comprehensions, in terms of bind (>>=))
Line 1,103:
// [(x, y, z) | x <- [1..n], y <- [x..n], z <- [y..n], x ^ 2 + y ^ 2 == z ^ 2]
 
return bind(enumFromTo(1, n),
x => bind(enumFromTo(x, n),
y => bind(enumFromTo(y, n),
z => x * x + y * y === z * z ? [
[x, y, z]
] : []
)));
 
})(20);</lang>
 
{{Out}}
<lang JavaScript>[[3, 4, 5], [5, 12, 13], [6, 8, 10], [8, 15, 17], [9, 12, 15], [12, 16, 20]]</lang>
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.