Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question affectation valeur variable Haskell

10 février 2019 à 14:44:44

Bonjour ! Je suis face à un petit problème un peu embêtant. Voici un bout de mon code pour vous aider à comprendre

data ABRI =  Feuille
           | Noeud ABRI (Int, Int) ABRI
              deriving (Eq, Show)

creer :: ABRI
creer = Noeud Feuille (0,0) Feuille

inserer :: ABRI -> Int -> ABRI
inserer Feuille a = Noeud Feuille (a,a) Feuille

inserer (Noeud (Noeud g' (x',y') d') (x,y) (Noeud g'' (x'', y'') d'')) a = if (a >= x) && (a <= y) //fonction longue, pas besoin de l'expliciter, ici

Il m'a été donné la tâche suivante : écrire une spécification pour les arbres binaires de recherche à intervalles (en gros, chaque étiquette est composée d'un intervalle [p,q], concrètement).

Le problème est le suivant : lorsque j'écris, dans ghci, l'instruction let exemple = creer, tout marche correctement. Je crée donc un arbre binaire vide, qui est stocké dans ma variable exemple. Cependant, je cherche donc à insérer dans ma variable exemple de nouveaux entiers, Or, lorsque j'écris dans ghci : exemple = inserer exemple 6, et que je retape exemple juste après dans ghci, la console plante, tout simplement.

J'ai le même souci lorsque j'écris let x = 12 puis x = x - 3, par exemple. Quelqu'un aurait-il une solution ? Merci d'avance !

  • Partager sur Facebook
  • Partager sur Twitter