18:51:18 AlphaZeta mais bon si c'est pour avoir un socle commun, je suis prêt à abandonner cette feature 18:51:48 AlphaZeta même si c'est pas incompatible avec l'impératif (Swift a un système de curryfication justement) 18:53:52 @Emeric L'idée de Pratonus plus haut covient à tout le monde ? 18:54:15 AlphaZeta bah du coup ok 18:54:48 Ludoviking c'est quoi déjà son idée 18:54:51 Ludoviking ??? 18:55:03 @Emeric 18:42:43 - Praetonus: L'idéal ça serait peut être comme déjà dit plusieurs fois de lancer un atelier par paradigme. On pourrait commencer par un socle commun avec uniquement la structure générale du programme de posée (AST et génération de code) et peut être quelques éléments du langage (comme les fonctions qui je pense se retrouvent partout) 18:55:49 Ludoviking je suis ok 18:56:32 AlphaZeta ok 18:58:55 Praetonus Ou en fait, ça pourrait être fun de faire un langage avec le plus de features possibles (points bonus pour les incohérences et redondances notables) 18:59:21 AlphaZeta ouais pas mal 18:59:34 → malnuxstarck est entré 18:59:58 AlphaZeta ça va être le bordel mais balek après tout, c'est pas fait pour être utilisé en industrie 19:02:52 AlphaZeta concurrent functional/imperative hybrid aspect/object/actor oriented logic programming language 19:03:11 @Emeric Ca fait rêver ! ^^, 19:03:20 malnuxstarck Grave ! 19:03:33 thizanne Praetonus 19:03:33 thizanne praetonus: si je demande une team pour un langage orienté acteurs, on me jette des tomates ? 19:03:54 thizanne non, on te dit que pourquoi t'aurais besoin de l'autorisation de carnufex pour t'en occuper 19:04:04 AlphaZeta tout paradigme est la bienvenue 19:04:33 thizanne meanwhile après cet après-midi de discussion, qui a écrit une ligne de code ? 19:04:56 carnufex Tu es pressé, thizanne ? 19:05:09 carnufex J’attendrais plutôt ça d’un jus de fruit… 19:05:15 thizanne non, moi je m'en fiche un peu 19:05:27 AlphaZeta carnufex: ;D 19:05:29 dinosaure je pense que vous êtes toujours face à un non-problème que la majorité des gens ici n'arrive pas à concretement comprendre 19:05:30 thizanne comme je l'ai dit plus haut, implémenter un langage ça me prendrait une heure ou deux 19:05:45 Ludoviking Je propose la creation d'un nouveau paradigme (non je rigole déjà que c'est dur de faire un langage) 19:05:46 thizanne mais ça m'empêche pas de vous faire remarquer que vous prenez les choses dans le mauvais ordre 19:06:34 AlphaZeta figurez vous que j'ai découvert un langage encore en alpha privée qui a inventé un paradigme 19:06:35 carnufex J’ai pour habitude de réfléchir avant de coder, mais chacun son truc, hein… 19:06:46 ← Sandlayth est parti du salon ("WeeChat 1.3") 19:06:53 AlphaZeta http://www.luna-lang.org/ 19:07:02 AlphaZeta inspiré de Haskell un peu 19:07:10 thizanne de « réfléchir » 19:07:11 dinosaure carnufex: j'espère que tu as définis la sémantique opérationnel de ton langage alors avant de l'implémenter 19:07:11 thizanne bonne blague 19:07:57 dinosaure et que tu l'as prouver en Coq, après tout, il faut être sûr de se que l'on fait avant de taper une ligne de code, non ? 19:08:35 dinosaure (surtout dans le cadre d'un atelier où la marge d'erreur est plus qu'acceptable 19:08:56 → sandhose est entré 19:09:47 AlphaZeta ouais donc, Luna c'est super cool 19:10:04 AlphaZeta le paradigme ça s'appelle la programmation orientée catégories 19:10:16 AlphaZeta ya pas encore de doc dessus, c'est eux qui l'ont inventé 19:10:21 Ludoviking alphazeta C'est vrai que ça à l'air cool 19:10:47 AlphaZeta j'ai parlé à la team un peu, ils sont sympa en plus 19:11:52 → polaron est entré 19:12:35 ← malnuxstarck a quitté (Quit: J'aime les agrumes.) 19:12:58 thizanne lol luna 19:13:03 thizanne ça existe depuis quoi ce genre de chose 19:13:05 thizanne 40 ans ? 19:13:46 AlphaZeta de ? 19:13:50 AlphaZeta le nom "luna" ? 19:14:00 thizanne "salut tu peux programmer en connectant des blocs graphiques" 19:14:05 AlphaZeta ha 19:14:08 → Invoc_Fatal est entré 19:14:10 thizanne turns out personne fait ça quand on sait coder 19:14:12 ← The_programmeur a quitté (Quit: J'aime les agrumes.) 19:14:14 AlphaZeta nan ça c'est juste l'IDE 19:14:16 thizanne parce que dsl mais c'est beaucoup moins pratique 19:14:27 AlphaZeta moi je parle du langage 19:14:33 AlphaZeta l'IDE on s'en bas les couilles 19:14:44 AlphaZeta (je l'ai testé c'est cool quand même) 19:15:00 AlphaZeta mais le truc innovateur c'est le langage 19:15:21 AlphaZeta ils se vantent pas avoir inventé la programmation en connectant des blc graphiques 19:15:37 thizanne ouais ben 19:15:52 thizanne y'a beaucoup de lignes avec des jolies couleurs pour présenter des trucs qui existent déjà dans 45 langages différents 19:16:02 thizanne et 3 lignes « oui on a inventé un paradigme mais on dit rien dessus » 19:16:22 thizanne ce qui est exactement l'inverse de ce qu'on attendrait d'un projet de recherche sérieux (puisqu'ils disent que c'est ce qu'ils font) 19:17:10 AlphaZeta leur langage permet d'inférer pas trop salement des accesseurs partiels 19:17:19 AlphaZeta c'est cool 19:17:26 thizanne c'est quoi un accesseur partiel 19:17:39 AlphaZeta getter appliqué partiellement 19:17:52 thizanne c'est à dire 19:18:02 AlphaZeta tu vois les lens en haskell ? 19:18:08 thizanne de nom 19:18:16 thizanne montre moi du code 19:18:21 AlphaZeta bah c'est ça mais en primitive 19:18:48 ← Invoc_Fatal a quitté (Quit: J'aime les agrumes.) 19:18:51 AlphaZeta https://github.com/ekmett/lens/blob/master/examples/Pong.hs 19:19:22 thizanne il faut 233 lignes de haskell pour me montrer en quoi cette propriété de luna est cool ? :' 19:20:26 AlphaZeta http://newartisans.com/2012/11/getting-started-with-lenses/ 19:21:09 thizanne non mais je m'en fiche des lenses 19:21:16 AlphaZeta bon regarde 19:21:19 thizanne j'ai déjà lu des trucs dessus, j'ai pas utilisé parce que j'ai jamais eu besoin 19:21:25 AlphaZeta imagine j'ai un langage OO 19:21:32 AlphaZeta avec une classe Personne et un attribut nom 19:21:42 ← Bouli1515 a quitté (Quit: J'aime les agrumes.) 19:21:50 AlphaZeta j'ai potentiellement plusieurs classes qui ont définissent un attribut nom 19:22:20 AlphaZeta mais pourtant, Luna peut inférer quelque chose comme personnes.sortBy (.name) 19:22:26 thizanne ok 19:22:28 AlphaZeta mais pourtant, Luna peut inférer quelque chose comme `personnes.sortBy (.name)` 19:22:28 thizanne alors attends 2 secondes 19:22:50 AlphaZeta dsl habitude encore 19:23:03 AlphaZeta c'est pas grand chose pour faire un langage entier 19:23:09 AlphaZeta mais Luna a d'autres features 19:23:35 thizanne http://gallium.inria.fr/~remy/ftp/objective-ml!popl97.pdf 19:23:36 thizanne 1997 19:23:48 AlphaZeta ça permet à des utilisateurs novices de faire un fonctionnel pur sans devoir connaître toute la théorie derrière 19:24:10 thizanne depuis quand y'a besoin de connaître « toute la théorie derrière » 19:24:45 AlphaZeta nan mais genre faut être à l'aise avec les foncteurs, foncteurs applicatifs et monades 19:24:47 AlphaZeta nan mais genre faut être à l'aise avec les foncteurs, foncteurs applicatifs et monades 19:24:48 thizanne (le papier que j'ai linké qui a donc 20 décrit exactement un typage des objets qui permet « de typer quelque chose comme sortBy .name même si plusieurs classes ont un attribut name) 19:24:51 AlphaZeta ptain fais chier 19:24:52 thizanne (qui a donc 20 ans) 19:24:55 thizanne mais donc il faut pas 19:25:06 thizanne sur ce je dois y aller 19:25:12 thizanne (mais non il faut pas*) 19:25:22 AlphaZeta j'ai pas encore lu ton papier 19:25:28 AlphaZeta jvais regarder ça 19:25:56 AlphaZeta mais Luna déduit automatiquement l'opération à faire pour appliquer, entre (<$>), ($), (<*>), etc... 19:25:58 thizanne c'est probablement pas la meilleure introduction au système des objets de caml, lis plutôt le chapitre correspondant RWO 19:26:07 AlphaZeta ok 19:26:12 thizanne ouais ben luna 19:26:47 thizanne ça a très clairement l'air d'être « on a fait une interface jolie pour des concepts vieux de 25 ans pour essayer de faire comprendre aux idiots qui font du javascript que le non-typage c'est une idée pourrie » 19:26:50 thizanne ce qui est déjà louable 19:27:22 thizanne mais niveau progrès scientifique, c'est pas parce qu'on utilise des noms qui font innovation qu'on a avancé 19:27:36 AlphaZeta 1) Why did you choose a special "Type in Monad" syntax rather than a classic parametrized type syntax as in Haskell ? 19:27:37 AlphaZeta That's because Luna allows to apply functions expecting pure arguments to effectful values (i.e. the compiler chooses whether to use equivalents of $, <$> or <*>, depending on the effects the function and argument are wrapped in). This makes monads somewhat special, and different from ordinary datatypes. This is best illustrated by the List monad. 19:27:37 AlphaZeta List has an each method that converts a standard "container" type into a "monad" one, e.g. if x :: [Int] then we have x.each :: Int in List. Now you can write x.each.succ, which would be an equivalent of succ <$> x in Haskell. Note that you cannot write x.succ directly, as that would mean trying to call the method succ of List (which obviously isn' 19:27:37 AlphaZeta t there). 19:28:01 thizanne oui ok 19:28:07 thizanne donc ça c'est genre la base des objets 19:28:27 AlphaZeta oui mais en fonctionnel pur 19:28:32 → Bouli1515 est entré 19:28:42 thizanne non en fait c'est même la base de la programmation 19:28:59 thizanne « vous pouvez pas écrire [1; 2] + 1 lol parce que vous pouvez pas faire une liste + 1 » 19:29:09 thizanne « mais vous pouvez écrire map [1; 2] (+1) ! » 19:29:11 thizanne « révolution » 19:29:18 thizanne « programmation orientée catégories » 19:29:49 AlphaZeta c'est pas ça qu'il explique 19:30:02 thizanne c'est ça qu'il dit 19:30:06 AlphaZeta pas que 19:30:20 thizanne dans ce que tu as écrit, si 19:30:50 AlphaZeta 4) How can you write "lst = [0..random]" ? Isn't "random" an IO action (or at least a monadic action) ? 19:30:50 AlphaZeta Yes, random is a monadic action. The system I've described in 1) applies here. We have random :: Int in Random, so [0..random] :: [Int] in Random. 19:31:43 thizanne alors 19:32:09 thizanne si c'est juste « quand j'ai Int in M je sais utiliser l'int » 19:32:25 thizanne je sais pas si c'est un détail de syntaxe ou une mauvaise idée 19:32:45 AlphaZeta c'est juste des bind et des <*> implicites 19:32:54 thizanne ok et donc 19:32:58 thizanne [0..[1]] 19:33:06 thizanne ça fait [0; 1] j suppose 19:33:08 thizanne (magie !) 19:33:16 AlphaZeta ouep 19:33:17 thizanne et [0..(1, 1)] ? 19:33:26 thizanne ça peut faire 3 choses différentes 19:33:30 AlphaZeta non 19:33:39 thizanne ben ça peut choisir le premier 19:33:42 thizanne choisir le deuxième 19:33:48 AlphaZeta `(,) a` est un foncteur sur la seconde valeur du tuple 19:33:50 thizanne ou prendre les deux et renvoyer un tuple de deux lites 19:33:54 thizanne sur ce afk 19:33:58 ← thizanne a quitté (Quit: J'aime les agrumes.) 19:34:08 AlphaZeta syndrome du trou du cul cynique 19:35:03 dinosaure élégant 19:35:23 AlphaZeta https://fr.wikipedia.org/wiki/%C3%89tat_de_trou_du_cul_cynique 19:36:00 dinosaure c'est pas une vraie raison de décrire une personne comme ça 19:36:10 dinosaure mais bon 19:36:33 AlphaZeta c'est une référence, pas méchant 19:37:33 AlphaZeta le sarcasme à outrance c'est chiant quand même 19:38:20 dinosaure j'ai connu pas mal de gens comme lui et des biens pires, et puis après, même si la forme n'est pas la meilleur qui soit, on se rend compte qu'ils ont pas tort 19:38:39 AlphaZeta nan mais en soi il a pas tort 19:39:15 AlphaZeta j'ai pas dit que les points que j'ai évoqué étaient révolutionnaires 19:39:49 dinosaure et a fortiori, j'ai appris à fermer ma gueule quand je savais pas (ou vaguement) quelque chose 19:40:34 AlphaZeta moi je pense que c'est mieux d'essayer de participer au débat même si tu sais pas grand chose 19:40:40 AlphaZeta tant que tu sais reconnaitre que t'as tort 19:40:45 ← Bouli1515 a quitté (Quit: J'aime les agrumes.) 19:41:09 AlphaZeta j'ai aucun mal à reconnaitre que j'ai tort, sauf quand on me parle sur un ton cynique 19:41:26 ← klafyvel a quitté (Ping timeout: 121 seconds) 19:41:43 AlphaZeta comme ça on apprend 10x plus 19:42:01 @Emeric Hmmm, je crois que certains loggent cette conversation... 19:42:05 AlphaZeta surtout que j'ai des arguments encore, mais il a afk 19:42:07 AlphaZeta pas grave 19:45:50 → ZamenWolk est entré 19:46:51 AlphaZeta salut ZamenWolk 19:47:43 ZamenWolk Salut ! J'ai vu le topic sur le forum, je suis venu faire un petit tour :) Je connais pas trop IRC, je suis en train de découvrir ça plus le projet ^^, 19:48:43 → Smooth_6132 est entré 19:52:20 → Smooth_62435 est entré 19:52:33 Smooth_62435 salut 19:52:52 AlphaZeta yo 19:54:12 ← Smooth_6132 a quitté (Quit: J'aime les agrumes.)