Date: Wed, 19 Feb 1997 09:12:53 +0100 (MET)
From: Franck.Cassez@kelenn-gw.univ-brest.fr (Franck Cassez)
Message-Id: <199702190812.JAA26519@kelenn-gw.univ-brest.fr>
To: Jean-Christophe.Filliatre@ens-lyon.fr
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.
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:09 MET