David Delassus a écrit 762 commentaires

  • [^] # Re: Une grammaire ?

    Posté par  (site web personnel) . En réponse au journal [Letlang] Et si on rédigeait la spec ?. Évalué à 2.

    C'est prévu.

    J'ai déjà une grammaire partiellement implémentée avec LALRPOP et Logos (cf un des articles de la série). J'hésite à mettre simplement des bouts de code de cette grammaire, ou à la traduire en grammaire BNF.

    Il y aura donc une série de LEP dans la catégorie "Language Grammar" ou "Language Implementation". Mais avant je tenais à mettre sur papier le design des fonctionnalités du language (faisons les choses dans l'ordre).

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: théorie des ensembles pas naives

    Posté par  (site web personnel) . En réponse au journal [Letlang] Et si on rédigeait la spec ?. Évalué à 3.

    C'est corrigé :)

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: théorie des ensembles pas naives

    Posté par  (site web personnel) . En réponse au journal [Letlang] Et si on rédigeait la spec ?. Évalué à 4.

    Ta présentation me semble au minimum maladroite. Mais j'ai prête mal compris.

    Non-non, je me suis bien mélangé les pinceaux.

    La théorie ZFC utilise un axiome de compréhension restreint qui empêche la construction d'un ensemble selon le paradoxe de Russel.

    Si je ne m'abuse il n'y a pas non plus de concept de "classe propre" dans ZFC

    Il me semble justement décrire les classes comme étant un ajout qui ne fait pas parti de ZFC, je vais reformuler pour clarifier.

    DISCLAIMER: Je ne suis pas mathématicien de profession, juste quelqu'un de très curieux qui a lu beaucoup de choses sur le sujet.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: maintenant 'est le certificat qui est plus valide

    Posté par  (site web personnel) . En réponse au lien Considered “18+”. Évalué à 3. Dernière modification le 02 mai 2022 à 17:18.

    Dans l'article il explique que la restriction était faite sur daniel.haxx.se et non haxx.se globalement.

    Du coup, j'en doute.

    EDIT: grillé

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: type

    Posté par  (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.

    En gros, on peut mettre des littéraux dans une définition

    Oui, ça permet par exemple de définir des énumérations :

    class roles(r: "admin" | "moderator" | "guest")
    

    on peut définir le type d'un champ plus tard.

    J'ai pas encore réfléchit à comment implémenter le type unknown. J'aimerais aussi éviter le type any si possible. Je regarderais sûrement l'implémentation de TypeScript pour m'en inspirer.

    D'ailleurs, est-ce que tu as déjà codé et tester le "&" et le "non" dans ton typage ?

    J'ai l'implémentation qui est décrite dans l'article (les structs OneOfType, AllOfType et NotType).

    Avec les tests suivants :

    let ival = Value::Primitive(PrimitiveValue::Integer(42));
    
    let itype = IntergerType {};
    
    let is_42_type = ValueType { llval: PrimitiveValue::Integer(42) };
    let not_42_type = NotType { lltype: &is_42_type };
    let int_but_not_42 = AllOfType { lltypes: vec![&itype, &not_42_type] };
    
    assert!(itype.has(&ival));
    assert!(!int_but_not_42.has(&ival));

    Ce qui en Letlang s'écrirait :

    ival := 42
    
    assert ival is int
    assert !(ival is (int & !42))
    

    Ça fonctionne bien.

    NB: Je vais peut-être changer les symboles pour pas confondre :

    • !true = false
    • !42 = false

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • # Juste un cycle dans un graphe orienté

    Posté par  (site web personnel) . En réponse au lien Qu'est-ce que la récursivité. Évalué à 2.

    Rien de bien récursif. Je le parcours toujours avec un algo impératif.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Inutile ironie

    Posté par  (site web personnel) . En réponse au lien À propos des liens sur le site LinuxFR. Évalué à 3.

    A titre personnel, je trouve ce genre de commentaire inutile. Vraiment..

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Aucun intérêt

    Posté par  (site web personnel) . En réponse au lien Drew DeVault dévoile le langage de programmation Hare. Évalué à 1.

    est-ce par principe un nouveau langage de programmation n'a pas de très fortes chances d'être inutile?

    Dans ce que ça apporte à celui qui l'écrit :

    • une meilleure compréhension des concepts derrière chaque fonctionnalité du langage
    • apprentissage

    Ensuite, selon le but du langage de programmation, cela te permet de répondre à un besoin que tu as identifié (Domain Specific Language), ou de fournir une implémentation différente à des concepts existant (donc performances différentes, etc…).

    C'est jamais inutile de faire un nouveau langage.

    Mais franchement, si on veut faire quelque chose d'utile pour la communauté, il y a peut-être mieux à faire que de créer un nouveau langage de programmation.

    Pour les arguments que j'ai cité ci-dessus. C'est jamais inutile.

    En tout cas, je ne me lasserai jamais des ridiculités cosmétiques qui accompagnent tout projet de nouveau langage. Genre, regardez, il existait #include, using(), library(), module(), package(), \usepackage(), et bah mon nouveau langage c'est use:: pour inclure une bibliothèque. Et puis pour définir une fonction, c'est pas def truc:, ni sub truc { }, ni func truc() { }, ni int truc() { }, c'est fn truc() = { }.

    C'est assez ridicule comme remarque. Ce qui est important dans un langage de programmation, c'est la facilité de réutiliser les design patterns que tu connais déjà, et la facilité que tu as pour en apprendre d'autres.

    Un langage de programmation c'est avant tout représenter des algorithmes, de la logique métier et de la glue entre tout ça (à l'aide de design pattern).

    La syntaxe, c'est accessoire, et au bout d'un moment cela ne devrait pas te poser problème.

    Que j'écrive func, function, fun, fn, on a compris. Pareil pour #include, import, use, require, …

    Discuter de la syntaxe, c'est comme discuter des goûts et des couleurs. Ça sert à rien.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • # Walt Disney Pictures présente "Elon Musk : L'entrepreneur mégalo"

    Posté par  (site web personnel) . En réponse au lien Elon Musk rachète Twitter pour 44 milliards de dollars. Évalué à 3.

    Ce puit à toxicité qu'est Twitter, va devenir un océan de connerie.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Carré glacé ?

    Posté par  (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 3. Dernière modification le 25 avril 2022 à 17:51.

    62 méfie te

    (si tu le coupe en deux, ça fait 2 petits carrés)

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: type

    Posté par  (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.

    Alors pour reprendre ton exemple :

    class message_def(v: {
      address: int,
      data: unknown,
    })
    
    class message_def_speed(v: message_def & {
      address: 0x04,
      data: float32,
    })
    
    let message_speed: message_def_speed = {
      address: 0x04,
      data: 4.2
    })
    

    Est-ce que cela répond à la problématique ?

    Cela me fait aussi penser que j'aurais aimer parfois un moyen de déclarer les dépendances entre modules, et surtout les dépendances que je ne veux jamais.

    Tu veux quelque chose de similaire à Boundary en Elixir. C'est aussi dans mon radar mais pour bien plus tard.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: type

    Posté par  (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.

    Tu aurais un exemple à donner ?

    Parce qu'il restera possible de définir un type comme ceci :

    class config(json_data: {
      debug: bool,
      loglevel: "debug" | "info" | "warn" | "error" | "critical",
      logformat: string,
    })
    

    Et ensuite de l'utiliser dans une fonction :

    # lèvera une exception au runtime si la conf est pas bonne
    let cfg: config = json.loadfile("/path/to/config.json")
    

    Ce qu'il faut bien comprendre, c'est la syntaxe :

    Keyword("class") Identifier LeftParen Identifier : TypeDef RightParen [LeftBracket TypeConstraintBlock RightBracket]
    

    En gros, tout ce qui est après le : dans les ( ) c'est une définition de type. En d'autres mots, toutes les expressions suivantes sont des types :

    • int
    • int | bool & !42
    • (:ok, int)
    • { debug: bool }

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: type

    Posté par  (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 3.

    Je vois que tu as pensé à créer des types pour les litéraux. C'est une bonne idée.

    C'est nécessaire vu que le langage target est statiquement typé. En fait, même si je target le Python ou l'Assembleur, à un moment j'ai besoin de savoir que "hello world" est une string. Tout les types composites sont construit à partir de littéraux, peu importe le langage.

    Concrètement, cela veut dire que le type est une donnée comme une autre.

    En Letlang ce n'est pas le cas. Je n'ai pas de type type par exemple. Ce qui veut dire que tu ne peux pas passer un type en argument d'un fonction :

    func foo(t: type) -> type {
      # n'existe pas en letlang
    }
    

    Le seul moyen de "passer un type en argument" c'est en utilisant des fonctions génériques :

    func foo<T>(v: T) -> T {
      # ...
    }
    

    Mais on ne peut toujours pas manipuler T comme on manipulerait un entier ou un booléen.

    tendre le concept de "constante propagation" lors de la phase d'optimisation en incluant les types structurées

    Je suis encore loin d'implémenter des optimisations, mais oui c'est dans mon radar.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Les règles, je suis d'accord avec que lorsqu'elles vont dans mon sens

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 3. Dernière modification le 03 mars 2024 à 19:59.

    marrant de débattre avec un nazi qui ne connait que l'histoire des dernières semaine qui l'arrange :).

    Le troll c'est que le Vendredi sur LinuxFR.

    Je crois qu'il n'y a pas meilleure preuve du manque de bonne foie d'un interlocuteur quand il en vient a insulter son adversaire de nazi.

    "T'es pas d'accord avec moi ? Mais quel nazi !"

    Ce genre d'amalgame fait beaucoup de mal car il retire le sens initial du mot Nazi. Le Nazi est une personne suivant une idéologie dangereuse, dictatoriale, mégalomaniaque, eugéniste, et extrêmement raciste.

    A ce que je sache, personne dans cette discussion (aussi virulente soit elle, c'est de la politique après tout) n'a montré un seul symptôme indiquant une appartenance ou un soutient à cette idéologie qui a marqué les heures les plus sombres du siècle dernier.

    entre nous tes idées sont quand même proche du fachisme ou stalinisme que de la démocratie et la liberté d'expression

    Non. Va relire tes cours d'histoire.

    tu mélange volontairement un peu tout et tu as de très jolie raccourci et argument d'autorité.

    Tu peux parler. Je ne peux même pas qualifier ton discours d'argument fallacieux, car ce n'est pas de l'argumentation, c'est juste de la diffamation.

    Bref, ta toxicité, tes mensonges, et ta connerie, tu te la mets ou je pense, bien profond. Bon dimanche :)

    opinion

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Allégorie du réchauffement climatique ?

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 6.

    changer certaines habitudes

    On peut vraiment parler d'habitude quand c'est 5 fois en 80 ans ?

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Allégorie du réchauffement climatique ?

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 9. Dernière modification le 23 avril 2022 à 23:21.

    C'est un mauvais exemple parmi tant de meilleurs exemples.

    Quand on dit "il n'y a que les riches qui prennent l'avion" on entend implicitement régulièrement.
    Comme le train ou la voiture pour môssieur lambda.

    Non, le fait que j'ai pris une fois l'avion dans ma vie n'est pas la raison majeure de la pollution due à l'aviation.

    Mettre dans le même panier la classe moyenne et l'élite riche, c'est juste un argument fallacieux. C'est comme l'entreprise qui déverse chaque minute des tonnes de déchets chimiques dans la mer qui accuse le pauvre petit étudiant qui a oublié d'éteindre la lumière pendant 5min.

    C'est l'hôpital qui se fout de la charité.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Allégorie du réchauffement climatique ?

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 5.

    20% des Français n'ont jamais pris l'avion dans leur vie à ce jour. Cela signifie que 80% l'ont fait, et 55% (donc un Français sur deux) l'a fait au moins 5 fois dans sa vie.
    Il y a donc bien une majorité de Français qui prennent l'avion

    C'est quoi ce foutage de gueule ?

    Parce qu'en 80 ans de vie moyenne, on a pris 5 fois l'avion, on est dans le même panier que ceux qui le prennent une fois par semaine ?

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: Les règles, je suis d'accord avec que lorsqu'elles vont dans mon sens

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à -1.

    Pour ma part, je ne suis pas d'accord avec ce scrutin y compris pour le premier tour.

    Parmi les 12 candidats, aucun ne m'a convaincu, chacun avait dans son programme des deal-breaker pour moi.

    Et je me refuse à "voter utile".

    Pour ce qui est de la légitimité d'un candidat, c'est difficile pour moi d'accepter que plus il y a de parti politique au programme proche, moins ils ont de chance de passer. En nombre de vote par rapport au nombre de français, aucun des candidats du second tour ne représente plus d'1/6 de la population.

    • 60 millions de français
    • 45 millions avec le droit de vote
    • 35 millions de vote non nul / non blanc / …
    • macron premier tour (27.8%) : 9.7 millions de votes
    • lepen premier tour (23.1%) : 8 millions de votes
    • mélanchon premier tour (22%) : 7.7 millions de votes

    Le top 3 accumule 25 millions de votes, qui est inférieur à 50% de la population française, et chacun d'eux sont inférieur à 1/6 de la population française.

    Cela veut dire que peu importe qui passe au second tour, plus de la moitié de la population ne montre pas son soutient au candidat. Si il y avait un référendum après le second tour pour destituer le président, dans tout les cas il le serait (destitué).

    Dans ce cas, on est bien en droit de se demander "pourquoi le scrutin actuel permet à un candidat d'arriver au pouvoir quand la majorité est contre lui ?" (en d'autres mots: quelle est sa légitimité ?)

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 7.

    Faut un peu se calmer sur la condescendance et arrêter de prendre les gens pour des cons.

    Non, "ne pas pouvoir choisir entre le gangrène et la mort" ne signifie pas une préférence pour "la mort".

    Non, voter blanc ce n'est pas souhaiter secrètement que Lepen passe parce qu'après tout on l'a jamais essayé.

    T'aurais voté qui entre Lepen et Zemmour par exemple si ils étaient tout les 2 au second tour ?

    C'est si difficile que ça de comprendre que l'on ne souhaite pas choisir entre 2 alternatives négatives ?

    Pour reprendre l'exemple du gangrène, le patineur artistique qui en fait depuis 40 ans et dont c'est la passion et la raison de vivre, tu penses vraiment qu'il serait capable de choisir délibérément qu'on lui coupe une jambe ?

    Le pianiste de vocation accepterait-il qu'on lui coupe les mains ?

    Le peintre choisirait-il de perdre la vue ?

    Le fils d'immigré vivant en dessous du seuil de pauvreté choisira-t-il un(e) président(e) qui le méprise et ne se battra jamais pour améliorer son niveau de vie, au contraire ?

    Bah oui, c'est la limite des métaphores à la con. On trouve des contre-exemples à la con.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 1.

    Perso, j'avais voté contre, et je pense que c’était une connerie.

    J'avais pas le droit de vote à l'époque, mais j'ai la même analyse que toi.

    Cependant, cela reste le scrutin majoritaire uninominal, il n'a pas changé.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 7.

    Bah en l’occurrence, si.

    Bah en l'occurence non. Le principe théorique du scrutin majoritaire uninominal est le suivant :

    • tu donne vote au candidat que tu supporte

    Je ne donne mon support à aucun des deux. Je vote blanc. Ah mince, le vote blanc est pas comptabilisé ? Bah je me déplace pas alors, ça sert à rien.

    Je ne reconnais pas la légitimité de ce modèle de scrutin, je n'y participerai pas.

    Après, on est en tel désaccord, j'ai pas l'impression que ni toi ni moi ne feront changer d'avis l'autre. C'est pas forcément l'objectif non plus.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 4.

    Si tu restes en France et que tu ne votes pas, c'est pas "ne pas jouer". Ne pas jouer, c'est partir à l'étranger, et renoncer à sa citoyenneté.

    Ok, tu m'as convaincu sur la terminologie. Quitter la France est effectivement une option que je considère de plus en plus.

    Pour info, je vote aux municipales car je suis convaincu que les pouvoirs locaux ont plus d'importance sur la vie de tout les jours. Mais c'est peut être ma naïveté qui parle.

    "faire barrage", ça n'a l'air d'être un souci qui revient que tout les 5 ans

    Pourquoi il semble être accepté par tout le monde (y compris les dirigeant) que le parti politique de Mme Lepen est un danger pour la démocratie et que personne ne fait rien ? C'est pourtant simple, il suffirait d'interdire le parti politique pourtant, ah mince c'est anti démocratique aussi, on a pas le droit de censurer même ceux qui sont un danger pour la liberté, l'égalité et la fraternité.

    Si on accepte de "faire barrage", on devrait accepter de les censurer. C'est strictement la même chose sauf que dans le premier cas on se retrouve a devoir voter pour une option négative ou s'abstenir.

    c'est trop demander à beaucoup de gens vu les chiffres que tu donnes

    Bah oui, avec l'inflation, le budget vaseline prend une plus grosse part des foyer des classes moyennes et pauvres.

    Et puis je trouve ça drôle que la faute de la montée de l’extrême droite n'est jamais imputé à l’extrême droite elle même.

    L'histoire a montré que les temps durs sont le terreau idéal pour la montée du fachisme, du nationalisme, et l'extrême droite. Hors les temps durs sont très souvent provoqués par les décisions du gouvernement en plus des crises financières, climatiques, ou militaires.

    L'extrême droite a toujours été très douée pour profiter des échecs de la classe dirigeante pour rallier des partisans. Mais il faut dire que cette classe dirigeante ne leur rend pas non plus trop la vie dure.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 0.

    C'est faux, il y a des candidats qui veulent changer les règles.

    On parle bien des mêmes règles ? A savoir "le mode de scrutin".

    je pense qu'on peut éviter de faire comme la première version

    Ca me rassure, je suis pas trop fan de la violence.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 5.

    Mélanchon est donc le seul à proposer une nouvelle république, oui.

    Mais on fait quoi si on adhère ni à la 5è, ni à ce qu'il propose ? Qui a participé à la rédaction de cette 6è république ? On peut y apporter des propositions ou on fait la notre dans notre coin ?

    Et le peuple a décidé: non, on ne veut pas de ça.

    Même si le peuple pourrait souhaiter une 6è république, cela veut pas dire qu'il va accepter la première venue.

    Voilà, "on" a décidé de ne pas changer les règles. La démocratie fonctionne.

    Le peuple a décidé de ne pas élire Mélanchon en tant que président de la 5è république. Il ne s'est pas prononcé sur le projet de 6è république.

    Faut juste accepter quand les autres sont majoritaires et pas d'accord.

    Difficile de déterminer si la majorité est réellement d'accord avec les choix qui sont fait alors que cela fait plus de 10 ans qu'on vote "contre" des candidats au lieu de voter "pour" un programme.

    (inutile de s'énerver sur moi: je n'ai pas voté Macron ni Lepen)

    T'inquiète, personne s'énerve là :)

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • [^] # Re: règles

    Posté par  (site web personnel) . En réponse au journal Une personne malade qui ne veut pas explicitement choisir aura.... Évalué à 4. Dernière modification le 22 avril 2022 à 21:31.

    c'est se dire que voter le pen ou voter macron, ça serait pareil

    Ou alors c'est se dire que voter macron en 2022 c'est faire passer lepen en 2027. Et donc que sur le long terme, le résultat sera bien le même.

    Après oui, on n'est pas à l'abri que la gauche se réveille, se rassemble, et fasse 30% au premier tour en 2027, mettant fin ainsi à 20 ans de division progressive. Après tout, qui va remplacer Macron une fois qu'il aura fait ses 2 mandats (nombre maximal de mandat présidentiel dans la constitution si je me souviens bien).

    EDIT PS:

    Le vote blanc (ou l'abstention) c'est surtout dire "aucun des deux ne me convient". Et certainement pas "c'est les mêmes".

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg