Version française
Home     About     Download     Resources     Contact us    
Browse thread
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: mariano@s...
Subject:
A quoi sert CAML???
*******************
	Je repose ma question sur l'utilite de CAML(light) mais de facon
	plus directe, je n'ai sans doute pas ete assez clair...

	choisissez parmi les questions suivantes celle qui vous interpelle
	le plus!

	A) Du point de vue UTILISATEUR ("quelconque",scientifique ou non)
	(et j'insiste sur l'aspect 'utilisation') 
	a quoi servent les langages de la famille ML?

	B) les CAMLs peuvent ils remplacer le C (par ex.) pour developper?
		B1) dans (tous les)(la plupart des)(en aucun) cas ?
		B2) y a-t-on interet ?
 
	C) peut on envisager raisonnablement une application complexe
	(de haut niveau, style calcul formel, syst. exp. etc) utilisant
	toutes les ressources d'une machine (utilisation graphique, gestion
	souris, gestion de fichiers...) ecrite en CAML(light)?

*************
Autre sujet : Le livre "Concepts et outils de programmation
		style fonctionnel style imperatif CAML et ADA"
		(Editions InterEditions)

* 	Peut on intervenir ici a propos de ce livre?
	(y a t il un public interesse par ce sujet?)
* 	Notamment, une comparaison entre ce livre et 
	"Structure et interpretation des programmes informatiques" aux
	meme editions me semble interessante...
*	Je suppose que les auteurs sont a` l'ecoute, me trompe-je?
	Doit-on s'adresser directement a` eux? et ou?
	
P.S. 	Mes reponses a d'eventuels correspondants risquent de se faire
   	attendre, je suis en effet sous les drapeaux actuellement et
	je profite de mes permissions pour repondre...toutes mes excuses...

	Georges.


[Note du mode'rateur:
 Mes re'ponses a` vos questions:

 A) A programmer vite et bien.

 B) La re'ponse est OUI.
    B1) Dans tous les cas ou` il s'agit d'e'crire des programmes
        complexes, en particulier des programmes qui font de la
        manipulation symbolique. Egalement dans les cas ou` la gestion me'moire
        a` la main serait un casse-te^te source d'erreurs tre`s difficiles
        a` e'radiquer. En revanche, pour e'crire des programmes de
        tre`s bas niveau, tre`s proches du syste`me d'exploitation,
        comme un pilote d'imprimante (et plus ge'ne'ralement un pilote
        de pe'riphe'rique (en anglais device driver)) restez en C.
        Il faut aussi remarquer que l'interfac,age de C et de CAML est
        possible, voir bien de'crit (Caml Light). Il est donc possible
        d'e'crire certaines parties de votre logiciel directement en C.
    B2) On y a inte're^t pour e'crire des programmes ayant de grandes chances
        de marcher dans tous les cas. Le typage fort et le filtrage
        (pattern-matching) sont des avantages de'cisifs pour e'crire du code
        lisible et correct.

 C) Il n'y a aucun proble`me a` ge'rer une souris, a` faire du
 graphique et a` ge'rer des fichiers en CAML. On a me^me un avantage de'cisif
 avec les entre'es-sorties structure'es de CAML qui permettent
 d'e'crire n'importe quelle VALEUR CAML sur disque puis de la relire en
 pre'servant sa structure (partage y compris).
 Une application de calcul formel constitue e'videmment une application
 typique de CAML. On pourrait facilement y faire de la re'e'criture,
 comple`ter des syste`mes de re`gles (KB est notre benchmark favori!).
 Nous ne l'avons jamais fait parceque nous n'avons pas la
 compe'tence dans l'algorithmique utilise'e en calcul formel. Mais je
 suis persuade' que ce genre d'application serait tre`s facilement et
 tre`s proprement e'crite en CAML (il y faut absolument un GC, un
 me'ta-langage, des traitements formels comme de la re'e'criture, tous
 domaines ou` CAML excelle).
 D'ailleurs, la bibliothe`que de calcul des grands nombres (rationnels
 en pre'cision arbitraire), de'ja` e'crite en CAML, est un outil de base pour
 ce genre de logiciels, qui illustre tre`s bien le point B): cette
 bibliothe`que est e'crite en CAML (6000 lignes) pour tout ce qui
 concerne la gestion des rationnels (type ratio), des grands entiers
 (type big_int), des grands nombres (type num) et de leurs ope'rations
 associe'es. En effet les algorithmes employe's sont de haut niveau et
 CAML permet bien d'exprimer les optimisations utilise'es.
 En revanche la couche basse ope`re en place sur des entiers non
 signe's stocke's dans des chai^nes de caracte`res (par exemple
 l'addition de ces nombres stocke son re'sultat dans le premier
 argument!). Cette couche est e'crite dans un langage de bas niveau:
 en C par de'faut pour la portabilite', mais pour la plupart des
 machines directement en assembleur (on gagne un facteur 4). On
 be'ne'ficie ainsi d'une grande efficacite', a` la fois dans
 l'expression d'optimisations complexes (au niveau CAML) et dans les
 calculs bruts (au niveau assembleur).


 *****************
 Autre sujet: "Concepts et outils de programmation ..."

 * On peut intervenir (mais rester poli!). Nous sommes tous plus ou
 moins interesse's car plus ou moins professeurs aussi.

 * Comparez, comparez ...

 * Vous ne vous trompe-je pas. On peut s'addresser directement a` eux
 s'il s'agit de les insulter ou dans cette tribune pour les fe'liciter
 ou apporter des critiques constructives. Leurs adresses e'lectroniques
 sont donzeau@margaux.inria.fr et hardin@margaux.inria.fr.

 Pierre Weis
 ----------------------------------------------------------------------------
 Formel Project
 INRIA, BP 105, F-78153 Le Chesnay Cedex (France)
 E-mail: Pierre.Weis@inria.fr
 Telephone: +33 1 39 63 55 98
 ----------------------------------------------------------------------------
]