Lancer plus facilement un fichier .ml (caml)

Bonjour tout le monde,

J’ai installé Camllight (merci à Fran.b :slightly_smiling: ), mais lancer un fichier n’est pas chose aisée. Je cherchais donc un moyen plus ergonomique que de taper «load “chemin/vers/le/fichier.ml”» à chaque fois que l’on souhaite exécuter son travail. J’ai bien pensé à ajouter une option “lancer avec Camllight” dans le menu contextuel de Gnome, mais je ne pense pas que ce soit faisable, puisque la commande “load” doit être tapée dans l’invite de commande de Caml. Dur à faire en bash ! (J’ai lu le manuel de Camllight, mais je n’y ai rien appris d’intéressant.)
Sauriez-vous m’indiquer comment m’y prendre ? Voire même peut-être une autre idée qu’un ajoute au menu contextuel.

Merci d’avance :wink:
Duna

Puis-je me permettre de upper ce topic ?

Aucune possibilité d’utiliser un script avec shebang ? Voire, au pire des cas, un bootstrap shell puis basculer avec exec + tail et une redirection ?

Je ne comprends pas ce que tu veux faire? Il te suffit de compiler ton programme Caml en autonome:

Tu as alors un exécutable autonome que tu lances par

./programme

Je ne lance jamais un fichier caml source sauf dans emacs pour la mise au point. C’est comme si tu voulais lancer un programme source C.

C’est justement que la mise au point est permanente. Lorsque je travaille sur un code, j’observe de temps en temps le résultat. Quand le code source est bon, j’arrête et vire tout, parce-que d’innombrables personnes ont déjà fait la même chose que moi avant.

Je n’utilise Camllight que dans le cadre scolaire. Ce que l’on fait n’est donc qu’une gestion de tableau, listes, tri, arbres, & co. Ce n’est donc pas très utile de compiler…

syam > Non, justement, je ne pense pas pouvoir le faire pas un script. La commande “Load” s’exécute dans l’interpréteur (je crois que c’est un interpréteur) de Camllight.

EDIT : La compilation n’a peut-être pas d’intérêt dans mon cas, mais l’ajout dans le menu contextuel s’en trouve simplifié… J’adopte :smiley: Merci fran.b

Mais caml y compris camllight est compilé et non interprété. Si tu veux appeler un programme caml dans un script, il te faut le compiler. La meilleure preuve qu’il est compilé est l’évaluation du programme suivant

[code]> Caml Light version 0.81

let a=23;;
let f x = x+a;;
let a = 1;;
f 5;;
#a : int = 23
#f : int -> int =
#a : int = 1
#- : int = 28
#[/code]

Tu as d’ailleurs la description précise de ce que fait load dans la doc:

Ah, d’accord ! Je me suis donc fourvoyé.

Eh bien c’est donc une bonne nouvelle, j’ajoute la compilation + exécution dans le menu contextuel. Merci :wink: