Précédent   Forum du club des développeurs et IT Pro > Autres langages > Langages fonctionnels
Langages fonctionnels Forum d'entraide sur la programmation en langages fonctionnels : Lisp, Scheme, Caml, Haskell, Erlang, Oz, Anubis, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/10/2006, 09h45   #41
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par Woufeil
Que fais-tu des templates en C++ ? Un template est bien un type générique, donc on peut bien définir une méthode valable pour tous les types d'objets. Ou alors il y a une entore à la règle que je ne connais pas...
On ne peut pas avoir des membres template virtuels. Ils posent des problèmes à la fois dans le modèle de généricité du C++ -- comment spécialiser explicitement une telle bête --, dans le modèle d'implémentation, et peut-être des problèmes plus généraux -- je me pose quelques questions, j'ai des voies de solution mais j'ai pas travaillé les détails. Il va falloir que je regarde à nouveau OCaml.

Citation:
Pour le transtypage des pointeurs, c'est particulier...
Ça, je n'ai jamais prétendu que le système de type du C++ était le plus robuste et le plus insubvertible qui soit...

Citation:
Je suppose que quoi qu'il en soit, un pointeur occupe une place constante dans la mémoire
Pas nécessairement. Sur les machines adressables par mots (il y en a encore quelques unes), on peut avoir besoin des pointeurs "gras" pour implémenter le modèle mémoire du C++ qui suppose un adressage par byte.

