String.concat " " [? List : string_of_int i | Type1 {val_int=i} <- List : list ]
Envoyé par
alex_pi
Quelle extension de syntaxe ?
C'est pa_comprehension de Batteries ( lien vers la doc HTML des extensions ). C'est encore très jeune.
Sinon tu peux effectivement utiliser Camlp4ListComprehension qui est en standard dans OCaml (camlp4o -parser Camlp4ListComprehension.cmo) :
String.concat " " [ string_of_int i | Type1 {val_int i} <- list ]
Ça évite de spécifier les "List" mais en conterpartie ce n'est pas modulaire par rapport à la structure de donnée (pa_comprehension permet d'avoir facilement des Array ou whatever (Enum par défaut) en entrée ou en sortie).
Un jour, une combinaison sublime avec le projet pa_do permettra (j'espère) de faire directement
List.[? string_of_int i | Type1 {val_int i} <- list ]
Partager