Ok... vous allez peut-être me trouver niaiseux : depuis le temps que je fais du ocaml (en amateur certes, mais ça fait un bout de temps quand même) je n'avais jamais remarqué que ça n'existait pas.

Question numéro 1 : Existe-t-il des substituts ?

Juste au cas où :
  • Apply : prend une fonction et une liste d'arguments et applique la fonction à la liste de ces arguments. Intuitivement on dirait que c'est ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let rec apply f = function
        | [] -> f
        | h::t -> apply (f h) t
    mais sans même le tester, je sais que ça ne typecheckera pas puisque ça fait parti de ces fonctions qui ne peuvent pas typechecker . Je suppose que le préprocesseur permet (peut-être) de faire ça.
  • Eval : prend une liste de symbole et l'évalue comme une expression... certes les symboles n'existent même pas dans ocaml... mais on pourrait se débrouiller avec un constructeur de symbole. Toujours est-il que je suppose qu'on pourrait se débrouiller avec le préprocesseur pour ça aussi non ?


Donc... ma question numéro 2 : où trouver un bon manuel du préprocesseur ? Parce que sans vouloir paraître médisant, certaines parties du manuel officiel sont à chier ou très mal faites (à mon goût certes).

N.B. je pense que c'est là que se trouve la force de PLT Scheme : les macros sont tellement simples à mettre en œuvre que s'en est hallucinant.