Browse thread
Re: compilation
- Franck.Cassez@k...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Franck.Cassez@k... |
| Subject: | Re: compilation |
Bonjour Jean-Christophe, concernant les evaluations a la compilation, j'avais pose une question similaire a Pierre Weis l'annee derniere (mon but etait d'``accelerer'' un programme): je pense que l'exemple suivant peut t'interesser. A+ Franck. - Franck.Cassez@univ-brest.fr - Departement d'Informatique - -- Universite de Bretagne Occidentale 6, Avenue Le Gorgeu -- ---- BP 809 ---- 29285 Brest Cedex ---- FRANCE ---- -- tel: (+33) 02 98 01 69 59 -- fax: (+33) 02 98 01 69 56 -- dixit Pierre : Je m'explique soit la fonction f: let f a x = if a then (x + 1) else (x - 1);; alors f true est la fonction x -> if true then (x + 1) else (x - 1) et non pas la fonction x -> x + 1 On obtient une petite acce'le'ration en e'crivant: let f a = if a then (fun x -> x + 1) else (fun x -> x - 1);; car alors f true est (fun x -> x + 1). Cependant cette propagation des constantes par le compilateur du (me'ta)-langage n'est pas de bonne me'thodologie (elle n'est pas efficace). Pour beaucoup gagner il faut re'aliser un ve'ritable compilateur qui analyse les programmes sources du langage a` compiler et les optimise lui-me^me.