Axioplase ıɥs∀ a écrit 3037 commentaires

  • [^] # Re: typage mou

    Posté par  (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 5.

    @ c'est l'opérateur de concaténation de listes.
    [1;2]@[3;4];; (* [1;2;3;4] *)

    return n'est pas un mot clé. Dans la mesure où le langage est fonctionnel et où toute expression et tout statement retourne une valeur, ça serait inutile d'avoir ce mot clef [http://caml.inria.fr/pub/docs/manual-ocaml/manual044.html]
    En haskell non plus ce n'est pas un mot clef.


    let _ = foo
    ça évalue foo puis ça jette le résultat. _ est un nom de variable valide, mais qui n'est accessible qu'en écriture. Tu peux donc faire let x = 3 in x mais pas let _ = 3 in _. C'est une info pour le compilo qui peut économiser des registres en ne sauvant pas la valeur retournée.
    La raison est que (>>) ne garde pas son résultat, alors que concatMap va me rendre une liste. Idéalement, il faudrait que je code une autre fonction qui me retourne la liste vide, mais j'ai eu la flemme, et le code ci-dessus a la même sémantique. (Et si tu te demandes l'intérêt d'évaluer une expression pour jeter son résultat, rappelle toi qu'on peut faire des effets de bord, donc que let _ = foo () in 42 et 42 ne sont pas pareil.)


    Pour ne pas comprendre
    let test () = foo, tu n'as pas du faire beaucoup de d'Ocaml.
    Ça déclare la *fonction* test qui n'a aucun argument. À chaque fois que tu l'appelles, foo est évalué.
    let test = foo déclare la *variable* test. foo n'est évalué qu'une fois, lors de la déclaration de test dont la valeur —qui ne changera plus jamais— est le résultat de l'évaluation de foo.
  • [^] # Re: typage mou

    Posté par  (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 2.

    Bon, le code ci-dessous est crade, mais dériver EQ, c'est juste associer un nombre qui s'incrémente à chaque nouveau constructeur.
    C'est d'ailleurs ainsi que c'est implanté en Caml, et sans doute en Haskell.

    Et ça se fait en CL assez facilement.
    (Après, il serait sans doute judicieux de passer par des méthodes génériques pour pouvoir traverser automatiquement des listes, vecteurs…)

    (defmacro init-order-table ()
    (defvar *order-table* (make-hash-table :test #'eql)))

    (defmacro defconstant-ordered (&rest constants)
    (cons 'progn
    (loop for c in constants
    for i from 0
    collect
    `(setf (gethash ',c *order-table*) ,i))))

    (defmacro compare (sym1 sym2)
    `(let ((v1 (gethash ',sym1 *order-table*))
    (v2 (gethash ',sym2 *order-table*)))
    (cond
    ((= v1 v2) 'EQ)
    ((< v1 v2) 'LT)
    (t 'GT))))

    (init-order-table)
    (defconstant-ordered cFoo cBar)

    (list
    (compare cFoo cBar)
    (compare cBar cFoo)
    (compare cBar cBar))



    type foo = Foo | Bar;;

    [(compare Foo Bar);
    (compare Bar Foo);
    (compare Bar Bar)];;
  • [^] # Re: typage mou

    Posté par  (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 4.

    Dire qu'il y a des monades en Haskell, mais pas en OCaml, c'est un peu comme dire qu'il y a des design pattern en C++ mais pas en Java…

    let concatMap f x = List.fold_left (@) [] (List.map f x);;
    let return x = [x];;
    let (>>=) v f = concatMap f v;;
    let (>>) v f = let _ = concatMap f v in [];;

    let test () =
    [0;1;2;3;4;5] >>=
    (fun x -> ["A";"B";"C";"D";"E"] >>=
    (fun y -> return (x,y)));;


    Et voila le travail.

    Les monades, quand on code, c'est rien d'autre qu'une interface…
    Et vu qu'OCaml a une couche objet, j'imagine qu'on peut même coder ça proprement, avec l'inférence de type qui se charge d'appeler les méthodes ">>=", ">>" et "return" correspondant à l'usage précis dans le code.
  • [^] # Re: Mais sinon, pourquoi je devrais m'intéresser à ce énième langage

    Posté par  (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 2.

    Et alors, ça change quoi ?
    Ça veut dire que moins de programmes valides qu'on écrit en CL seront acceptés par Go, c'est tout !

    Puis coller un typeur à CL (ou un sous-ensemble) c'est pas dur…


    Tant qu'à faire, si je devais coder en Go, je programmerais sans doute en CL, pour compiler vers Go après au début, jusqu'à ce que les gens autour se rendent compte qu'il n'est en fait pas nécessaire d'utiliser Go…
  • [^] # Re: Oui

    Posté par  (site web personnel) . En réponse au journal Humeur 4 : Couvrez cette information que je ne saurais voir. Évalué à 4.

    Oui mais non.
  • # Tout à fait d'accord (mais pas avec toi)

    Posté par  (site web personnel) . En réponse au journal Google: vers un contrôle assumé des résultats. Évalué à 2.

    >> - Comme dit sur l'article et qui tombe sous le sens, je ne vois pas comment Google peut être sûr qu'un terme particulier est lié au piratage.
    >> Je peux très bien chercher un logiciel de rippage de DVD disponible en torrent...

    Oui. Et dans les faits, ni « logiciel » ni « rippage » ni « DVD » ni « torrent » ne sont classés par google comme des termes liés au piratage. J'imagine qu'il y a assez de geeks là-bas pour qu'ils s'y connaissent un tant soit peu.

    Ensuite, il est possible que le site laisse passer « torrent truite omble » mais pas « torrent le-dernier-flim-qui-vient-de-sortir. »


    >> La censure n'est désormais plus réservée aux dictatures,

    Et ne l'a jamais été.
    Tu as toi-même du expérimenter la censure via tes parents bien avant, avec l'interdiction de regarder des films d'horreur ou de cul avant tes 10 ans. Ou même qu'ils t'avaient caché l'existence de ces films. Honte sur tes parents totalitaires, dictatoriaux et hadopistes. Et honte sur toi aussi, le fruit de leur union.

    >> et en plus elle relève maintenant des désidérata d'entreprises et non de gouvernements.

    En plus, google, c'est vraiment des connards : ils censurent le spam qui arrive chez moi ! Quelle bande d'enflures ! Ils censurent viagra, cyalis, online pharmacy, alors que si ça se trouve, y a plein de clients de gmail qui ont des besoins de soutient (pénien).
  • # Ça commence mal

    Posté par  (site web personnel) . En réponse au journal Quand Oracle parle à Hudson. Évalué à 2.

    >> Chère ... lecteur (oui pas de s car je ne pense pas en avoir plus d'un)

    Ouais, enfin, fallait écrire « lectrice » quand même alors…
  • # Le serveur web ?

    Posté par  (site web personnel) . En réponse au journal Le serveur de la FSF piraté?. Évalué à 3.

    Ouais, enfin, mettre des données secrètes sur le serveur web, hein…
  • [^] # Re: Mais que ce qu'il a de si spécial ce ZFS ?

    Posté par  (site web personnel) . En réponse au journal ZFS sous GPL grâce à GRUB ?. Évalué à 5.

    >> tout le monde veut l'avoir en GPL

    Non, seulement les frustrés qui sont coincés avec leur GPL manichéenne qui demande tout ou rien, et qui ne peuvent en conséquence pas avoir accès à ZFS comme ils le voudraient.
  • [^] # Re: Pourquoi compliquer ?

    Posté par  (site web personnel) . En réponse au journal ZFS sous GPL grâce à GRUB ?. Évalué à 2.

    >> C'est à dire que l'ensemble du logiciel DOIT être distributé sous GPL (et ce sans violer les conditions des autres licences).

    Distribué ou distribuable ?
    C'est pas pareil du tout.
    Distribué veut dire que je ne peux plus privatiser un bout de code en BSD fourni avec le logiciel GPL. Distribuable veut dire que si.

    Si c'est le premier cas, je trouve que ça pue vraiment.
  • [^] # Re: attention

    Posté par  (site web personnel) . En réponse au journal ZFS sous GPL grâce à GRUB ?. Évalué à 1.

    D'habitude, on écrit plutôt « Florent G. » et avec des majuscules aux noms propres.
  • [^] # Re: Erreur URL de ma feuille

    Posté par  (site web personnel) . En réponse au journal On peut se copier dessus ? Concours linuxfr.. Évalué à 10.

    Ouais, enfin, on fait pas le concours pour des clous, hein !
    Il peut très bien participer pour gagner le lot. Et à moins que vous ayez prévu un lot par personne qui a participé à la CSS gagnante, je trouve que l'accès publique aux données et la notion même de concours sont incompatibles…

    Alors bon, un concours où le gagnant (celui qui a bossé) n'est même pas sûr d'avoir son prix, raflé par un autre (celui qui a pompé), j'appelle ça un piège à con.

    Dans les concours, les appels d'offre, je crois bien que ne pas dévoiler son travail en cours est ce qu'on appelle couramment du bon sens…
    Si on avait le choix de se tirer une balle dans le pied, pourquoi pas, mais ça n'a même pas l'air d'être le cas…
  • [^] # Re: je vais surement dire une betise

    Posté par  (site web personnel) . En réponse au message network-manager, DSL et MTU. Évalué à 2.

    Oui, mais comme j'ai qu'un seul port ethernet, je ne peux plus avoir de réseau local après car j'ai qu'un seul port ethernet (ça me dérange pas du tout de filer une IP statique sur le LAN.)
    Donc je ne cherche pas tant que ça à partager le modem… Étant seul utilisateur, c'est pas un souci…
  • # Wow !

    Posté par  (site web personnel) . En réponse au sondage Combien de spams recevez-vous par jour ?. Évalué à 2.

    Seulement 3 votes ?!
    Eh ben, c'était calme à l'époque…

    Puis personne ne recevait plus de 50 mails de spam par jour ?
    Eh ben, c'était calme à l'époque…
  • [^] # Re: tiling : ion3, wmii, xmonad

    Posté par  (site web personnel) . En réponse au message WM sans bureau et sans barre de tâche. Évalué à 2.

    Ok, alors j'ai une question pour toi…

    Dans ma conf, j'ai
    >> ((modm, xK_space ), sendMessage NextLayout)

    Mais des layouts, j'en utilise beaucoup beaucoup…
    Et de temps en temps, je vais trop vite…
    Le message PreviousLayout n'existe pas.
    Comment je fais pour revenir au layout précédent sans faire le tour ?
  • [^] # Re: Y'a-t-il un flic dans la tombe ?

    Posté par  (site web personnel) . En réponse au journal Y'a-t-il un flic dans la tombe ?. Évalué à 1.

    Eh ben.
    J'ai trouvé ce film d'une nullité. Même pas digne de passer sur M6 lors d'une soirée séries B…
  • [^] # Re: Que dire ?

    Posté par  (site web personnel) . En réponse au journal Y'a-t-il un flic dans la tombe ?. Évalué à 6.

    T'as vu le terme plusieurs fois et t'as pas eu l'idée une fois d'aller chercher dans un dictionnaire ou sur internet, au hasard sur le wiktionnaire ?

    (ceci est une intervention d'apparence aigrie à l'intention d'un probable comique de répétition, vu l'ancienneté de la moule.)
  • # Si t'insistes

    Posté par  (site web personnel) . En réponse au journal Pour que DLFP 2.0 roxxe les ours. Évalué à 2.

    >> je t'invite à moinsser ce journal bookmark

    Mais c'est vraiment pour te faire plaisir alors, car je fais ça à contre-cœur.
  • [^] # Re: c'est pas gagné...

    Posté par  (site web personnel) . En réponse au message Installation d'un .deb sous Mandriva 2009. Évalué à 5.

    Dis-donc, t'as pas l'impression d'être un peu culotté là ?

    Ça fait une semaine que t'as créé ton compte, t'es pas foutu de comprendre le bon sens et de communiquer clairement, et tu oses dire à un gars qui est là depuis 9 ans d'aller jouer ailleurs parce qu'il te dit comment faut s'y prendre ?

    Eh ben…
  • # Trop de précautions

    Posté par  (site web personnel) . En réponse au journal Microsoft soutient et contribue à Open Street Map. Évalué à -2.

    >> Connaissant Microsoft on pourrait s'attendre à de la manipulation malveillante diabolique.

    Oui, et c'est d'ailleurs forcément le cas. Il n'est pas possible qu'il en soit autrement.

    >> Mais il reste encore plein d'inconnues avant de pouvoir soit applaudir des deux mains soit cracher sur cette annonce.

    Non, c'est MS, alors on peut tout de suite cracher dessus. Avec MS, y a pas de juste milieu : soit ils ont tort, soit on a raison.

    Alors crachons ! crachons !
    Sus à la modération !
  • [^] # Re: Discrimination ?

    Posté par  (site web personnel) . En réponse au journal Temps de démarrage. Évalué à 3.

    Allez, je me dévoue…

    >> j'ai eu tord.

    torT.

    (rassure-moi, tu parlais bien de ça en disant qu'il allait manger cher ?)
  • [^] # Re: Déjà pris

    Posté par  (site web personnel) . En réponse au journal Généralisation de la décentralisation & XMPP ?. Évalué à 4.

    Dans des langues qui ne distinguent pas le "v" du "b", c'est pareil.
  • [^] # Re: En voilà une nouvelle qu'elle est bonne

    Posté par  (site web personnel) . En réponse au journal Mise à dispo des sources Latex de la traduction de The Island. Évalué à 3.

    >> Excellente initiative d'avoir mis le texte en latex !

    Je me demande si docbook n'aurait pas été mieux.
    Toujours plus facile de compiler d'un langage contextuel vers un langage non contextuel que l'inverse… (ie, on peut exporter docbook vers latex, mais je ne me risquerais pas à faire l'inverse…)
  • [^] # Re: Comment on compile ?

    Posté par  (site web personnel) . En réponse au journal Mise à dispo des sources Latex de la traduction de The Island. Évalué à 2.

    T'avais bien mis ton babel en français ?

    Jette un coup d'œil à [http://perso.enstimac.fr/~gaborit/latex/latex-in-french.html] à tout hasard…
  • [^] # Re: Résultat des test.

    Posté par  (site web personnel) . En réponse au message portée des méthodes. Évalué à 2.

    >> Pourquoi se code ne marche pas?

    1/ « ce » code.
    2/ si tu dis pas quelle est l'erreur, on ne va pas deviner à ta place.
    3/ « //Test sur les methodes imbriquées. » Au hasard : le test échoue, c'est donc que les méthodes imbriquées ne marchent pas en Java.