Je ne suis pas un programmeur Haskell, mais je suis curieux de connaître les questions suivantes.Quiz Haskell: une simple fonction
spécification de la fonction informelle:
Soit mondePlan une fonction qui prend une fonction appelée F et plusieurs listes. Il renvoie une liste contenant les résultats de l'appel de F avec un argument de chaque liste dans chaque combinaison possible.
Exemple:
Appel mondePlan avec F étant une fonction qui renvoie simplement une liste de ses arguments, et deux listes. Une des listes contient les entiers 1 et 2, l'autre contient les chaînes "a" et "b". Il devrait retourner une liste qui contient les listes: 1 et "a", 1 et "b", 2 et "a", 2 et "b".
Questions:
- Comment est mondePlan mis en œuvre?
- Quel est le type de la fonction? Quel est le type de F?
- Peut-on deviner ce que la fonction fait juste en regardant son type?
- Pouvez-vous gérer des listes inhomogènes en entrée? (par exemple 1 et "a" dans l'une des listes d'entrée)
- Quelle limitation supplémentaire (le cas échéant) devez-vous introduire pour implémenter MapProduct?
Je devine que ce n'était pas à l'origine une question Haskell , car il n'y a pas de liste hétérogène dans Haskell sans recourir aux types existentiels. – Chuck
Je connaissais ce problème, mais je pensais que l'on pouvait sûrement contourner ce problème, n'est-ce pas? C'est une fonction assez simple et utile, elle est aussi facile à implémenter correctement. – levy
Pourquoi est-ce un "quiz"? – MtnViewMark