Participer au zlangage ! https://zestedesavoir.com/forums/sujet/6065/un-petit-langage-zds/
17:04:20
→ Manah est entré
17:04:30
← Nodraak est parti du salon ("(je test un truc)")
17:04:54
→ Nod est entré
17:05:05
→ Nodraak est entré
17:05:05
ⓘ Kiwi a modifié les modes : +qo Nodraak
17:05:11
ⓘ Nodraak a modifié les modes : +o Emeric
17:05:24
← Nod a quitté (Quit:)
17:05:47
ⓘ Participer au zlangage ! https://zestedesavoir.com/forums/sujet/6065/un-petit-langage-zds/
17:06:13
@Emeric
J'ai posté un message, sur le forum, ça devrait ramener du monde
17:06:23
~Nodraak
Edit ton premier message aussi nan ?
17:06:32
→ carnufex est entré
17:09:31
→ dinosaure est entré
17:09:33
→ thizanne est entré
17:10:05
SansNom1
wow c'est rapide
17:10:51
Sandlayth
effectivement
17:11:15
thizanne
oui enfin, vous emballez pas trop
17:11:30
Sandlayth
J'ai une idée, les gens
17:11:38
Sandlayth
à la base c'était un projet avec un ami
17:11:49
Sandlayth
mais pourquoi ne pas en faire profiter tout le monde
17:11:54
thizanne
c'est pas parce que vous êtes 8 sur le canal que le projet est bien parti, vu que si j'ai bien suivi les discussions, vous en êtes encore à discuter pendant des pages et des pages pour savoir si vous alliez utiliser des parenthèses ou des accolades pour la syntaxe
17:12:13
~Nodraak
+1
17:12:24
SansNom1
xD en effet mais si on commence a bien s'organiser on peut espérer que le projet commence
17:12:27
~Nodraak
moi je vote ni accolade ni parenthese, comme en python
17:12:30
~Nodraak
:P
17:12:31
→ Karnaj est entré
17:12:39
thizanne
(aussi si vous faites ça en caml moi je veux bien vous aider, mais implémenter un langage c'est un peu la partie boilerplate de mon travail donc ça aura pas vraiment d'intérêt si je m'y mets vraiment)
17:12:56
~Nodraak
tu bosses sur quoi thizanne ?
17:13:01
Sandlayth
y'a un résumé ou on doit se tapper les 4 pages ?
17:13:02
thizanne
sur l'analyse statique
17:13:18
~Nodraak
dans quelle boite / pour quel projet ?
17:13:20
~Nodraak
de la recherche ?
17:13:30
thizanne
Nodraak: l'indentation qui a du sens c'est cool à utiliser et super chiant à parser
17:13:36
thizanne
sur de la recherche oui
17:13:38
thizanne
je fais une thèse
17:13:48
SansNom1
Sandlayth rien n'est encore décider, ca part dns tout les sens. D'où l'objectif de s'organiser
17:14:15
thizanne
oui alors
17:14:19
thizanne
« s'organiser », non
17:14:33
dinosaure
je pense qu'à partir du moment où vous chercher à faire une spec d'un langage, c'est normal que ça part dans tout les sens
17:14:33
thizanne
parce qu'en termes zds ça veut dire « déblatérer pendant des jours sur des détails insignifiants »
17:14:45
thizanne
arrêtez de discuter un peu
17:15:00
~Nodraak
thizanne: chiant a parser ? j'aurais pas cru, mais j'oublie peut etre un detail subtil
17:15:03
Sandlayth
y'a un logiciel de gestion de projet en place ?
17:15:09
thizanne
si y'a quelqu'un de motivé pour coder un langage impératif, qu'il crée un dépôt github et zou, roulez
17:15:17
SansNom1
ba faut qu'on arrive a parler quand meme car a chaque fois relir tous les message c'est pas possible avec les EDIT, les messages ajouté c'est pas possible
17:15:28
Sandlayth
yep
17:15:31
thizanne
(en plus vous avez même un super tutoriel que vous a linké dinosaure si je me souviens bien)
17:15:44
thizanne
SansNom1: parler ça vous amène à rien
17:16:00
Sandlayth
un peu quand même
17:16:01
~Nodraak
le tuto de progmod ? je l'avais parcouru en diagonale, je confirme il a l'air cool
17:16:13
dinosaure
enfin je rapelle que ça reste un atelier, c'est ni un cours, ni un tutoriel, ni un livre
17:16:14
Sandlayth
ça nous évite de partir dans tous le sens sans trop savoir pourquoi
17:16:41
thizanne
dans quels sens ?
17:16:45
thizanne
vous avez même pas une ligne de code
17:16:46
→ Ludoviking est entré
17:16:55
Ludoviking
Yo
17:17:03
Sandlayth
yo
17:17:10
thizanne
aussi, discuter entre débutants ça vous avancera à rien pour trouver la bonne direction
17:18:18
~Nodraak
tu m'a l'air un peu negatif thizanne, arrete de nous démoraliser ^^, et oui, je sais, "lourd est le parpaing sur la tartelette aux fraises de nos espoirs"
17:18:33
* Sandlayth sert une thizanne au chan
17:18:35
thizanne
non j'essaye pas de vous démoraliser
17:18:39
Sandlayth
c'est un peu tendu
17:18:44
thizanne
j'essaye de vous diriger sur le bon chemin
17:18:49
Sandlayth
merci, thizanne
17:19:00
Sandlayth
bon, je propose d'écouter thizanne
17:19:01
SansNom1
haha il a raison sur le fait qu'il faut pas se disperser (ma définition de s'organiser)
17:19:04
Sandlayth
tu proposes quoi ?
17:19:34
thizanne
tu ouvres un dépôt github
17:19:36
Sandlayth
https://github.com/Sandlayth/zlang
17:19:38
Sandlayth
done
17:19:39
Sandlayth
ensuite ?
17:19:42
thizanne
tu choisis un bon langage comme ocaml
17:19:42
→ florian6973 est entré
17:19:46
thizanne
tu ouvres le tutoriel sur progmod
17:19:49
thizanne
tu lances ton emacs favori
17:19:50
thizanne
et tu codes
17:19:52
thizanne
et tu pushes
17:19:54
Sandlayth
(j'ajoute qui en collab ?)
17:20:01
thizanne
et ceux qui veulent faire pareil peuvent le faire de leur côté
17:20:16
thizanne
et si au bout d'un moment vous voulez vous regrouper, regroupez vous
17:20:41
Ludoviking
du coup vous avez commencé à coder ?
17:20:43
thizanne
(accessoirement si tu sais pas du tout coder en ocaml ce serait une bonne idée d'apprendre avant)
17:20:58
thizanne
(ou sinon de choisir un langage plus moche comme python, mais ce serait dommage))
17:21:23
SansNom1
mais python ca permetrait d'integrer au projet des débutants
17:21:30
~Nodraak
thizanne: vaut il mieux: 1) utiliser son langage favori (C, python, brainfuck) 2) apprendre un langage fonctionnel (j'ai cru comprendre que c'etait plus simple pour parser, cest ca ?)
17:21:57
dinosaure
ça reste à votre discrétion mais OCaml est un très bon choix
17:22:00
thizanne
non c'est pa plus simple pour parser
17:22:05
thizanne
parser c'est la partie chiante en vrai
17:22:16
thizanne
et t'utilises un outil fait pour, qui ressemblera à peu près tout le temps à la même chose
17:22:24
thizanne
c'est mieux pour le reste par contre
17:22:34
SansNom1
"langage favori:brainfuck" sérieusement ?
17:22:44
thizanne
et sinon Nodraak y'a quelqu'un sur le sujet qui a dit un truc pas totalement idiot
17:22:49
thizanne
à savoir qu'ocaml c'était très bien
17:22:55
SansNom1
bon ba je me cherche un tuto ocalm
17:22:55
Ludoviking
SansNoml chaqu'un ses choix
17:22:57
Ludoviking
:D
17:23:04
Sandlayth
bon, faut que j'apprenne ocaml
17:23:06
thizanne
que si tu voulais vraiment t'y mettre tout de suite et que tu connaissaispas, python ça passait à peu près
17:23:10
Sandlayth
SansNom1: on est deux :P
17:23:17
thizanne
mais dans des trucs comme C ou java tu vas misérer
17:23:18
~Nodraak
thizanne: le reste ? quand tu dis "parsing", cest la generation de l'ast ? une fois qu'on a l'ast cest globalement fini nan ?
17:23:24
thizanne
non
17:23:37
thizanne
une fois que t'as l'ast faut encore l'exécuter ou le compiler
17:23:41
Sandlayth
t'façons, je sais pas programmer sérieusement en python
17:23:43
thizanne
(commencez par un interpréteur)
17:23:45
Sandlayth
donc, autant apprendre ocaml
17:24:02
→ AlphaZeta est entré
17:24:04
thizanne
alors bon si ton langage c'est un truc impératif trivial comme dans mon tutoriel, effectivement une fois que t'as l'ast y'a quasi plus rien )à faire
17:24:22
thizanne
(le but de ce tutoriel étant justement de présenter ocamllex et menhir, j'ai pas été très loin dans le langage lui-même)
17:24:45
dinosaure
après ça donne un petit langage que vous pouvez modifier comme vous voulez
17:24:49
thizanne
Sandlayth: Nodraak http://caml.inria.fr/distrib/books/llc.pdf
17:24:53
dinosaure
et c'est là où ça devient rigolo
17:25:02
thizanne
attention par contre, c'est un tutoriel de caml light, une ancienne version de caml
17:25:07
SansNom1
il est ou le lien de dinosaur dont tout le monde parle ?
17:25:25
thizanne
y'a des points de syntaxe différents dans ocaml, mais vous pouvez venir demander ici quand ça marche pas
17:25:32
dinosaure
http://progmod.awesom.eu/tutoriel/10/interpreter-un-petit-langage-imperatif/index.html
17:25:37
SansNom1
merci
17:25:43
thizanne
ou sinon http://form-ocaml.forge.ocamlcore.org/
17:25:47
Sandlayth
merci
17:25:48
thizanne
qui apprend ocaml directement
17:25:56
thizanne
c'est peut-être mieux en première approche en fait
17:26:09
thizanne
(quitte à faire les exercices de LLC après)
17:26:12
Sandlayth
J'étais sur http://sdz.tdct.org/sdz/ocaml-pour-les-zeros.html
17:26:26
Ludoviking
sinon la doc officiel https://ocaml.org/learn/tutorials/
17:26:27
Sandlayth
Y'a des grosses différences entre Caml et OCaml ?
17:26:58
dinosaure
Sandlayth: quelques subtilités
17:27:15
thizanne
pas très grosses, mais c'est un peu frustrant d'apprendre list_do, de tester, de voir que ça marche pas, de demander, et tout ça parce qu'en ocaml ça s'écrit List.iter
17:27:30
AlphaZeta
ya quoi comme grandes différences avec Haskell ? (salut au fait)
17:27:44
thizanne
Sandlayth: ce tutoriel a une histoire rigolote, mais basiquement il est mal écrit un peu exprès
17:27:45
dinosaure
après le cours de thizanne est très à jour donc bon autant prendre celui là
17:28:01
Sandlayth
wtf?
17:28:02
thizanne
ouais prenez http://form-ocaml.forge.ocamlcore.org/
17:28:15
dinosaure
ce cours ^
17:28:18
Sandlayth
oui
17:28:20
Sandlayth
je note
17:28:22
thizanne
vous attardez pas trop sur la présentation de la compilation qui est en introduction
17:28:38
thizanne
(ne note pas, lance ton éditeur et lis le dès maintenant)
17:28:50
Sandlayth
(en fait, je suis sur autre chose maintenant :/)
17:29:02
thizanne
vous avez aussi https://realworldocaml.org/ qui sera une bonne référence plus tard
17:29:41
dinosaure
AlphaZeta: pas mal de chose en vrai, notamment le côté impure d'OCaml
17:29:51
Ludoviking
thizanne c'est un cour plus théorique ou pratique ?
17:29:54
thizanne
form-ocaml.machin vous apprendra les bases, LLC est très bien pour apprendre à programmer mais c'est dommage que la version ocaml soit pas disponible, et real world ocaml est une très bonne référence pour apprendre ocaml sérieusement
17:29:58
thizanne
ça veut rien dire Ludoviking
17:30:09
thizanne
(et je sais pas de quel cours tu parles)
17:30:27
thizanne
AlphaZeta: la paresse par défaut est à mon avis un défaut de haskell
17:30:31
AlphaZeta
dinausaure: ok merci
17:30:37
AlphaZeta
dinosaure: ok merci
17:30:48
dinosaure
et je rejoins thizanne sur la stratégie d'évaluation
17:30:52
thizanne
AlphaZeta: écris din et appuie sur TAB
17:30:52
AlphaZeta
(dsl habitude)
17:30:56
thizanne
c'est la magie de l'informatique
17:31:14
AlphaZeta
ha ouais stylé ^^,
17:31:30
Ludoviking
du tien et par la je veux dire est-ce que tu met beaucoup d'exo comme celui la http://python.developpez.com/cours/apprendre-python3/
17:31:54
thizanne
AlphaZeta: pour reprendre, haskell fait semblant d'être pur donc pour faire des vraies choses t'es obligé de toucher un peu aux monades
17:32:20
AlphaZeta
ouais c'est sûr, mais c'est une bonne chose non ?
17:32:22
thizanne
(ce qui est pas top pour l'apprentissage, parce que c'est pas très facile de présenter ça bien sans entrer dans trop de détails qui peuvent attendre)
17:32:35
thizanne
bah euh
17:32:37
thizanne
ça dépend
17:33:06
dinosaure
ça dépends de se que tu veux, parfois le lazy par défaut va vachement te déservir
17:33:07
AlphaZeta
ouais haskell est super chiant à apprendre, mais une fois que t'as réussi à comprendre quelques concepts ton code est safe
17:33:09
thizanne
ça a des avantages, mais c'est un peu trop basique pour être beaucoup plus que de la poudre aux yeux, j'ai l'impression
17:33:13
thizanne
ouais tu vois
17:33:20
thizanne
« ton code est safe » c'est un mythe qui a la vie dure
17:33:28
thizanne
en pratique il est pas tellement plus safe qu'en ocaml
17:33:41
AlphaZeta
un tout petit peu juste
17:33:44
Sandlayth
haha, thizanne qui participe à la discussion :3
17:33:52
AlphaZeta
mais les monades c'est pas que pour faire de l'IO non plus
17:33:59
thizanne
t'as juste quelques IO qui traînent sur tes fonctions qui affichent un truc à l'écran, et c'est à condition que t'aies pas utilisé unsafePerformIO
17:34:07
thizanne
oui mais les monades c'est pas qu'en haskell
17:34:17
dinosaure
tu peux aussi en avoir en OCaml
17:34:32
thizanne
et c'est pas parce que t'écris bind au lieu d'un match explicite sur un maybe que t'es plus safe
17:35:05
AlphaZeta
ouais pas faux
17:35:13
carnufex
Qu’est-ce que tu entends exactement par « fait semblant d’être pur » ?
17:35:20
thizanne
j'entends que
17:35:24
thizanne
1. la non terminaison c'est un effet
17:35:28
thizanne
2. unsafePerformIO
17:35:59
AlphaZeta
thizanne: aucun dev haskell qui se respecte utilise unsafePerformIO
17:36:09
thizanne
3. « mais si en haskell on peut écrire du code impératif, il suffit d'utiliser do blabla » c'est incompatible avec « oui lol on est référentiellement transparents et safe » (mais beaucoup de haskelleux ne semblent s'en rendre compte)
17:36:19
thizanne
AlphaZeta: et aucun n'utilise de récursion infinie non plus je suppose :>
17:36:53
AlphaZeta
j'ai pas compris ça :\
17:37:01
AlphaZeta
"1. la non terminaison c'est un effet "
17:37:17
AlphaZeta
tu veux dire quoi par la non terminaison ?
17:37:40
AlphaZeta
(je précise que je suis débutant en haskell, ya pas mal de trucs qui m'échappent encore)
17:38:45
thizanne
bah, une fonction qui termine pas
17:38:48
thizanne
let f x = f x
17:38:53
thizanne
show $ f 0
17:39:03
AlphaZeta
oui mais en quoi c'est un effet ?
17:40:09
AlphaZeta
ya si j'ai compris je crois, tu veux parler de error et de undefined ?
17:40:13
AlphaZeta
*ha
17:40:49
carnufex
thizanne: si on suit tes remarques, aucun langage ne peut être pur. Même en Charity, qui a complètement shunté les entrées-sorties et renoncé à être Turing-complet, je ne suis pas complètement sûr qu’on ait la garantie de toujours terminer…
17:40:50
thizanne
et bien je ne sais pas exactmenet comment les gens qui ont travaillé dessus définissent les effets
17:40:58
thizanne
mais la divergence en fait partie
17:41:09
thizanne
carnufex: et Coq ?
17:41:31
thizanne
(afk)
17:41:38
carnufex
je connais pas suffisamment la bête pour te répondre
17:41:47
dinosaure
(qui est fait en OCaml en passant)
17:42:51
@Emeric
Bon, pour en revenir au sujet de départ
17:43:16
carnufex
(je crois qu’on n’a pas encore bien compris que vous aimiez OCaml, vous devriez le répéter encore une fois, des fois que… è_é)
17:44:16
SansNom1
on adore ocalm !
17:44:25
dinosaure
carnufex: c'est pas vraiment une question d'aimer ocaml
17:45:03
dinosaure
c'est surtout que ça reste l'outil par excellence pour faire un langage
17:45:21
dinosaure
la première version de rust était en OCaml
17:45:30
dinosaure
la spec de webassembly est en OCaml
17:45:56
carnufex
Affirmation gratuite et indémontrable. Et surtout totalement hors sujet.
17:46:03
AlphaZeta
jamais testé, mais Haskell est assez cool aussi pour faire des langages
17:46:21
dinosaure
Haskell est dans la même veine que OCaml dans ce domaine, c'est vrai et elm en est la preuve
17:46:25
SansNom1
moi j'aime le C++
17:46:41
carnufex
Merde, les gens ! On ne sait même pas vers exactement ce qu’on va essayer de faire comme langage, et vous essayez déjà d’imposer une techno…
17:46:58
carnufex
Alors remballez vos histoires, et revenez au moment opportun.
17:47:01
→ Smooth_24734 est entré
17:47:05
dinosaure
carnufex: ne considère pas ce point, comme tu le veux, mais il n'empêche que le secteur académedique s'accorde sur ce point
17:47:29
@Emeric
Allez, revenons au sujet de départ. Donc certains veulent un langage impératif, d'autres un langage fonctionnel
17:47:44
← Smooth_24734 a quitté (Quit: J'aime les agrumes.)
17:48:05
→ dark-marouane est entré
17:48:40
dinosaure
(et en passant, vous devriez écouter thizanne qui a une bien meilleur expérience des langages informatiques que nous tous ici - et il a un talent certain pour clarifier les points techniques)
17:48:58
~Nodraak
+1 dinosaure
17:50:04
AlphaZeta
personnellement je vote pour un langage fonctionnel parce que les langages fonctionnels ont le mérite d'avoir un AST extrêmement simple
17:50:23
dinosaure
après, j'ai une petite expérience de l'implémentation d'un langage et j'ai fait le choix de faire mon langage en C++, puis en C, et j'ai fini par faire en OCaml mon langage et je regrette pas du tout
17:50:29
~Nodraak
perso j'hesite entre un langage imperatif qui sera plus facile je pense, et un langage oo qui sera plus sympa a utiliser (encore une fois, cest mon avis, je dis peut etre des conneries). Dans tous les cas, j'ai pas le temps avant fin juin et mon travail finira surement sur mon github, faites pareil si vous faites des trucs :)
17:50:43
→ Praetonus est entré
17:50:58
~Nodraak
sur ce, je rentre chez moi :)
17:51:03
← Nodraak a quitté (Quit: J'aime les licornes ! (et les agrumes !))
17:51:20
@Emeric
C'est la même pour moi, j'aurais du temps libre seulement dans quelques semaines, un peu avant fin juin.
17:52:04
dinosaure
le point que je défends, c'est surtout que le cours de thizanne vous permet de bootstrapper un petit langage et d'avoir un résultat assez rapidement (un jour, au pire deux, suffit)
17:52:24
dinosaure
et à partir de là, vous pouvez vous amuser à faire ce que vous voulez
17:53:05
dinosaure
la question, c'est pas d'avoir un langage OO ou fonctionnel, c'est d'avoir un langage très petit qui permet ensuite de rebondir sur des notions plus complexes qui vous attire
17:53:31
dinosaure
si quelqu'un a envie de faire un langage fonctionnel, c'est tout autant ok que quelqu'un qui veut faire un langage objet
17:53:32
@Emeric
C'est l'dée dinosaure ; le faire évoluer progressivement
17:53:44
AlphaZeta
on pourrait commencer par une sorte d'interpréteur de lambda expression
17:54:07
carnufex
Oui, mais non. Tout le monde n’a pas nécessairement envie d’un truc torché en quelques jours parce que les trois quarts du travail auront été mâchés par les explications de quelqu’un et une bibliothèque externe. Où est le *fun* de la découverte, là-dedans ?
17:54:11
dinosaure
Emeric: oui mais il faut éviter la discriminiation de concept
17:54:14
AlphaZeta
ya un tutoriel de Stephen Diehl sur ça, c'est très bien expliqué (en Haskell)
17:54:38
dinosaure
carnufex: le fun c'est qu'on puisse te diriger vers d'autres éléments qui peuvent étoffer ton langage
17:54:53
dinosaure
et le mega fun, c'est que ça reste ton langage
17:55:05
dinosaure
c'est toi qui décidera si tu intègres un duck-typing ou pas
17:55:17
AlphaZeta
http://dev.stephendiehl.com/fun/003_lambda_calculus.html
17:55:38
dinosaure
après le point, c'est surtout être un relais vers les documents qui expliques à la fois se que peut être un duck-typing et d'autres notions comme les systèmes de type statique
17:56:39
dinosaure
enfin sinon, faire une spec d'un langage qui va forcément discriminer certains concepts dans son implémentation, autant balancer le tiger book
17:58:02
carnufex
Je reconnais volontiers l’expertise technique de thizanne, mais je n’accepte pas qu’il impose des trucs sortis de nulle part sans aucune justification. Pourquoi coder en OCaml ? Pourquoi commencer par un interpréteur ? Pourquoi vouloir que chacun code dans son coin et tout de suite ? L’idée lancée, c’était de travailler à plusieurs, pas de faire sa merde dans son coin et d’essayer de se rapprocher plus tard. Et perso,
17:58:02
carnufex
de mon expérience, je trouve beaucoup plus facile de faire un compilateur qu’un interpréteur. Et je me suis bien marré à coder mes bouts de machin en Rust. Alors merde. Arrêtez de vouloir tuer le *fun* au nom de l’efficacité…
18:00:17
SansNom1
c'est vrai que ca tue l'aspect de communauté
18:00:41
dinosaure
non mais thizanne n'a jamais imposer OCaml, il a dit (à juste titre) qu'OCaml est un bon choix
18:00:48
AlphaZeta
carnufex: pour le(s) compilateur(s) que tu as implémenté, tu as utilisé quoi comme librairie (si tu en a utilisé une)
18:01:04
Ludoviking
+1 pour un repository commun
18:01:15
dinosaure
ensuite, étendre un interpréteur vers un compilateur est simple
18:01:16
carnufex
AlphaZeta: aucune, la bite et le couteau. ^^,
18:01:38
AlphaZeta
ok
18:01:46
dinosaure
par contre la courbe d'apprentissage pour faire un compilateur est plus rude que celle d'un interpréteur
18:02:25
AlphaZeta
carnufex: compilateur source-to-source ou directement ASM (je sais même pas si ça se fait) ?
18:02:28
dinosaure
alors peut être que c'est plus fun, peut être que tu y es arrivé mais c'est pas forcément le cas de tout le monde
18:03:23
dinosaure
et c'est pas une question d'efficacité, c'est surtout prendre le chemin le moins compliqué pour rebondir sur de nouvelle notion
18:03:41
carnufex
AlphaZeta: source to source, vers l’ASM aurait été trop compliqué pour moi. :-)
18:04:01
← Karnaj a quitté (Quit: J'aime les agrumes.)
18:04:44
AlphaZeta
du coup personne n'aime mon idée d'interpréteur de lambda expression ?
18:05:20
AlphaZeta
c'est pas trop compliqué, accessible à tout niveau, et ouvre des portes sur pas mal de choses
18:06:17
SansNom1
Si jamais Sandlayth a un repos https://github.com/Sandlayth/zlang
18:07:02
@Emeric
Un repo vide, et on ne sait pas encore quoi mettre dedans.... :-°
18:07:24
SansNom1
c'est l'intention qui compte
18:07:30
dinosaure
d'où le point de faire chacun son repo et de suivre le cours de thizanne afin d'avoir une idée un peu plus clair de se qu'il en est
18:08:01
carnufex
Ou de discuter ensemble de ce qu’on veut faire, comme ce qui était prévu au départ.
18:08:31
SansNom1
+1
18:08:41
dinosaure
oui enfin je crois pas que vous avez tous le même niveau en implémentation d'un langage ici
18:09:04
carnufex
Et ?
18:09:07
dinosaure
donc oui on peut discuter tout ensemble mais ça va tout simplement se terminer par des gens qui poussent des idées complexes pour d'autres
18:09:10
AlphaZeta
justement non ?
18:09:19
SansNom1
c'est sure mais l'idée des groupes de travail pour pallier a ca
18:09:22
← dark-marouane a quitté (Quit: J'aime les agrumes.)
18:10:01
dinosaure
non mais l'idée de thizanne c'est pas d'imposer son langage avec OCaml, c'est surtout vous donner la possibilité de travailler sur une base commune
18:10:07
dinosaure
et parler de la même chose
18:10:27
dinosaure
en ayant chacun une idée clair de tout se qu'il en est
18:10:46
dinosaure
comme ça on a pas une personne qui veut implémenter l'oo d'un côté et l'autre un lambda calcul
18:11:10
AlphaZeta
moi j'étais parti sur ça parce que c'est pas complexe justement
18:11:29
carnufex
Pardon ? Avant de parler de son bouquin, il a commencé par dire « arrêtez de parler, et faites chacun votre merde dans votre coin »…
18:11:45
dinosaure
déjà c'est pas un bouquin
18:11:57
dinosaure
ensuite c'est avoir un tronc commun
18:12:02
carnufex
*pan*
18:12:16
carnufex
Je laisse tomber…
18:12:18
SansNom1
bref ca nous amène a rien la
18:12:34
dinosaure
car au fond, ça fait 4 pages que vous arrivez même pas à vous décider: 1) de la syntaxe 2) des paradigmes 3) et des autres concepts complexes
18:12:58
dinosaure
donc autant partir sur quelque chose de __très__ basique
18:13:07
AlphaZeta
c'est à dire ?
18:13:08
dinosaure
et ensuite de rebondir à partir de là sur de nouvelle idée
18:13:18
AlphaZeta
ça serait quoi le tronc commun très basique ?
18:13:27
dinosaure
bah typiquement le cours de thizanne, on arrive à avoir un proto en une journée
18:14:03
dinosaure
bah thizanne a déjà fait un contenu de qualité (qu'il n'est pas le seul à pointé) pour avoir un proto
18:14:06
dinosaure
autant l'utiliser
18:14:30
SansNom1
bon je vais lire cet article
18:14:33
← SansNom1 est parti du salon ("Leaving")
18:14:43
dinosaure
c'est dommage d'ignorer son travail parce que gnagnagna je veux faire le truc en rust
18:15:00
dinosaure
et au moins, vous avez tous une idée de base de se que peut être un tout petit langage informatique
18:15:41
dinosaure
si j'insiste c'est pas pour que vous fassiez de l'ocaml et que vous utilisiez forcément le cours de thizanne, c'est que il faut bien partir sur quelque chose de concrèt
18:15:50
dinosaure
et il se trouve qu'il y a déjà quelque chose de concrèt
18:16:03
Ludoviking
Juste pour dire je pense que le mieux pour le language c'est d'en prendre un populaire dans la communauté de ZdS afin que tous le monde puisse y participé
18:16:23
dinosaure
oui Ludoviking, je révoque pas ça
18:16:31
dinosaure
mais faut commencer par tenter
18:17:01
dinosaure
enfin, vous pouvez vous dire après la lecture du cours de thizanne que OCaml c'est cool mais non en faite
18:17:08
dinosaure
mais au moins vous avez tester
18:17:20
AlphaZeta
le souci c'est que le mini langage de thizanne est déjà trop concret ou ferme déjà pas mal de portes
18:17:21
dinosaure
c'est comme les épinards, il faut goûter avant de dire j'aime pas
18:17:56
dinosaure
AlphaZeta: pas vraiment, et on pourrait retourner cette argument par rapport au lambda-calcul
18:18:07
→ Ne0ratek est entré
18:18:11
dinosaure
mais je vous demande pas à tout prix de partir sur le langage de thizanne
18:18:19
Ne0ratek
salut
18:18:21
carnufex
Alors tais-toi.
18:18:25
carnufex
On a compris.
18:18:27
dinosaure
mais au moins de l'essayer lui et de prendre les bonnes decisions après
18:18:34
AlphaZeta
salut Ne0ratek
18:18:37
carnufex
Pas la peine de répéter inlassablement jusqu’à ce qu’on craque.
18:18:58
carnufex
Le message est passé., c’est bon.
18:19:12
Ludoviking
Ou sinon on fait les algo en pseudo code et on implemente en plusieurs langages mais je trouve mon idée nulle
18:19:13
dinosaure
bah c'est cool :)
18:19:34
AlphaZeta
Ludoviking: lol
18:20:18
dinosaure
mais par contre carnufex, tu devrais être un peu plus poli parce que nous aussi on peut être méchant et ça aidera personne ici
18:20:35
Ne0ratek
Je suis nouveaux je viens du post sur zeste de savoir pour le projet de création de mini-langage c'est un truc que je trouve super
18:20:57
AlphaZeta
... et tu tombes sur des gens qui s'engueulent :P
18:21:14
Ne0ratek
c'est pas grave j'ai rien vu ^^,
18:21:23
Praetonus
Concernant la génération de code, quelqu'un est opposé à l'utilisation de LLVM ?
18:21:40
AlphaZeta
Praetonus: non justement ça fait un bail que j'ai envie de l'utiliser
18:22:09
AlphaZeta
j'attends toujours ton tutoriel d'ailleurs :)
18:22:21
@Emeric
Mais avant de parler de l'implémentation, il faut savoir ce que l'on veut faire.
18:22:23
dinosaure
LLVM a un tutoriel en C++ et en OCaml
18:22:32
dinosaure
http://llvm.org/docs/tutorial/LangImpl1.html
18:22:48
AlphaZeta
en haskell aussi ya un tuto LLVM
18:23:14
dinosaure
tu devrais share
18:23:17
Ne0ratek
où en êtes vous pour zlangage ?
18:23:18
→ klafyvel est entré
18:23:23
Praetonus
AlphaZeta: Haha, voir le sujet sur le forum ZdS m'a justement fait penser que je devrais m'y remettre
18:23:36
klafyvel
Hello
18:23:44
Ne0ratek
slt
18:23:46
@Emeric
Hello, klafyvel
18:24:07
→ Bouli1515 est entré
18:24:28
AlphaZeta
http://dev.stephendiehl.com/fun/026_llvm.html
18:24:58
AlphaZeta
oups nan
18:24:59
AlphaZeta
http://www.stephendiehl.com/llvm/
18:25:01
AlphaZeta
ça c'est mieux
18:27:54
AlphaZeta
d'ailleurs c'est le gars qui a fait le tuto de LLVM en C++ je crois
18:28:48
→ The_programmeur est entré
18:28:59
The_programmeur
Bonjour à tous et à toutes ;) :)
18:29:09
AlphaZeta
yo
18:29:50
Ludoviking
salut
18:30:06
The_programmeur
Donc en gros on peut savoir ou en est le projet :) Toujours pas de "team" de créée ? :)
18:30:35
AlphaZeta
étape 0: bien s'entendre
18:31:10
Ludoviking
étape 0.1: écarter le choix de la techno
18:31:46
AlphaZeta
étape 0.2: choisir le paradigme
18:31:59
Ludoviking
étape 0.3: faire une syntax drolle avec des smiley
18:32:18
Ludoviking
étape 0.4: l'abandonner et redevenir serieux
18:32:33
AlphaZeta
étape 0.5: se réengueuler pour la syntaxe
18:32:34
The_programmeur
Effectivement, mais je pense que pour l'étape 0, ça va être très compliqué de mettre tout le monde d'accord ... Il va falloir trancher :P
18:32:41
The_programmeur
:P
18:33:38
→ Ardakaniz est entré
18:33:40
AlphaZeta
bah personnellement je suis pas contre OCaml
18:33:45
AlphaZeta
tiens salut Ardakaniz
18:33:48
Ardakaniz
Salut
18:33:48
@Emeric
Certains veulent un langage impératif, d'autres un langage fonctionnel. C'est simple : comme suggeré, on peut faire deux équipes
18:33:57
klafyvel
+1 j'aime bien OCaml :P
18:34:03
@Emeric
Comme ça, chacun peut bosser sur ce qui le botte le plus
18:34:17
klafyvel
c'est vrai
18:34:32
Ludoviking
@Emeric et après on merge les 2
18:34:45
The_programmeur
Je trouve aussi que c'est la meilleur solution pour mettre tout le monde d'accord ^^,
18:34:51
AlphaZeta
Ludoviking: fonctionnel et impératif ?
18:34:56
Praetonus
Si je demande une team pour un langage orienté acteurs, on me jette des tomates ?
18:35:04
klafyvel
c'est quoi ?
18:35:12
@Emeric
Ce serait du jet de caillou pour moi :-°
18:35:23
AlphaZeta
Praetonus: non c'est cool de voir des paradigmes différents, mais c'est assez difficile à implémenter
18:35:25
AlphaZeta
non ?
18:35:27
Ludoviking
AlphoZeta je comprends pas pourquoi sa va pas ensemble
18:35:57
← Ardakaniz a quitté (Quit: J'aime les agrumes.)
18:36:12
* carnufex tend un parpaing à Emeric :3
18:36:21
AlphaZeta
Ludoviking: le fonctionnel et l'impératif peuvent aller ensemble, mais pas le fonctionnel pur on peut pas trop le mélanger
18:36:23
klafyvel
Bah même dans OCaml où tu peux faire du fonctionnel et de l'impératif, quand tu mélange les deux ça fait caca
18:36:35
Praetonus
klafyvel: C'est un paradigme où le parallélisme est exprimé par des primitives directement dans le langage
18:37:03
@Emeric
Maintenant, si on fait deux langages, on essaye d'entrenir des liens entre les deux, ou pas ?
18:37:12
Praetonus
Par exemple, Erlang, Akka, Pony
18:37:19
@Emeric
Ça peut être intéressant, mais ça me semble relativement compliqué
18:37:39
klafyvel
Si on veut pouvoir les comparer il faut quand même qu'ils aient des points communs nope ?
18:37:46
AlphaZeta
oui jpense qu'il faut partir sur quelque chose de plus simple
18:37:49
klafyvel
Praetonus : Merci :)
18:39:12
Praetonus
AlphaZeta: Dans l'absolu c'est pas ultra compliqué, ça demande juste un support de l'environnement d'exécution. Ce qui est compliqué c'est de s'assurer qu'on ne fasse pas n'importe quoi avec le paradigme au niveau du langage. Par exemple, les reference capabilities de Pony sont très casse-tête au début
18:39:38
AlphaZeta
d'acc
18:40:00
→ Smooth_3093 est entré
18:40:17
← Smooth_3093 a quitté (Quit: J'aime les agrumes.)
18:40:27
Praetonus
(J'en profite pour placer une pub honteuse pour Pony : http://www.ponylang.org/ Viendez, on est bien)
18:40:35
AlphaZeta
ouais c'est cool pony
18:40:38
AlphaZeta
sinon programmation logique anyone ?
18:42:35
Ludoviking
AlphaZeta c'est quoi
18:42:42
AlphaZeta
tu vois prolog ?
18:42:46
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:43:31
thizanne
non mais carnufex
18:43:42
thizanne
je sais pas où t'as vu que j'avais l'intention de t'imposer quelque chose
18:43:43
AlphaZeta
http://bit.ly/1XuJWVc
18:43:46
thizanne
alors que j'ai dit exactement le contraire
18:43:54
@Emeric
Praetonus++
18:44:09
thizanne
à savoir « arrêtez de discuter, commencez à coder ce qui vous fait plaisir avec les outils qui vous font plaisir »