Comparaison de couples en caml

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Peux tu donner la définition de point ? Comme ça je pourrais tester...
    1. Modérateur
      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.
    2. Merci encore du coup de main :)