essayer d'avoir une sensation pour Haskell.
Suis un programmeur expérimenté avec PHP, Java, VB et de nombreuses autres langues, mais je trouve un haskell légèrement plus difficile à suivre.
Quelqu'un peut-il me donner une traduction em> pour la fonction HASKELL suivante, pour me lancer ... Un exemple de traduction anglaise em> est dans les commentaires ci-dessous: p> La première ligne est assez simple, lisant:
"La fonction Quicksort sur une liste vide donne une liste vide comme résultat" ...
Si vous pouvez traduire le reste du haskell en anglais qui seraient très utiles. P> p>
6 Réponses :
Le résultat de QuickSorting La liste vide est la liste vide. P>
Le résultat de Quicksorte une liste non vide, où nous appelons le premier élément de la liste (*) pour élaborer un peu: x code> et les éléments restants xs code> est: le résultat de QuickSorting tout le Éléments de XS code> plus petit que X (*), suivi de X, suivi du résultat de tous les éléments de XS supérieurs à x. P>
[y | y <- xs, y y
Cela ne répond pas directement à votre question, mais hoogle peut aider votre apprentissage en général, Vous pouvez l'utiliser pour rechercher les bibliothèques d'API standard par nom de fonction ou par signature de type approximative.
Voici des exemples de termes de recherche qu'il prend en charge: p>
Je n'ai pas fait cela depuis le collège ...
Il est récursif - la première ligne est le cas pour un ensemble vide. P>
quicksort (x:xs) = quicksort [y | y <- xs, y<x ] ++ [x] ++ quicksort [y | y <- xs, y>=x]
"Le résultat final est un ensemble ordonné." - Ce n'est pas un ensemble, c'est une liste. Quicksort [1,2,3,1,2,3] code> retournera [1,1,2,2,3,3] code>. Notez les entrées en double.
C'est une langue déclarative, vous viennent de lire ce que vous voyez. SEPP2K fait un bon exemple ci-dessus. P>
vérifier http://learnyouahakell.com/recursion#quick-sort Il explique exactement Quel est le Quicksort. P>
Si votre problème était en connaissance de cause avec les compréhensions de la liste, voici quelques versions alternatives qui sont plus ou moins identiques:
J'ai vraiment aimé travailler avec Haskell au collège - pour une raison quelconque, il a cliqué avec moi. Bons souvenirs...
De belles réponses gars - c'est exactement ce que je cherchais - acclamations!
Une question supplémentaire pour les autres: quelle est la faiblesse majeure avec cet algorithme?
@Kathy: ça ne sait pas en place. Maintenant cela se sent comme l'école :)
@Shaun: Non, c'est juste une inefficacité mineure. Pensez à son comportement face à [1..100].