Journal fusebox : transformations composées sur des systèmes de fichiers FUSE
Chers tous, voici un petit projet qui me faisait envie depuis longtemps et que j'ai réalisé récemment.
Il s'agit d'utiliser FUSE pour enchaîner des transformations simples, et surtout spécifiées de façon concise sans errno ni masques bit-à-bit, sur une arborescence de fichiers existante : filtrer les fichiers affichés, changer le nom ou le contenu des fichiers, etc.
Le projet prend la forme d'une bibliothèque Java, appelable depuis des scripts JBang par exemple.
Q : Keuwah ?! Mais pourquoi (…)
Journal port des for_comprehension de scala en ruby
contexte: map et flatMap
Scala est un langage fonctionnel, et donc les operateurs map et flatMap sont très utilisés.
Pour rappel:
-
mapperment d'appliquer une fonction à chaque élément d'une structure de données. -
flatMappermet d'appliquer une fonction qui retourne une structure de données à chaque élément d'une structure de données, et de "déplier" le résultat.
Cela s'applique à des liste, mais pas seulement.
exemples de map
Avec une liste:
val list = List(1, 2, 3 (…)
Journal Wikifunctions est le nouveau projet de le fondation Wikimedia, un wiki de fonctions éditables par

Ce journal a d’abord été posté en lien, mais à la demande générale des commentaire …
Wikifunctions (ancien nom de code : Wikilambda) est le nouveau projet de le fondation Wikimedia, un wiki de fonctions, au sens informatico-mathématique du terme, éditables par tout un chacun, avec des implémentations dans plusieurs langages de programmation, que tout le monde peut écrire et appelable/exécutable avec une API publique.
Conçu pour servir d’infrastructure au projet Abstract Wikipedia (Présentation ici), un (…)
Sortie d’Erlang/OTP 24
À l’occasion de la sortie d’Erlang/OTP 24, le 12 mai 2021, je voudrais vous présenter cet environnement de programmation : le langage Erlang et son écosystème.
Journal Dhall, une réponse au problème de configuration

Cher Journal,
Ne te fie pas à l’intitulé, « le problème » n’est qu’un condensé fourre-tout pour ce qui est connu en tant que “Software Configuration Management issues” dans la lingua veicolare de la sphère informatique. Quant à Dhall, il s’agit d’un langage spécialisé dans la gestion de configurations1.
Présentation
Condensé en deux ou trois paragraphes
Dhall est un outil primordialement destiné à programmer les fichiers de configuration. En acronymes de moins de cinq lettres, tu as certainement (…)
GNU Guix version Un‐Point‐Zéro
Nous sommes très heureux d’annoncer la publication de GNU Guix version 1.0.0 !
GNU Guix est un gestionnaire de paquets transactionnel et une distribution GNU perfectionnée qui respecte la liberté des utilisateurs. Guix peut être utilisé avec n’importe quelle distribution utilisant le noyau Linux, tout comme il peut être utilisé comme système d’exploitation à part entière pour des machines ayant une architecture i686, x86-64, ARMv7 ou AArch64.
En plus des fonctionnalités habituelles pour gérer des paquets, Guix permet des mises à jours et retours en arrière transactionnels, une gestion des paquets qui ne nécessite pas de droits privilégiés, des profils pour chaque utilisateur et une gestion automatique de la mémoire.
Lorsque Guix est utilisé comme une distribution GNU/Linux autonome, il permet la gestion de la configuration du système d’exploitation par une approche déclarative et sans état. Guix est extrêmement personnalisable et bidouillable via Guile qui est une implémentation du langage Scheme avec quelques extensions.
La publication fournit des images d’installation ISO 9660, une image pour machine virtuelle et des archives tar.xz pour installer le gestionnaire de paquets sur votre distribution GNU/Linux à partir des sources ou des binaires. Les utilisateurs de Guix peuvent mettre à jour en lançant guix pull.
La suite de la dépêche est une traduction de l’annonce officielle. Cette traduction n’a pas été faite par l’équipe de Guix, le « nous » utilisé dans la dépêche renvoie à l’équipe Guix, pas aux traducteurs.
Lien Un serveur de webcam en 35 lignes de Haskell
Journal le style fonctionnel en vidéo (nix, nixos, haskell...), la suite...
Bon bah, j'ai continué les vidéos du journal précédent (https://linuxfr.org/users/nokomprendo-3/journaux/le-style-fonctionnel-en-videos-nix-nixos-haskell).
Au passage, je suis passé sur framagit et j'ai ajouté un formatage plus propre des articles via hakyll (https://nokomprendo.frama.io/tuto_fonctionnel).
Les nouveaux sujets :
- Personnaliser une image Docker de NixOS pour de l'intégration continue
- Déployer un blog avec Hakyll, Gitlab-ci, Nix
- Nix, programmation et loi de Murphy
- Créer et partager des paquets Nix
- Archlinux vs Voidlinux
- Migrer un système NixOS (de (…)
Lien État des lieux des langages fonctionnels
Journal La recherche en langages de programmation au quotidien
Dans le cadre de mon travail j'ai été amené à écrire un petit texte qui explique mon quotidien fait de "recherche (scientifique) en langages de programmation". Je me permets de le diffuser ici au cas où ça intéresse des gens.
Ma recherche
Je travaille à l'INRIA, un institut public français de recherche en informatique. Je fais de la programmation et de la recherche sur les langages de programmation.
Mon rôle est d’étudier ces langages, de mieux les comprendre (…)
Journal le "style fonctionnel" en vidéos (Nix, NixOS, Haskell)
Salut
Si ça intéresse quelqu'un, j'ai fait quelques vidéos sans prétention sur l'utilisation de Nix/NixOS et la programmation en Haskell. Pour l'instant, il n'y en a qu'une dizaine; je pense en faire d'autres plus tard mais… plus tard.
Les vidéos : https://www.youtube.com/watch?v=i6s-G_Hh3s4&list=PLe8vnuC2T7iGE3w_d-MCHw5mLzRAMiCM9
Les résumés + codes : https://github.com/nokomprendo/tuto_fonctionnel
Les sujets des vidéos :
01 : Installation de NixOS
02 : Gestion de paquets avec Nix
03 : Installation de Nix sur Debian
04 : Utilisation des canaux avec Nix/NixOS
05 (…)
Journal Tous les parsers JSON sont mauvais
Introduction
Ce weekend, je me suis intéressé au langage JSON, aux parsers JSON par défaut de plusieurs langages de programmation, et j'ai fait des découvertes intéressantes.
Je pense que le langage JSON n'est plus à présenter à personne, mais au cas où vous vivriez dans une grotte depuis 1999,
petit résumé rapide: JSON est un format de données, très utilisé notamment sur le web, et qui a l'avantage d'être plutôt compact, assez lisible par les êtres humains, et surtout implémenté (…)
Appel à conférences PolyConf 17 à Paris (7 au 9 juillet) : « The Universe of Programming Languages »
PolyConf est une conférence pour échanger sur les meilleures pratiques de la programmation. Les programmeurs sont trop souvent réduits à un langage de programmation alors qu’il est plus sage, dans un contexte d’innovation constante, d’apprendre à apprendre et de combiner le meilleur de chaque langage dans des solutions ad hoc. Autrement dit, le fait de ne pas se spécialiser en tant que développeur sur un langage spécifique, pour préférer une approche polyvalente. Concrètement, cela s’est reflété dans le programme de l’événement qui a traité de nombreux sujets : Ruby, Python, Haskell, Rust, Erlang, Go, Java, F#, JavaScript…
NdM. : cette édition est intitulée « L’univers des langages de programmation. Ne voyez pas les frontières / limites, voyez les horizons » (The Universe of Programming Languages. Never see boundaries, but only horizons). Les trois précédentes éditions ont eu lieu à Poznan en Pologne. Les huit éditions précédentes (à l’époque l’événement se nommait « RuPy », a priori plus centré sur Ruby et Python) ont eu lieu à Budapest, Brno, au Brésil et en Pologne.
Journal Sortie de GHC 8.0.2 et une petite histoire de typage statique
GHC, le compilateur Haskell le plus utilisé, est sorti en version 8.0.2, vous pouvez consulter l'annonce de la sortie datée du 11 janvier 2017 ainsi que les notes de version
Il s'agit principalement d'une version de suivi qui corrige plus de deux cent bugs depuis la version 8.0 dont l'annonce de la sortie
avait été faite sur http://linuxfr.org. Donc à ce titre, il n'y a pas grand chose à raconter. Le futur, c'est GHC 8.2 qui (…)


