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.
[^] # Re: Normal
Posté par gc . En réponse au message Fonctionnement du OR. Évalué à 3.
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.