À noter (pour rebondir sur la deuxième partie du commentaire, le code, qui n’a presque rien à voir avec la première partie, la mémoïsation) qu’on peut aussi faire de la meta-programmation grâce à l’extension Template Haskell. Une extension très utilisée, qui permet aussi de faire de la meta-programmation à l’exécution (!) et qui voit sa sûreté renforcée grâce au typage dans cette nouvelle version. Probablement l’une des avancées fondamentales de GHC 7.8.
Si le langage était vraiment pur, tu n’aurais ni affichage pour voir le résultat, ni rien du tout, le simple fait d’exécuter du code sur un ordinateur a un effet (par exemple en cherchant à allouer une grande quantité de mémoire dans un système plus ou moins chargé).
En Haskell, le code est par défaut pur, et le code impur est très visiblement marqué comme tel. Dans ton exemple, foo est de type Num a => a -> IO a. On travaille donc dans la monade IO, qui a été spécialement conçu pour gérer les effets de bords. Mais il est vrai que la formulation de la dépêche est quelque peu obscure. L’équivalent Haskell d’une entrée comme input en Python est forcément impur.
D’un point de vue moins pragmatique, tu te trompes. Ta fonction foo n’a pas renvoyé un résultat différent à chaque fois. Elle a toujours renvoyé une Num a => IO a. Le fait qu’a un moment donné quelque chose (une valeur numérique, probablement un Int) ait été généré à partir de cette IO n’affecte pas la pureté de foo.
Bah, il faut faire des choix, soit on fait un disclosure responsable, soit on fait un site web avec des jolis logos :-)
Sinon, 10.0-RELEASE-p1 est sorti, pour ceux qui ne voulaient pas appliquer le patch et recompiler base, ni installer openssl depuis les ports (où heartbeat était déjà une option désactivable).
Note : côté sécurité mais un peu en marge, la version 3.0 des pilotes Intel pour X.Org permettra à ce dernier de tourner sans les droits root en s'appuyant sur systemd/logind (le défunt OS Moblin 2.0 avait étrenné dès 2009 cette fonctionnalité rendue théoriquement possible par KMS).
Fonctionnalité disponible sous BSD sans utiliser SysTemD (pour Intel et ATI).
Posté par neil .
En réponse à la dépêche FreeBSD 10.
Évalué à 4.
Dernière modification le 22 janvier 2014 à 22:15.
/racine natif en ZFS (bien qu'expérimental si j'en crois le menu d'installation)
De fait, ça a toujours très bien marché sans utiliser l’installeur graphique, au moins en version 8.x et 9.x. Installeur qui est un tantinet inutile vu le peu de commandes nécessaires à l’installation.
Pour le fameux blog de BSD FUD, tu pourras trouver quelques réponses en ligne.
Sytoka voulait surtout savoir si Pandas permet d’accéder aux fonctionnalités d’hyperslab classiques en HDF5, qui sont souvent perdues dans les wrappers.
En Haskell, tu peux faire tout ça, et c’est fait dans les codes numériques, mais ça se fait à coup d’annotations (pour l’unboxing, l’inlining ou le déroulage), de template haskell (pour le déroulage), ou en changeant de backend (-fllvm pour les registres). Heureusement, beaucoup de ce genre de code est dans des bibliothèques déjà prêtes (vector pour l’unboxing).
Dans tous les cas ça sera moins long que le temps de réparer un rm -fr /mon/serveur/ma/sauvegarde ou l’équivalent FTP/SSH/Dav pour les malins qui ont les sauvegardes en rw.
Qu’il y ait un mot de passe ou pas, un script malveillant a juste à faire alias sudo=toobad; alias su=… pour choper le mot de passe à un moment ou à un autre.
Je n'arrive pas vraiment à comprendre pourquoi aucun logiciel natif, simple comme strut
Parce que Struct (ou Sozi) n’est pas un logiciel de présentation, c’est un logiciel d’animation très très limité (à des transitions entre des rectangles). Si tu as vraiment besoin de combler le vide d’une présentation par des effets kikoolol qui filent la gerbe avec des textes qui clignotent, tu peux utiliser un logiciel Adobe, ou le libre Synfig, il y a même une page dédiée à certaines transitions basiques sur le wiki.
Ça éviterait aux Européens de payer pour un brevet qui n’a aucun sens chez eux. Rien n’est gratuit, et si la license accordée à Cisco dépend du nombre d’utilisateurs potentiels, et que les Européens sont inclus, alors oui on paie pour ça. Même si l’on est pas un client cisco directement d’ailleurs, rien que pour consulter dlfp, il doit y avoir du cisco quelque part sur le chemin.
Tu peux consulter la liste des modules QML. Qt 5.1 a apporté son lot de composants graphiques clés en main, y compris la gestion des fenêtres (module QtQuick.Window), et autres contrôleurs thémables dont des éditeurs de texte et autres boutons (module QtQuick.Controls). Les arbres se font par liste récursives, plus ou moins, et il n’y a pas de contrôleur spécial prévu pour en développement. Créer ses propres contrôleurs QtQuick entièrement en QML est trivial.
[^] # Re: Fibo
Posté par neil . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 6. Dernière modification le 15 avril 2014 à 20:51.
À noter (pour rebondir sur la deuxième partie du commentaire, le code, qui n’a presque rien à voir avec la première partie, la mémoïsation) qu’on peut aussi faire de la meta-programmation grâce à l’extension Template Haskell. Une extension très utilisée, qui permet aussi de faire de la meta-programmation à l’exécution (!) et qui voit sa sûreté renforcée grâce au typage dans cette nouvelle version. Probablement l’une des avancées fondamentales de GHC 7.8.
[^] # Re: cat troll.hs
Posté par neil . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 6.
Si le langage était vraiment pur, tu n’aurais ni affichage pour voir le résultat, ni rien du tout, le simple fait d’exécuter du code sur un ordinateur a un effet (par exemple en cherchant à allouer une grande quantité de mémoire dans un système plus ou moins chargé).
En Haskell, le code est par défaut pur, et le code impur est très visiblement marqué comme tel. Dans ton exemple,
foo
est de typeNum a => a -> IO a
. On travaille donc dans la monadeIO
, qui a été spécialement conçu pour gérer les effets de bords. Mais il est vrai que la formulation de la dépêche est quelque peu obscure. L’équivalent Haskell d’une entrée commeinput
en Python est forcément impur.D’un point de vue moins pragmatique, tu te trompes. Ta fonction
foo
n’a pas renvoyé un résultat différent à chaque fois. Elle a toujours renvoyé uneNum a => IO a
. Le fait qu’a un moment donné quelque chose (une valeur numérique, probablement unInt
) ait été généré à partir de cetteIO
n’affecte pas la pureté defoo
.[^] # Re: FreeBSD
Posté par neil . En réponse à la dépêche Nouvelle vulnérabilité dans l’implémentation OpenSSL. Évalué à 5. Dernière modification le 08 avril 2014 à 21:34.
Bah, il faut faire des choix, soit on fait un disclosure responsable, soit on fait un site web avec des jolis logos :-)
Sinon, 10.0-RELEASE-p1 est sorti, pour ceux qui ne voulaient pas appliquer le patch et recompiler base, ni installer openssl depuis les ports (où heartbeat était déjà une option désactivable).
[^] # Re: FreeBSD
Posté par neil . En réponse à la dépêche Nouvelle vulnérabilité dans l’implémentation OpenSSL. Évalué à 1.
En fait si, 10.0 est affecté !! http://lists.freebsd.org/pipermail/freebsd-security/2014-April/007405.html
[^] # Re: FreeBSD
Posté par neil . En réponse à la dépêche Nouvelle vulnérabilité dans l’implémentation OpenSSL. Évalué à 2.
C’est surtout que heartbeat est désactive dans base. FreeBSD 10.0 qui inclut OpenSSL 1.0.1e n’est pas affecté, si on n’utilise pas une autre package.
[^] # Re: L'Antifrance ne passera pas
Posté par neil . En réponse au journal Serveur mails perso. Évalué à 4. Dernière modification le 24 mars 2014 à 17:00.
Autant se faire une règle pf pour ça (ou iptables/denyhosts sous Linux).
# X.org
Posté par neil . En réponse à la dépêche Spéciale Lennart Poettering : nouvelles versions de systemd et PulseAudio. Évalué à 5. Dernière modification le 21 mars 2014 à 18:37.
Fonctionnalité disponible sous BSD sans utiliser SysTemD (pour Intel et ATI).
[^] # Re: Domaine public
Posté par neil . En réponse au journal Les Halles, un tableau naturaliste. Évalué à 10. Dernière modification le 19 mars 2014 à 18:49.
D’ailleurs il est aussi sûr de passer une demi heure dans un four à 250° que d’aller passer des vacances dans un pays chaud.
[^] # Re: commentaires non lus
Posté par neil . En réponse au journal Nouveau thème de couleurs pour la feuille de style Ron-Ronnnement.. Évalué à 2.
Ou des appuis successifs sur Entrée, après avoir sélectionné le lien
>
dans la toolbar (parf
ou clic de souris).[^] # Re: Inkscape + latex
Posté par neil . En réponse au journal Faire un poster . Évalué à 4.
Si tu veux juste mettre des formules, autant utiliser les extensions Inkscape qui permettent de le faire, par exemple textext.
[^] # Re: Oreally et Eyrolles
Posté par neil . En réponse au journal GNU/Linux Magazine: papier, numérique ou rien .... Évalué à 3.
D’ailleurs O’Reilly France ne s’en est pas sorti du tout.
[^] # Re: ZFS dés l'installation.
Posté par neil . En réponse à la dépêche FreeBSD 10. Évalué à 4.
Tu peux aussi faire tourner du « Linux » en jail FreeBSD
[^] # Re: ZFS dés l'installation.
Posté par neil . En réponse à la dépêche FreeBSD 10. Évalué à 4. Dernière modification le 22 janvier 2014 à 22:15.
De fait, ça a toujours très bien marché sans utiliser l’installeur graphique, au moins en version 8.x et 9.x. Installeur qui est un tantinet inutile vu le peu de commandes nécessaires à l’installation.
Pour le fameux blog de BSD FUD, tu pourras trouver quelques réponses en ligne.
[^] # Re: Compraison avec R
Posté par neil . En réponse à la dépêche Pandas, une bibliothèque pour manipuler facilement des données. Évalué à 3.
Le meilleur de R est l’accès aux milliers de packages statistiques disponibles dans CRAN.
[^] # Re: python 2 et 3
Posté par neil . En réponse à la dépêche Pandas, une bibliothèque pour manipuler facilement des données. Évalué à 2.
Pourtant nommer les colonnes est une fonctionnalité standard d’HDF5, dans les wrappers classiques tels que PyTables et h5py.
[^] # Re: Gros volumes de données ?
Posté par neil . En réponse à la dépêche Pandas, une bibliothèque pour manipuler facilement des données. Évalué à 3. Dernière modification le 20 janvier 2014 à 18:40.
Sytoka voulait surtout savoir si Pandas permet d’accéder aux fonctionnalités d’hyperslab classiques en HDF5, qui sont souvent perdues dans les wrappers.
[^] # Re: Il serait peut-être temps d'utiliser des langages modernes
Posté par neil . En réponse au journal Si si, le C++ peut parfois être plus rapide que le C. Évalué à 3.
En Haskell, tu peux faire tout ça, et c’est fait dans les codes numériques, mais ça se fait à coup d’annotations (pour l’unboxing, l’inlining ou le déroulage), de template haskell (pour le déroulage), ou en changeant de backend (
-fllvm
pour les registres). Heureusement, beaucoup de ce genre de code est dans des bibliothèques déjà prêtes (vector
pour l’unboxing).[^] # Re: Sauvegardes ?
Posté par neil . En réponse au journal Contre la phobie du root. Évalué à 2.
Dans tous les cas ça sera moins long que le temps de réparer un
rm -fr /mon/serveur/ma/sauvegarde
ou l’équivalent FTP/SSH/Dav pour les malins qui ont les sauvegardes en rw.[^] # Re: Sauvegardes ?
Posté par neil . En réponse au journal Contre la phobie du root. Évalué à 5.
Le root peut surtout bousiller le matériel en outre-passant les protections standards du noyau.
[^] # Re: Et c'est sans compter sudo
Posté par neil . En réponse au journal Contre la phobie du root. Évalué à 2.
Qu’il y ait un mot de passe ou pas, un script malveillant a juste à faire
alias sudo=toobad; alias su=…
pour choper le mot de passe à un moment ou à un autre.# Strut
Posté par neil . En réponse au journal Présentations…. Évalué à 4.
Parce que Struct (ou Sozi) n’est pas un logiciel de présentation, c’est un logiciel d’animation très très limité (à des transitions entre des rectangles). Si tu as vraiment besoin de combler le vide d’une présentation par des effets kikoolol qui filent la gerbe avec des textes qui clignotent, tu peux utiliser un logiciel Adobe, ou le libre Synfig, il y a même une page dédiée à certaines transitions basiques sur le wiki.
[^] # Re: bon, en fait c'est simple
Posté par neil . En réponse au journal Cisco paie le h264 en faveur de Mozilla. Évalué à 10. Dernière modification le 02 novembre 2013 à 20:05.
Ça éviterait aux Européens de payer pour un brevet qui n’a aucun sens chez eux. Rien n’est gratuit, et si la license accordée à Cisco dépend du nombre d’utilisateurs potentiels, et que les Européens sont inclus, alors oui on paie pour ça. Même si l’on est pas un client cisco directement d’ailleurs, rien que pour consulter dlfp, il doit y avoir du cisco quelque part sur le chemin.
[^] # Re: Quand même
Posté par neil . En réponse à la dépêche Entretien avec François Tigeot, développeur DragonFly BSD. Évalué à 8.
Et d’entendre Tanenbaum hurler : « Je vous l’avait bien dit ! »
[^] # Re: Tu as oublié une possibilité
Posté par neil . En réponse au journal [Trolldi] Le langage plus approprié pour écrire des applications graphiques multiplateformes. Évalué à 2. Dernière modification le 25 octobre 2013 à 18:15.
Tu peux consulter la liste des modules QML. Qt 5.1 a apporté son lot de composants graphiques clés en main, y compris la gestion des fenêtres (module QtQuick.Window), et autres contrôleurs thémables dont des éditeurs de texte et autres boutons (module QtQuick.Controls). Les arbres se font par liste récursives, plus ou moins, et il n’y a pas de contrôleur spécial prévu pour en développement. Créer ses propres contrôleurs QtQuick entièrement en QML est trivial.
[^] # Re: Et go ?
Posté par neil . En réponse à la dépêche Présentation de Rust 0.8. Évalué à 2. Dernière modification le 13 octobre 2013 à 08:53.
Je ne connais pas du tout Rust, mais par exemple les GADTs ? (Edit : En fait non, ça a presque 20 ans.)