[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] comparatif langages procéduraux/fonctionnels (was: logiciel de mail ?)



Pour information :

La notion de langage fonctionnel n'a rien a voir avec le fait de pouvoir
"potentiellement" manipuler des fonctions ou d'en creer.

Un langage fonctionnel ne dispose que d'un seul modele d'exécution :
  "Tout objet est une fonction".
Dans le cadre de language fonctionnel fortement typé, on a en plus
  "la signature (profil) de la fonction permet de définir le type".

Dans un langage fonctionnel, il n'y a donc pas d'affectation.


Selon Sven Luther <sven.luther@wanadoo.fr>:

> On Mon, Aug 04, 2003 at 11:22:10PM +0200, François TOURDE wrote:
> > Le 12268ième jour après Epoch,
> > Yves Rutschle écrivait:
> > 
> > > Dans le programme Perl suivant, 'deriv' crée une _nouvelle_,
> > > vraie fonction qui calcule la dérivée de la fonction donnée
> > > en paramètre.
> > >
> > > #! /usr/bin/perl
> > >
> > > my $eps=1e-10;
> > >
> > > sub deriv {
> > >   my ( $f ) = @_;
> > >
> > >   return sub {
> > >     my ( $x ) = @_;
> > >     return (&$f($x+$eps) - &$f($x))/$eps;
> > >   }
> > > }
> > >
> > > sub sinus {
> > >   return sin( $_[0] );
> > > }
> > >
> > > my $cos = deriv( \&sinus );
> > > my $sin = deriv( $cos );
> > >
> > > print &$sin( 0 );
> > > print "\n";
> > >
> > > Faire la même chose en C (créer une nouvelle fonction) sera
> > > pour le moins goret, si c'est possible.
> > 
> > C'est possible en C, avec des pointeurs de fonctions, et c'est pas plus
> > goret qu'en perl :) ... Ça fait trop longtemps que j'ai pas joué à C
> 
> Je suis pas expert en perl, donc je peut pas commenter sur le code ci
> dessus, mais il me semble qu'en C, il n'est pas possible de creer des
> fonctions dynamiquement, a moins d'avoir l'information sur la
> representation interne des fonctions, ce qui n'est du coup pas du tout
> portable. Et quand je dis dynamiquement, je dis une fonction que l'on
> cree durant l'execution du programme. Bien sur qu'on peut utiliser des
> pointeurs de fonctions, c'est tres util, et abondament utilise dans de
> nombreux logiciels, comme xfree86 par exemple, et a chaque fois qu'on
> veut faire de l'oriente objet en C :)))
> 
> Amicalement,
> 
> Sven Luther
> 
> 
> -- 
> Pensez à lire la FAQ de la liste avant de poser une question :
> http://savannah.nongnu.org/download/debfr-faq/html/
> 
> To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
> 



-------------------------------------------------
Laboratoire Heudiasyc. UMR CNRS 6599
http://www.hds.utc.fr



Reply to: