Comparaison de couples en caml

Résolu
Sara426 Messages postés 782 Statut Membre -  
Sara426 Messages postés 782 Statut Membre -
Bonjour,

J'ai un exercice à faire sur caml et je me prends la tête sur une fonction depuis une bonne heure déjà.

La fonction ressemble à ca : (avec point un type prédéfini)
let infc (x1;y1)=point (x2;y2)=point =
if (y1<y2)
then true
else (y1=y2)&&(x1<=x2) ;;

Seulement caml n'écrit soit une syntax error soit qu'il manque une paranthèse dans la première ligne.

J'ai rajouter des parenthèses de partout, j'en ai enlevé et ca marche toujours pas.

Si quelqu'un a une idée, elle est la bienvenue.

Merci.

Sara.

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Peux tu donner la définition de point ? Comme ça je pourrais tester...
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Allez, j'essaye même sans cette information en le faisant le plus général possible :

      type ('a,'b) point = 'a*'b;;
      
      let infc ((x1,y1):('a,'b) point) ((x2,y2):('a,'b) point) = 
      	(y1<y2) || (y1=y2 && x1<=x2);;

      Remarque : dans ce cas il est en fait inutile de préciser le type point, on pourrait se contenter de
      let infc (x1,y1) (x2,y2) = ... 
      Tout dépend de la définition du type point.
      0
    2. Sara426 Messages postés 782 Statut Membre 63
       
      Merci encore du coup de main :)
      0