Carte appliqué à plusieurs arguments en Haskell

Est-il un moyen d'utiliser Haskell "carte" ou quelque chose de similaire avec plusieurs arguments?

c'est à dire à trouver la distance entre un point donné (défini comme un n-uplet) et une liste d'autres points:

map distance (-3,-3) buildings

Clairement, cela ne fonctionne pas, parce qu'il essaie de carte "à distance" (-3,-3), où la distance n'attend deux tuples:

let distance pointA pointB = sqrt ( (frst pointB - frst pointA) * (frst pointB - frst pointA) + (scnd pointB - scnd pointA) * (scnd pointB - scnd pointA) )

distance prend deux points comme arguments: l'un est (-3,-3) dans cet exemple, et l'on est sélectionné à partir de la liste des "bâtiments".

(-3,-3) est juste un exemple. Ce devra être une variable; il ne peut pas être codé en dur dans la fonction.

Peut-être que cela fera un peu plus de sens:

buildings = [(3,-2),(2,1),(5,3),(4,3),(4,-1)]

firstDiff pointA pointB = subtract ( fst pointA ) ( fst pointB )

secondDiff pointA pointB = subtract ( snd pointA ) ( snd pointB )

distance pointA pointB = sqrt ( (firstDiff pointA pointB) * (firstDiff pointA pointB) +     (secondDiff pointA pointB) * (secondDiff pointA pointB))

--- What I need to happen here is a list "score" to be created by taking all distances from a point in a list lPoints to a point in list buildings.

OriginalL'auteur Jason B | 2010-03-01