IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

OCaml, le réseau et les interfaces graphiques


Sujet :

Caml

  1. #21
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par bluestorm Voir le message
    Il existe quand même des cas où la recursion explicite est à mon avis bienvenue, faute de mieux.
    Je n'ai jamais dit le contraire, néanmoins je ne suis pas d'accord du tout que l'emploi de filter ou map soit d'une quelconque façon contraire à la philosophie d'OCaml, au contraire !

    Citation Envoyé par bluestorm Voir le message
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let rec split = function
    | ([] | [_]) as li -> li, []
    | ha::hb::tl -> let a, b = split tl in ha::a, hb::b
    Bon exemple.

    En Haskell, je tendrais à l'écrire avec un foldr, mais il est vrai que Haskell a une philosophie encore plus orienté combinateur et fonction de haut niveau que OCaml, je ne le nie pas, je conteste l'emplacement de la frontière.
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    split = foldr (\x ~(ys,xs)->(x:xs,ys)) ([],[])

    Code OCaml : Sélectionner tout - Visualiser dans une fenêtre à part
    let split l = List.fold_right (fun x (ys,xs) -> x :: xs, ys) l ([],[])

    pour troller je dirais que les confirmés aussi, puisque les haskelliens n'ont pas été foutu de mettre l'ordre correct des arguments de fold_right
    Disons l'ordre que tu aurais préféré plutôt que l'ordre "correct"... Comme tu le vois ci-dessus cet ordre est tout de même très pratique pour créer des fonctions partiellement appliquées.

    --
    Jedaï

  2. #22
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Malin, j'avais pas pensé à l'inversion :p

    Effectivement, si on formule le programme ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let rec split = function
    | [] -> [], []
    | hd::tl -> let a, b = split tl in hd::b, a
    Alors un fold_right devient tout à fait naturel.

    Je vais devoir trouver un meilleur exemple :-'

    (pour ce qui est du fold_right, je continue à maintenir qu'on devrait choisir en premier l'ordre le plus naturel, joli et symétrique, et que de toute façon si l'application partielle pose un problème, vous avez toujours 'flip' qui sert justement à ça)

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Mais un binding Qt est en préparation ! Mmmh!!
    Tu as un lien à donner ? Très intéressant comme info . J'adore QT vivement que le portage se termine... (gtk et tk j'aime pas trop )

  4. #24
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par funtix Voir le message
    Tu as un lien à donner ? Très intéressant comme info . J'adore QT vivement que le portage se termine...
    http://osp.janestcapital.com/wordpress/


    Citation Envoyé par funtix Voir le message
    (gtk et tk j'aime pas trop )
    perso, j'ai toujours pu faire ce que je souhaitais avec Gtk, donc je n'ai jamais pris la peine de passer à Qt
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #25
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par bluestorm Voir le message
    La formule choc ici est "la récursion explicite est le goto de la programmation fonctionnelle".
    Tu confonds avec le passage de continuation :-)

Discussions similaires

  1. Livre sur les interfaces graphiques en java.
    Par zulot dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 22/11/2007, 01h10
  2. Designer pour les interfaces graphiques sous eclipse
    Par anas.eh dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/10/2007, 10h30
  3. Les tutoriels en français sur les Interfaces Graphiques
    Par Jerome Briot dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 04/09/2007, 21h44
  4. Quel outil pour créer les interfaces graphique en Java ?
    Par youp_db dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 11/01/2006, 07h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo