
Regards,
Nicolas SCHOEMAEKER
Web Developer
Haskell Programer
Artificial Intelligence & Robotics enthusiast
2014-03-21 13:00 GMT+01:00
Send Haskell-fr mailing list submissions to haskell-fr@haskell.org
To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/haskell-fr or, via email, send a message with subject or body 'help' to haskell-fr-request@haskell.org
You can reach the person managing the list at haskell-fr-owner@haskell.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Haskell-fr digest..."
Today's Topics:
1. Re: Caract?risation des langages fonctionnels (Laurent Pierron) 2. Re: Caract?risation des langages fonctionnels (Gautier DI FOLCO)
----------------------------------------------------------------------
Message: 1 Date: Fri, 21 Mar 2014 11:46:54 +0100 From: Laurent Pierron
To: La liste Haskell Francophone Subject: Re: [Haskell-fr] Caract?risation des langages fonctionnels Message-ID: Content-Type: text/plain; charset=windows-1252 Bonjour,
R?cemment je me suis pos? la question avec un coll?gue pour introduire un s?minaire interne sur les langages fonctionnels, et on n?a pas r?ussi ? trouver une r?ponse satisfaisante, on s?est heurt? aux diff?rents types de langage fonctionnel (Lisp, ML famille, Haskell, etc.), qui peuvent inclure des ?l?ments de langages imp?ratifs, des objets, des types alg?briques ou uniquement des types simples et qui ont des strat?gies d??valuation diff?rentes.
Personnellement, je dirais que dans un langage de fonctionnel l?ex?cution d?un programme se fait uniquement par substitution d?expression sans modification de l??tat d?une machine alors que dans un langage imp?ratif l?ex?cution se fait par ?valuation d?expression et modification de l??tat de la machine.
On peut aussi dire que les langages fonctionnels sont bas?s sur le lambda-calcul de Church, alors que les langages imp?ratifs sont bas?s sur la machine de Turing, mais il faut expliquer ce qu?est le lambda-calcul.
Laurent Pierron
Le 20 mars 2014 ? 11:26, Gautier DI FOLCO
a ?crit : Bonjour,
Je vais peut-?tre poser une question tr?s g?n?rale, mais qu'est-ce qui caract?rise un langage de programmation fonctionnel ? Je m'explique : - je sais qu'un LPF se base sur des expressions - je sais en reconna?tre un quand j'en vois un
mais chaque fois qu'on me pose la question, je ne suis pas foutu de donner des ?l?ments caract?ristiques clairs.
Est-ce que vous auriez une "phrase toute faite" ou quelque chose qui me permette de l'expliquer simplement/clairement de mani?re juste ?
Une "phrase toute faite" que j'aime utiliser pour présenter Haskell (mais je pense que ça peut s'appliquer à tous les langages fonctionnels) est la suivante : "Dans un langage impératif (type C/C++) un programme est une suite d'instructions à effectuer (le programmeur dit *quoi faire* à l'ordinateur) ; en Haskell, un programme est une suite de *définitions* : le programmeur dit à l'ordinateur *ce que sont les choses*". Je donne ensuite les deux exemples suivants : - la fonction 'head' qui renvoie le premier élément d'une liste. En C, on prend la liste, on "parcourt" les éléments en s'arrêtant au premier, et on le renvoie : c'est comment renvoyer le premier élément. En Haskell, on *dit* qu'une liste *c'est* une tête et une queue, et pour renvoyer le premier élément de la liste, et bien on... renvoie le premier élément de la liste : le pattern-matching "head (x:_) = x" signifie exactement ceci. - la fonction "length" qui renvoie le nombre d'éléments d'une liste. En C, on prend la liste, on parcourt ses éléments et on incrémente un compteur à chaque fois qu'on parcourt un élément. En Haskell, la longueur d'une liste, *c'est* : la longueur de la tête (1) + la longueur de la queue. En Haskell, on explique vraiment à l'ordinateur *comment* sont les choses, comment elles sont construites. Bref, c'est généralement comme ça que je captive mon public lorsque je présente Haskell. Bon courage. Nicolas SCHOEMAEKER.
Merci par avance. _______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://www.haskell.org/mailman/listinfo/haskell-fr
------------------------------
Message: 2 Date: Fri, 21 Mar 2014 12:34:29 +0100 From: Gautier DI FOLCO
To: La liste Haskell Francophone Subject: Re: [Haskell-fr] Caract?risation des langages fonctionnels Message-ID: < CAH_3vcSBLtyu1oJsVCbLii7OaKuN7SiWryqinKuOzq54ytjsWg@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Le 21 mars 2014 11:46, Laurent Pierron
a ?crit : Bonjour,
R?cemment je me suis pos? la question avec un coll?gue pour introduire un s?minaire interne sur les langages fonctionnels, et on n'a pas r?ussi ? trouver une r?ponse satisfaisante, on s'est heurt? aux diff?rents types de langage fonctionnel (Lisp, ML famille, Haskell, etc.), qui peuvent inclure des ?l?ments de langages imp?ratifs, des objets, des types alg?briques ou uniquement des types simples et qui ont des strat?gies d'?valuation diff?rentes.
Personnellement, je dirais que dans un langage de fonctionnel l'ex?cution d'un programme se fait uniquement par substitution d'expression sans modification de l'?tat d'une machine alors que dans un langage imp?ratif l'ex?cution se fait par ?valuation d'expression et modification de l'?tat de la machine.
On peut aussi dire que les langages fonctionnels sont bas?s sur le lambda-calcul de Church, alors que les langages imp?ratifs sont bas?s sur la machine de Turing, mais il faut expliquer ce qu'est le lambda-calcul.
Laurent Pierron
Le 20 mars 2014 ? 11:26, Gautier DI FOLCO
a ?crit : Bonjour,
Je vais peut-?tre poser une question tr?s g?n?rale, mais qu'est-ce qui caract?rise un langage de programmation fonctionnel ? Je m'explique : - je sais qu'un LPF se base sur des expressions - je sais en reconna?tre un quand j'en vois un
mais chaque fois qu'on me pose la question, je ne suis pas foutu de donner des ?l?ments caract?ristiques clairs.
Est-ce que vous auriez une "phrase toute faite" ou quelque chose qui me permette de l'expliquer simplement/clairement de mani?re juste ?
Merci par avance. _______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://www.haskell.org/mailman/listinfo/haskell-fr
_______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://www.haskell.org/mailman/listinfo/haskell-fr
Bonjour,
Si je rajoute "conceptuellement" la d?finition me convient.
Merci.