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 :

Élémentaire, mon cher Watson.


Sujet :

Caml

  1. #1
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut Élémentaire, mon cher Watson.
    Bonjour,
    alors que je m'amusais dans le top-level d'Ocaml, une étrange surprise m'a ... bref, surpris :

    Code Ocaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let comp f g = fun x -> f (g x) ;;
    -- val comp : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b = <fun>
    
    let stupid_function = comp comp comp ;;
    -- val stupid_function : ('_a -> '_b) -> ('_c -> '_d -> '_a) -> '_c -> '_d -> '_b = <fun>
    
    let test = stupid_function (fun n -> [n]) (fun n s -> n*(String.length s));;
    -- val test : int -> string -> int list = <fun>
    
    stupid_function ;;
    - : (int -> int list) -> (int -> string -> int) -> int -> string -> int list = <fun>
    Comment se fait-il que la fonction stupid_function voit son type défini par sa première utilisation ? Je suppose que ce comportement explique le format de son type premier (les '_a).

    Merci pour vos explications. Et la série britanique Sherlock est très bonne en passant.
    -- Yankel Scialom

  2. #2
    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

  3. #3
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    C'est parfaitement clair. Merci.
    -- Yankel Scialom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon cher londres !
    Par tugal dans le forum Emploi
    Réponses: 4
    Dernier message: 25/09/2013, 16h04
  2. Holmes : une détection d'erreurs HTML élémentaires, Watson !
    Par FirePrawn dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 21/02/2013, 19h19
  3. Réponses: 1
    Dernier message: 20/01/2009, 19h30
  4. Tjours mon pb de date de répertoire
    Par mjacque dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2002, 09h50
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

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