Citation:
(un octet pour les processeurs 32 bits si je ne m'abuse).
Tu n'es pas un peu distrait là?
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 10h24   #42
Woufeil
Rédacteur
 
Avatar de Woufeil
 
Étudiant
Inscription : février 2006
Messages : 1 076
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 1 076
Points : 2 080
Points : 2 080
Citation:
Envoyé par Jean-Marc.Bourguet
Tu n'es pas un peu distrait là?
Rhô, si peu
4 octets sur un processurs 32 bits, désolé.

Par contre, je ne connaissais pas les machines adressables par mot. Trop jeune sûrement.

Bon, bah, même sur ce domaine, je suis un peu dépassé quoi

€dit : d'ailleurs, je me demade comment se passe le transtypage d'un pointeur si la taille d'un pointeur n'est pas fixe... Mis à part l'allocation dynamique, je vois pas, or le C ne permet pas l'allocation dynamique implicite, si ?
__________________
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
Application :

ainsi qu'à regarder la avant de poser une question.

La rubrique Perl recrute, contactez-moi.
Woufeil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 10h33   #43
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par Woufeil
Par contre, je ne connaissais pas les machines adressables par mot.
Il y en a pourtant sur Internet... mais j'avoue qu'il faut les chercher.

Citation:
Trop jeune sûrement.
Ne t'en fait pas, c'est un problème qui se corrige tout seul avec le temps Mais il faut faire attention à ne pas répéter vingt fois la même année d'expérience.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 11h54   #44
Gnux
Membre Expert
 
Avatar de Gnux
 
Inscription : juillet 2003
Messages : 2 066
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 2 066
Points : 2 126
Points : 2 126
Citation:
Envoyé par gorgonite
et je peux ouvrir mes cours de typages pour t'en sortir plus...
Ah oui je veux bien voir tes cours de typage. Ils sont basés sur quel langage?
Gnux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 11h59   #45
Gnux
Membre Expert
 
Avatar de Gnux
 
Inscription : juillet 2003
Messages : 2 066
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 2 066
Points : 2 126
Points : 2 126
Citation:
Envoyé par Jean-Marc.Bourguet
Il va falloir que je regarde à nouveau OCaml.
Moi aussi. J'y avais jeté un oeil et j'avais trouvé cela vraiment bien...Mais les impératifs ont fait que je n'ai pas pu lui dédier tout le tps qu'il méritait. En fait j'avais juste appris les grandes constructions syntaxiques pour corriger un bug genant dans la prise en charge du B-code de MLDonkey.
Cette fois ci je vais regarder la sémantique aussi...
Gnux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 12h04   #46
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par Gnux
Ah oui je veux bien voir tes cours de typage. Ils sont basés sur quel langage?

devines... tu comprendras vite quand tu verras les noms

http://cristal.inria.fr/~fpottier/mpri/

http://www.lix.polytechnique.fr/~dow...es_types.ps.gz
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 12h13   #47
Gnux
Membre Expert
 
Avatar de Gnux
 
Inscription : juillet 2003
Messages : 2 066
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 2 066
Points : 2 126
Points : 2 126
Citation:
Envoyé par gorgonite
J'en étais presque sur...Faudrait qu'on ouvre une rubrique Caml sur dvp...
On trouve vraiment des choses intéressantes sur ce site dis moi..http://cristal.inria.fr/~fpottier/biblio/english.html
Gnux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 17h04   #48
Woufeil
Rédacteur
 
Avatar de Woufeil
 
Étudiant
Inscription : février 2006
Messages : 1 076
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 1 076
Points : 2 080
Points : 2 080
Bon, je rajoute le tag résolu à ce sujet. Finalement, je vais commencer par Scheme. OCaml semble très intéréssant, mais je préfère utiliser un programme mono-paradigme, pour ne pas avoir envie de faire autre chose que du fonctionnel en croyant faire du fonctionnel

Merci à tous pour les réponses, même si je pense que le sujet ne va pas en rester là
__________________
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
Application :

ainsi qu'à regarder la avant de poser une question.

La rubrique Perl recrute, contactez-moi.
Woufeil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 17h06   #49
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par Woufeil
Bon, je rajoute le tag résolu à ce sujet. Finalement, je vais commencer par Scheme. OCaml semble très intéréssant, mais je préfère utiliser un programme mono-paradigme, pour ne pas avoir envie de faire autre chose que du fonctionnel en croyant faire du fonctionnel
On peut programmer sans problème en Scheme de façon impérative.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 17h16   #50
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par Jean-Marc.Bourguet
On peut programmer sans problème en Scheme de façon impérative.

effectivement... de toute façon, il y a toujours moyen de "violer" les règles d'origine d'un langage (regarder la récursivité en C )
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 17h32   #51
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par gorgonite
effectivement... de toute façon, il y a toujours moyen de "violer" les règles d'origine d'un langage (regarder la récursivité en C )
À quoi fais-tu allusion?
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 17h40   #52
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par Jean-Marc.Bourguet
À quoi fais-tu allusion?

à un article...
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 18h01   #53
Woufeil
Rédacteur
 
Avatar de Woufeil
 
Étudiant
Inscription : février 2006
Messages : 1 076
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2006
Messages : 1 076
Points : 2 080
Points : 2 080
Citation:
Envoyé par Jean-Marc.Bourguet
On peut programmer sans problème en Scheme de façon impérative.
Ah ? Bon, bin disons que je vais essayer d'éviter alors
__________________
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
Application :

ainsi qu'à regarder la avant de poser une question.

La rubrique Perl recrute, contactez-moi.
Woufeil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 18h40   #54
GnuVince
Membre chevronné
 
Avatar de GnuVince
 
Développeur informatique
Inscription : avril 2004
Messages : 679
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2004
Messages : 679
Points : 765
Points : 765
Citation:
Envoyé par Woufeil
Ah ? Bon, bin disons que je vais essayer d'éviter alors
Aie pas d'inquiétudes de ce côté là: dans le livre SICP, ils montrent comment modifier la valeur d'une variable avec SET! assez tard. Et je crois que les boucles avec DO ne sont pas du tout expliquées.
GnuVince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 18h44   #55
InOCamlWeTrust
Membre Expert
 
Avatar de InOCamlWeTrust
 
Inscription : septembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 036
Points : 1 129
Points : 1 129
C'est une bonne idée de choisir un langage pur pour apprendre les concepts fonctionnels.

Quant à la récursivité en C, je ne vois vraiment pas... elle est explicitement autorisée en C-ANSI... tu ne confondrais pas avec le ANSI-Fortran 77, qui interdit, lui, explicitement la récursivité ?

D'ailleurs, on pourrait discuter longuement des vertus du C pour une approche fonctionnelle de la programmation en C... il y a des choses très intéressantes à dire et à faire... entre autres avec les tableaux que l'on peut voir comme des listes ! C'est là la force de ce langage : sa simplicité !

Quant au problème de polymorphisme, j'ai enfin retrouvé dans la Bible (pour l'instant) d'Objective Caml la phrase : OCaml est le seul langage au monde à posséder un polymorphisme paramètrique (ou "paramètré", je ne me souviens plus très bien du mot) et d'inclusion, et à rester totalement typé.

D'après ce que dit gorgonite, le C++ ne possède pas de polymorphisme paramètrique (ou "paramètré"... je ne sais vraiment plus).

Quant aux machines un peu spéciales, il faut noter le cas du SPARC avec lequel on ne peut écrire qu'à des frontières de mots mémoire : c'est donc quelque chose d'actualité on ne peut plus actuelle.

Au fait, quelqu'un a-t-il déjà travaillé avec LEON ?
InOCamlWeTrust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 18h59   #56
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par InOCamlWeTrust
Au fait, quelqu'un a-t-il déjà travaillé avec LEON ?

c'est une personne ou un langage ?
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 19h32   #57
InOCamlWeTrust
Membre Expert
 
Avatar de InOCamlWeTrust
 
Inscription : septembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 036
Points : 1 129
Points : 1 129
Non. C'est une implantation libre du SPARC pour FPGA.
InOCamlWeTrust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 19h36   #58
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par InOCamlWeTrust
Quant à la récursivité en C, je ne vois vraiment pas... elle est explicitement autorisée en C-ANSI...
C'est présent en BCPL, en B et en C depuis les origines.

Citation:
D'ailleurs, on pourrait discuter longuement des vertus du C pour une approche fonctionnelle de la programmation en C... il y a des choses très intéressantes à dire et à faire... entre autres avec les tableaux que l'on peut voir comme des listes ! C'est là la force de ce langage : sa simplicité !
C n'est pas un langage que j'appellerais simple.

Citation:
Quant au problème de polymorphisme, j'ai enfin retrouvé dans la Bible (pour l'instant) d'Objective Caml la phrase : OCaml est le seul langage au monde à posséder un polymorphisme paramètrique (ou "paramètré", je ne me souviens plus très bien du mot) et d'inclusion, et à rester totalement typé.

D'après ce que dit gorgonite, le C++ ne possède pas de polymorphisme paramètrique (ou "paramètré"... je ne sais vraiment plus).
Les templates permettent du polymorphisme paramétrique. Et comme ils permettent aussi du polymorphisme ad hoc, la combinaison est puisssante (mais la syntaxe pour l'exploiter horrible).

Citation:
Quant aux machines un peu spéciales, il faut noter le cas du SPARC avec lequel on ne peut écrire qu'à des frontières de mots mémoire : c'est donc quelque chose d'actualité on ne peut plus actuelle.

Au fait, quelqu'un a-t-il déjà travaillé avec LEON ?
L'implémentation de l'architecture Sparc ou bien un langage (mais Leon programming language ne me donne que des référence à Leon S. Sterling qui a publié des choses sur Prolog et la programmation logique).
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2006, 19h38   #59
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 647
Points : 5 647
Citation:
Envoyé par InOCamlWeTrust
Non. C'est une implantation libre du SPARC pour FPGA.
J'ai pas joué avec mais je connaissais. Cela fait des années que je n'ai plus fait de FPGA. Dans le genre, Sun fournit aussi les sources de Niagara.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 16h36   #60
Jiraiya_sama
Invité régulier
 
Inscription : avril 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 5
Points : 5
Points : 5
mais est-ce que ça sert à quelque chose au moins ?


non parce que dans la vraie vie... ils bossent avec des langages pareils ?
Jiraiya_sama est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h38.


 
 
 
 
Partenaires

Hébergement Web