Estoy tratando de crear una función de módulo dentro de haskell usando las funciones primtive recursive. Sé que es posible (porque está en la lista de funciones de ejemplo en wikipedia)módulo de haskell recursión primitiva
Y sé cómo lo haría yo lógicamente también ... ¡Pero simplemente no puedo implementarlo!
IE, la lógica es (no recursividad primtive o Haskell)
function mod(a, b){
while(a > b)
a -= b
return a;
}
Qué puedo definir utilizando la recursividad (de nuevo no Haskel)
function mod(a, b){
if(a < b) return a;
return mod(a - b, b);
}
Pero me parece que no puede poner en práctica usando funciones recursivas primitivas. Me poco que no puedo hacer es la lógica de un < b
pienso para resolver mi problema realmente necesito algún tipo de lógica definida como (otra vez no Haskel)
reduce(a, b)
= a >= b -> a-b
otherwise x
si alguien puede ayúdame con cualquier parte de esto, realmente lo agradecería, gracias
Edit :: Pensé en la posibilidad de definir una función de módulo haciendo uso de la división, es decir, mod (a, b) = a - (a/b) * b, pero como mi función recursiva primitiva para divide se basa en el módulo I no puedo hacerlo jaja
'mod ab | a
@DanBurton Un usuario ya publicó esto antes, pero luego borró su mensaje, ya que no es realmente relevante para el contexto de las funciones recursivas primitivas – AlanFoster