 Bonne matin. Est-ce que ça va avec la mic ? Donc après tout ce que vous avez entendu sur les choses sérieuses que vous pouvez faire avec Eda, maintenant quelque chose totalement non sérieux. Hack. Qu'est-ce que c'est ? Vous avez la choisie. Hack Eda Compiler. Hello World. Eda Compiler. Hackers Eda Compiler. Donc vous avez compris. C'est pas une vraie Eda Compiler. Au moins à la fois. Vous ne le savez pas dans 10 ans. Donc c'est expérimental. C'est très probable d'être toujours incompli. Et très incompli. Donc quel est le but ? Le but est d'avoir un Eda système pour les beginners ou pour les gens qui sont plus utilisés pour les langues scriptées. Vous voyez que vous avez un peu de code. Vous puntez un key. Vous avez des résultats, quelque chose comme ça. Mais ça peut aussi être utile pour les développeurs d'Eda. Si vous commencez un petit piece de code, un petit algorithme, et vous voulez avoir quelque chose simple que vous pouvez jouer avec, et puis vous pouvez le porter à gnat ou quelque chose quand ça devient plus complexe. Fortunatelly, Hack a déjà existé dans une autre forme. Donc c'était déjà fait. Mais c'était un projet mort. Mais l'idée c'était d'élaborer ce travail. En fait, c'est un travail de rénovation. J'ai piqué mon ride pour l'old car. Vous avez quelque chose qui a été écrit en Pascal. Il se tourne seulement sur un système que personne ne sait plus. Et le problème principal était que c'était écrit en Pascal. Donc ça signifie que c'était écrit en dialectes, en fait deux dialectes. Vous avez deux versions de ce petit Eda, qui est l'ancestor de Hack. Deux versions qui sont incompatibles. Donc vous devez faire quelque chose comme ça. Donc l'idée c'était de porter ce projet à un langage qui est très portable, qui est time-resistant, parce que c'est un projet long-term et le choix idéal est, bien sûr, Eda. Et la conséquence de ça vous avez un complet Eda dans Eda Compiler à la génération de code. Un peu d'histoire derrière. Vous voyez, c'est un très ancien projet ou vous avez une longue histoire mais ça se passe un peu plus. Et donc il a commencé avec un spécial Pascal Compiler, Pascal in Pascal, écrit par l'inventeur de Pascal. Et puis en 1986 il y avait quelque chose qui s'appelle Co-Pascal avec l'introduction de co-routines. Et quelqu'un avait l'idée de porter l'Eda Syntax et faire l'Eda Tasking pour la concurrence. Et puis, ce qui s'est passé c'est que l'ancien MacOS a disparu et le projet aussi était plus ou moins mort. Mais vous pouvez le trouver sur internet et j'ai aussi eu quelques copies par e-mail. Donc c'était un peu difficulte de travailler. Donc 20 ans auparavant j'ai essayé de transmettre les codes dans l'Eda et le plus gros bloc de route était qu'il y avait plein de statements en Pascal qui font l'abstraction d'une variable de type record et le translator a besoin de savoir ce qu'il faut faire avec ça. Donc j'avais besoin d'améliorer l'Eda pour le translator. En fait, c'est presque un compiler Pascal et il comporte ces statements. Et quelques années plus tard, après un travail manuel finalement au moins, hello world mais aussi des choses plus complexes comme récursion et les testings et tout je vais démontrer plus tard. Donc maintenant, vous avez la longue histoire maintenant vous avez une même longue future avant. Donc vous avez deux pièces paralleles mais la chose plus urgente c'est d'avoir du pascalisme des règles qui n'ont absolument pas d'Eda pas d'Eda typiquement vous avez en Pascal et en presque tous les langues except d'Eda silencieuse des conversions numériques comme vous avez un integer et tout de suite, c'est converti magiquement dans un float et vous avez un type float magiquement converti dans un autre type float et vous avez des roundings donc c'est un bon feature de beaucoup de langues except d'Eda c'est bon mais c'est une bonne idée c'est un cause d'une bonne portion de règles dans tous les softwares que vous avez ce n'est qu'un exemple mais vous avez des remaininges pascalismes donc il faut être retiré et le troisième c'est d'augmenter ce petit subset parce que le hack currently comme vous le voyez ici il n'y a que des features les sub-set pascalismes mais c'est déjà pas trop mal vous pouvez déjà faire cool things with that vous pouvez définir vos types vous avez nesting et recursion mais vous n'avez pas probablement le plus utile un feature d'Eda les packages et aussi vous n'avez pas de génériques et la liste est là-bas parce que presque tout est faible donc c'est vraiment un progrès il y a des métriques pour le hack le compiler et le machine virtual interprète il faut deux secondes et un machine pour compiler avec Gnats Gnats c'est le free Eda compiler que vous avez entendu juste avant le build time c'est que vous avez une pièce de code vous jouez avec hack c'est moins que 100 secondes donc c'est vraiment compilé et typiquement un beginner ou un utilisateur qui ne sait pas ce que c'est un compiler ce n'est pas ce qu'il veut c'est que il n'y a pas il n'y a pas il n'y a pas de compilations derrière c'est complètement portable donc c'est vraiment vous pouvez compilé sur Linux un système la portabilité d'Eda donc pas conditionnel n'importe quoi pas de speciale code la source Eda source input pour hack peut être un file mais il peut être un stream donc vous pouvez avoir un archive par exemple avec un library et compilé tout ça ou un data editor ou un web stream vous pouvez mettre hack sur un web server currently il n'y a que un target c'est une machine virtual mais vous pouvez faire tout avec avec hack c'est open source, c'est gratuit vous pouvez imprimer votre propre target d'une abstraction donc où vous pouvez trouver un hack c'est sur source forge sur github vous pouvez google et vous pouvez le trouver et il y a j'ai mentionné 2 projects open source l'un est lait c'est un editor avec un focus Eda qui embête ce compiler ce hack compiler mais vous pouvez aussi embeder dans votre editor et j'ai mentionné Pascal 2 Eda ce translator qui était le basis de transmettre un petit Eda dans un hack maintenant si j'ai quelques minutes je vais vous montrer comment ça fonctionne j'ai juste commencé avec une page blanc j'ai quelques notions des syntaxes mais on va essayer ok quelque chose comme ça ok donc on va essayer oh j'ai oublié au lieu de texte IO qui est familial j'ai un package spécial donc c'est quelque chose que il y a aussi un hack pack pour un compiler Eda donc vous pouvez faire le même programme avec hack et un compiler Eda ok mais j'ai mis mon hello c'est trop curieux j'ai mis un loop j'ai oublié le loop j'ai mis un loop ok et peut-être j'ai juste mis quelque chose avec le nombre donc ici vous avez I square et so on ici un réel un réel use j'avais à donner un mois je devais avoir un algorithme qui donne le nombre depuis la date mais depuis 1901 c'est pour dates en spreadsheets ils ont commencé autour de cette date donc c'est un petit snippet j'ai développé avec hack donc vous avez le résultat c'est typiquement quelque chose qu'est-ce qu'on peut faire avec hack ici vous avez un diabolique qui s'appelle recursive function par un mathématicien appelé hackerman et donc vous avez c'est très profond et vous avez le même avec gnat donc le même piece of code j'ai mis c'est un peu plus lent donc il faut être construit et vous voyez l'avantage d'avoir quelque chose peut-être plus rapide comme hack pour petite piece of code peut-être un débuter qui serait froid par tout ce compile, bind, link tout ça donc vous avez aussi le même résultat questions services web services non, je ne l'ai pas essayé mais vous pouvez plug un stream donc c'est feasible mais je ne l'ai pas essayé oui c'est bon c'est une bonne idée peut-être à un moment, la qualité est vraiment pas mal c'est un peu c'est encore un peu buggy ou pas réel donc je pourrais adresser la qualité et puis mettre en service web parce que c'est une bonne promotion pour HEDA donc pour runtime erros présentement il n'y a absolument rien je pense que pas d'exception donc peut-être c'est bon pour un target où vous n'avez pas d'exception peut-être ou une très petite embedded complexe ou nous avons besoin d'exception d'exception donc maintenant il s'agit d'un peu d'exception il n'y a pas d'exception ou d'exception vous savez l'idée maintenant le déterminateur est très petit mais l'idée c'est d'augmenter cette partie commune d'augmenter le subset donc il serait même si c'est un très petit subset il serait réel HEDA il serait complètement compatible ce n'est pas l'idée de faire une branche d'HEDA c'est mieux d'avoir quelque chose que vous pouvez utiliser dans différents systèmes ah oui bien sûr je fais ça déjà pour vérifier oui bien sûr c'est aussi utile pour ça pour débugger juste un corps c'est utilisé pour compagnie donc c'est très rapide maintenant c'est uniquement c'est un passant ad hoc donc il originate de ce passcal c'est récursif c'est un passant c'est un gros morceau c'est un gros morceau d'autres questions je pense qu'il pourrait être raisonable de donner cela aussi comme un package pour avoir le potentiel d'être utilisé pour compagnie dynamique dans certains environnements pourquoi pas c'est une possibilité je pense que c'est vraiment ouvert vous pouvez d'autres questions alors