Désolé si je vais vite au coeur du sujet,
je débute en Haskell (mon essai de deuxième langage fonctionnel aprés Scheme), je trouve ça trés sympa.
Mon programme marche bien, par contre j'ai ce bout de code qui me parait (même à moi auteur) un peu abscond :
Comme je ne maitrise vraiment pas encore le langage de A-Z est-ce que quelqu'un pourrait me donner des indices ou des pistes d'amélioration sur la lisibilité de ce bout de code (destiné à un tuto dvp). Ou s'il existe des souxieries classique sur ce pb. ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 head_until [] p = [] head_until (x:xs) p = if not (p x) then x : head_until xs p else [] next_move l i = ... is_end_move l = l == (-1,-1) all_next_moves2 l = (0, 0) : head_until (map (next_move l) (all_next_moves2 l)) is_end_move all_next_moves l = tail (all_next_moves2 s)
En gros j'ai un générateur next_item qui prend en entrée un état l et un mouvement i et qui renvoi le prochain mouvement. Et je construit dans all_next_items tous les mouvements succesifs possibles (jusqu'à mouvement d'arrêt de l'itération).
Merci d'avance.
Partager