IMPORTANT : Cette rencontre est un atelier de programmation. CHAQUE PARTICIPANT DOIT APPORTER SON LAPTOP.
Au mois de juin 2017, Herb Sutter a publié une proposition d'évolution du langage : les métaclasses. La proposition comporte de nombreux exemples d'application du mécanisme qui enrichissent considérablement le langage. Non seulement cette proposition est-elle très emballante, elle est également accompagnée d'une version expérimentale de clang qui permet d'expérimenter concrètement avec ces idées. L'objectif de cet atelier est d'expérimenter avec cette proposition et d'échanger des idées d'applications pratiques. LES MÉTACLASSES NE SONT PAS UN STANDARD ET IL N'Y A PAS DE GARANTIE QU'ELLES LE SERONT SOUS CETTE FORME OU UNE AUTRE. À CE STADE, C'EST EXPÉRIMENTAL.
Pour compiler clang, il faut d'abord télécharger plusieurs dépôts à des révisions spécifiques. Ensuite il faut suivre les instructions de LLVM pour assembler les projets de la bonne façon, invoquer CMake, bâtir et installer le tout. Voici les URLs des dépôts que vous devez télécharger (les autres éléments optionnels de LLVM ne sont pas requis) :
Pour l'installer, il faut d'abord installer Node.js, et ensuite il suffit d'invoquer `make`, ce qui va exécuter un serveur local avec la configuration par défaut. Ensuite, afin que le serveur offre le compilateur expérimental compilé un peu plus tôt, il faut modifier la configuration de la façon suivante :
1- Ouvrir le fichier /etc/config/c++.defaults.properties
2- Modifier `compilers` afin d'y ajouter le chemin vers l'exécutable `clang++` que l'on vient de créer (c'est une liste de chemins séparés par le caractère ':')
3- Modifier `defaultCompiler` afin d'utiliser le chemin du compilateur expérimental
4- Modifier `options` afin d'y ajouter des paramètres de compilation par défaut : -std=c++1z -Xclang -freflection -I/include -stdlib=libc++ -include cppx/meta -include cppx/compiler
5- Ajouter, au besoin, un paramètre de compilation supplémentaire dans les `options`. Par exemple, sur mon Mac, j'ai dû ajouter le SDK de macOS avec le paramètre : -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include
Compléter cette configuration avant l'atelier vous permettra de mieux en profiter. Compiler clang peut prendre près d'une heure sur un portable selon la puissance de votre matériel. Si vous avez des difficultés avec ces instructions, n'hésitez pas à poser des questions dans les commentaires.
La rencontre a lieu dans les bureaux de Microsoft à Montréal, au 5e étage, suite 550. Les portes seront ouvertes à partir de 18h. De la pizza sera servie sur place, gracieuseté de notre commanditaire Druide Informatique inc. L'atelier est libre, ce qui veut dire que vous pouvez vous mettre au travail et/ou échanger avec d'autres participants dès 18h00.