Bonjour,
j'ai un petit problème dans un travail que j'ai à faire...

J'essaye de construire un let/in dans lequel le nombre d'affectations locales varie selon la taille d'une liste de paires. Chacune de ces paires, vous l'aurez deviné, représente premièrement la variable et deuxièmement la valeur qu'elle doit prendre dans l'expression.

Faut-il déclarer une fonction récursive qui fait ce travail à l'intérieur même du let ? Si oui, comment fais-je cela ? Sinon quelle serait la bonne approche à ce problème ?

Merci en avance !

p.s.: J'ai essayé de faire dabord le cas d'une seule affectation sans me préoccuper du cas où il y aurait plus d'une paire dans la liste d'affectations, mais Hugs n'aime pas mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
optimize (Lfix list1 e2) =
	let fst(demo(list1)) = snd(demo(list1))
	in e2
la fonction demo retourne bel et bien la première paire de la liste list1 (c'est sûr), j'utilise fst et snd pour prendre chacun des éléments et j'introduis l'égalité, mais je recois une erreur :

Syntax error in expression (unexpected `(')