J'essaie de créer une fonction de module dans haskell en utilisant primtive recursive fonctions. Je sais que c'est possible (parce que c'est sur la liste des exemples de fonctions sur wikipedia)module de hachage récursivité primitive
Et je sais comment je ferais logiquement aussi .. Mais je ne peux pas l'implémenter!
IE, la logique est (non récursivité primtive ou haskell)
function mod(a, b){
while(a > b)
a -= b
return a;
}
Ce que je peux définir l'aide récursion (encore une fois pas Haskel)
function mod(a, b){
if(a < b) return a;
return mod(a - b, b);
}
Mais je ne peux pas sembler mettre en œuvre en utilisant des fonctions récursives primitives. Je peu que je ne peux pas faire est la logique d'un < b
Je pense vraiment résoudre mon problème je besoin d'une sorte de logique définie comme la (encore une fois non Haskel)
reduce(a, b)
= a >= b -> a-b
otherwise x
Si quelqu'un pouvait aidez-moi avec une partie de ceci je l'apprécierais vraiment, merci
Edit :: Je pensais à potentiellement définir une fonction de module en utilisant la division, à savoir mod (a, b) = a - (a/b) * b, mais puisque ma fonction récursive primitive pour diviser repose sur modulo je ne peux pas le faire haha
'mod ab | un
@DanBurton Un utilisateur déjà posté cela avant, mais il a ensuite supprimé son message car il n'est pas vraiment pertinent dans le contexte des fonctions récursives primitives – AlanFoster