Logo

Programming-Idioms

History of Idiom 20 > diff from v39 to v40

Edit summary for version 40 by programming-idioms.org:
[Haskell] Typo searcb -> search

Version 39

2016-04-07, 07:24:10

Version 40

2016-10-28, 07:50:54

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Code
searcb x m = head [ (i, j) | (i, r) <- zip [0..] m,
                             (j, c) <- zip [0..] r, c == x]


Code
search x m = head [ (i, j) | (i, r) <- zip [0..] m,
                             (j, c) <- zip [0..] r, c == x]


Comments bubble
idiomatic list comprehension desugaring (head . findIndices (elem x) &&& head . head . filter (/=[]) . map (elemIndices x)) m
Comments bubble
Idiomatic list comprehension desugaring (head . findIndices (elem x) &&& head . head . filter (/=[]) . map (elemIndices x)) m