• [^] # Re: Normal

    Posté par . En réponse au message Fonctionnement du OR. Évalué à 3.

    (ocamlrun est l'interpreteur de bytecode)

    Je pense que tu confonds l'ordre d'évaluation d'une fonction (là tu as tout à fait raison) avec "or" qui n'est pas une fonction mais un builtin avec un comportement particulier.

    [gc@meuh /tmp] ocamlopt t.ml && file a.out && ./a.out
    a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), not stripped
    preda or predb :
    in preda
    fonction avec preda predb en parametre :
    in preda
    in predb

    [gc@meuh /tmp] ocamlc t.ml && file a.out && ./a.out
    a.out: a /usr/bin/ocamlrun script text executable
    preda or predb :
    in preda
    fonction avec preda predb en parametre :
    in predb
    in preda

    Et au passage, d'ailleurs moi aussi je confondais et c'est de ça que je me souvenais vaguement quand je parlais d'un ordre inverse d'évaluation : il s'agit bien de ocaml mais du comportement en mode bytecode à l'appel de fonctions.