5610

chuis naze #pfiou#
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5611

tutsenpanaze?
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

5612

bah si, j'ai bossé puis courru dans le tromé puis entretien technique(masterisé d'ailleurs)puis courses puis rangt....
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5613

Hippohmu
:
Au fait, une autre forme de surcharge, c'est les exceptions : ça transforme un truc avec une valeur de retour avec un type bien défini en un truc avec un type qui peut être absolument quelconque

what
Ce n'est pas plus une surcharge que l'autre, juste un nouveau type polymorphe! (raise = exn -> 'a) confus
(Tant qu'à faire, tu peux aussi parler de la fonction exit : int -> 'a)
Mais je ne suis absolument pas convaincu. (contrairement à tes fonctions de comparaison, qui me donnent à réfléchir)

Je ne parle pas du type de "raise foo", qui est effectivement polymorphe mais qui n'apporte rien en soi. Je dis juste que la fonction peut balancer une exception au lieu de renvoyer une valeur, et que donc le type de retour n'est pas seulement celui officiellement déclaré par le typage, mais est aussi constitué de l'ensemble des exceptions qu'elle peut lancer (et qui sont en fait des valeurs de retour comme les autres).

Mieux : l'ensemble des valeurs de retour peut évoluer au fil du programme ("exn" a la particularité d'être un type incomplet : encore une de ces nombreuses features built-in, qui ont à la fois la caractéristique d'être utiles et qui, en même temps, sont complètement non-extensibles)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5614

bonne nuit tout le monde ^^


au passage :
Hippohmu
: J'aimerais bien comprendre skidi...

non c'est sBibi qui traine sur le forum ^^ pas sKidi trigic

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5615

tu devrais aller te coucher ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5616

plop
avatar
Ad impossibilia nemo tenetur

5617

pour vous laisser gagner ?

hors de question ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5618

bonne nuit
avatar

5619

toi-même hehe
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

5620

Bonjour ! (et oui, je n'ai encore dormi que deux heures pour pouvoir poster ici triso)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5621

victoire facile ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5622

lol j'étais là mais j'étais occupé (petit déj) cheeky
euh sinon Pollux, d'après toi les objets ça sert à quoi hein ? happy
exemple débile :
# let (<) x y = x#compare y;;
val ( < ) : < compare : 'a -> 'b; .. > -> 'a -> 'b = <fun>
# class entier (x : int) = object method contenu = x
  method compare (autre : entier) = x > autre#contenu end;;
class entier :
  int -> object method compare : entier -> bool method contenu : int end
# class flottant (x : float) = object method contenu = x
  method compare (autre : flottant) = x < autre#contenu end;;
class flottant :
  float ->
  object method compare : flottant -> bool method contenu : float end
# new flottant 1. < new flottant 2.;;
- : bool = true
# new entier 1 < new entier 2;;
- : bool = false

Si j'ai bien compris c'est ça que tu appelles de la surcharge non ?
Bon par contre c'est vrai que les opérateurs de comparaison ont un type polymorphe qui ne te permet pas de les redéfinir en conservant ce polymorphisme... ceci dit je ne vois pas du tout en quoi c'est indispensable... c'est utile, certes, ça permet d'alléger la syntaxe, mais à part pour ( == ) dont le statut est un peu particulier et le polymorphisme justifié, ça ne me dérangerait pas vraiment pour ma part de devoir utiliser <. ou =. etc.
mais est aussi constitué de l'ensemble des exceptions qu'elle peut lancer (et qui sont en fait des valeurs de retour comme les autres).

Euh alors là j'ai du mal à voir en quoi c'est des valeurs de retour « comme les autres » neutral. Si c'en était, ça voudrait dire qu'on revient au calcul de l'expression appelante en utilisant la valeur de l'exception ? trifus
"exn" a la particularité d'être un type incomplet : encore une de ces nombreuses features built-in, qui ont à la fois la caractéristique d'être utiles et qui, en même temps, sont complètement non-extensibles

I don't understand what you say...
[>`a] est aussi un type incomplet, non ? ou alors je ne vois pas ce que tu appelles un type incomplet...

Bon sinon pour en revenir à la surcharge : je ne comprends toujours pas très bien ce que c'est. Qu'est-ce qui te fait dire que la fonction de comparaison utilise une surcharge (« C'est qd même implémenté de manière surchargée... ») ? est-ce la présence de ce switch/case :
static long compare_val(value v1, value v2)
{
  struct compare_item * sp;
  tag_t t1, t2;
[...]
    t1 = Tag_val(v1);
    t2 = Tag_val(v2);
[...]
    switch(t1) {
    case String_tag: {
[...]
    case Double_tag: {
[...]
    case Abstract_tag:
      compare_free_stack();
      invalid_argument("equal: abstract value");
    case Closure_tag:
    case Infix_tag:
      compare_free_stack();
      invalid_argument("equal: functional value");
    case Object_tag: {
      long oid1 = Oid_val(v1);
      long oid2 = Oid_val(v2);
      if (oid1 != oid2) return oid1 - oid2;
      break;
    }
    case Custom_tag: {
[...]
    default: {
      mlsize_t sz1 = Wosize_val(v1);
      mlsize_t sz2 = Wosize_val(v2);
      /* Compare sizes first for speed */
      if (sz1 != sz2) return sz1 - sz2;
      if (sz1 == 0) break;
[...]
}
? enfin ça ne correspond pas aux définitions qu'ont données Hippo et vince de la surcharge il me semble (il n'y a bien qu'une fonction, elle a quand même le droit de distinguer des cas...)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5623

Au fait tu n'as pas répondu à ma question, ou alors j'ai zappé :
Sally
: Pollux > qu'est-ce que tu veux faire avec des fonctions surchargées ?

bon ok tu dis que tu voudrais une fonction compare qui coïnciderait avec la fonction standard partout sauf sur les strings où elle ferait de la comparaison case-insensitive. Mais concrètement je ne comprends pas à quoi ça servirait (je ne comprends déjà pas très bien à quoi sert la fonction compare actuelle, enfin si, plus ou moins : ça donne une fonction par défaut qui te permet d'utiliser des Set ou des Map de n'importe quelle structure et ça t'évite donc de devoir définir la tienne à chaque fois, *mais* à supposer que tu veuilles un ordre différent pour un type donné, je ne comprends vraiment pas à quoi ça te sert que ta fonction personnalisée soit polymorphe, il te suffit de ne pas utiliser la même pour les différents types...)

Et en admettant que tu en aies l'utilité, ne peux-tu pas utiliser tout simplement quelque chose comme ça :
# let my_compare a b = match (a,b) with
        `String a, `String b -> String.length a - String.length b
        | a, b -> compare a b;;
val my_compare : ([> `String of string ] as 'a) -> 'a -> int = <fun>
? bien sûr ça t'oblige à mettre un constructeur bidon devant tout ce que tu veux comparer, mais est-ce gênant (sachant que de toute façon tu connais forcément le type à un moment ou à un autre, ben tu mets le constructeur à ce moment-là et on n'en parle plus) ?
(en fait ma proposition est peut-être débile mais je ne comprends pas bien ce que tu veux faire...)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5624

c'est pas un peu trop sérieux pour le topic ça ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5625

« C'est pas moi qu'ai commencé, c'est Pollux »
en fait non, c'est Moumou d'ailleurs (quoique je ne sais pas qui est le vrai troll là-dedans ^^), enfin peu importe maintenant que c'est commencé faut que ça finisse happy
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5626

un début n'a pas de sens si il n'y a pas de fin...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5627

Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

5628

!marre des crayons ©sally(2004)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5629

stylobille
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

5630

!marre des ST aussi...
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

5631

grin
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

5632

Hippohmu
: !marre des ST aussi...

+1
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5633

+1, moi aussi j'en avais marre de ce pseudo. (triso)
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

5634

marre des --- Post Ignored --- ...
avatar
Appartiens à l'Unification Ultime !

Exec "4e444e750000"

5635

^^
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5636

Allez, zou, croix rouge ²
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

5637

neutral
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5638

Pourquoi t'as la bouche toute plate?
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

5639

:/
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5640

tongue
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.