Actualité : Boost 1.37 est disponible en version Beta
Le 2008-10-23 19:24:06, par Alp, Expert éminent sénior
Bonsoir,
La nouvelle est tombée aujourd'hui : Boost 1.37 beta est sortie aujourd'hui !
Vous pouvez la télécharger ici : http://sourceforge.net/project/showf...ease_id=635320
La grosse nouveauté c'est l'apparition de Boost.Proto comme bibliothèque à part entière !
Il y a eu beaucoup de retours sur la version 1.36 ce qui a permis de corriger une certaine quantité de bugs et d'améliorer les performances.
Qui teste en premier ?
PS : Proto est vraiment bien, je l'ai déjà testée et elle est très bien faite. C'est une bibliothèque qui sert à créer des DSEL (Design Specific Embedded Language), c'est à dire des "langages" à l'intérieur de votre code C++.
La nouvelle est tombée aujourd'hui : Boost 1.37 beta est sortie aujourd'hui !
Vous pouvez la télécharger ici : http://sourceforge.net/project/showf...ease_id=635320
La grosse nouveauté c'est l'apparition de Boost.Proto comme bibliothèque à part entière !
Il y a eu beaucoup de retours sur la version 1.36 ce qui a permis de corriger une certaine quantité de bugs et d'améliorer les performances.
Qui teste en premier ?
PS : Proto est vraiment bien, je l'ai déjà testée et elle est très bien faite. C'est une bibliothèque qui sert à créer des DSEL (Design Specific Embedded Language), c'est à dire des "langages" à l'intérieur de votre code C++.
-
epsilon68Membre expérimentétu peux donner des examples sur Boost.proto?le 23/10/2008 à 21:00
-
AlpExpert éminent séniorLe Hello World de la doc :
Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19#include <iostream> #include <boost/proto/proto.hpp> #include <boost/typeof/std/ostream.hpp> using namespace boost; proto::terminal< std::ostream & >::type cout_ = { std::cout }; template< typename Expr > void evaluate( Expr const & expr ) { proto::default_context ctx; proto::eval(expr, ctx); } int main() { evaluate( cout_ << "hello" << ',' << " world" ); return 0; }
le 23/10/2008 à 21:05 -
epsilon68Membre expérimentéca a l'air hyper ... complexe
mais a quoi ca sert concretement ?le 24/10/2008 à 21:28 -
AlpExpert éminent séniorA faire des choses comme Boost.Spirit par exemple ?
Sinon, les DSEL ça sert pour plusieurs choses...
Je te conseille de lire ça :
http://en.wikipedia.org/wiki/Domain_...cific_Language
Le Embedded implique simplement que le tout sera directement écrit dans ton C++.le 24/10/2008 à 23:37 -
KlaimMembre expertJuste pour que ce soit bien clair (je n'ai pas essayé moi même, mais j'ai une idée floue du concept et l'exemple cité est pas super concret), c'est le genre de lib qui permettrait d'aider à implémenter quelque chose comme Processing en c++ (actuellement c'est du java)?le 25/10/2008 à 1:48
-
AlpExpert éminent séniorOn dirait pas, non
Proto permet de définir des pseudo-langages que l'on peut utiliser à l'intérieur-même de son code C++.le 25/10/2008 à 10:49 -
loufoqueExpert confirméPour Processing je vois même pas pourquoi t'aurais besoin d'un DSEL, c'est juste une API.le 25/10/2008 à 13:31
-
KlaimMembre expertOui justement de loin c'est ça qui me parait flou, la différence entre une api et un DSEL. D'ailleurs l'article de wikipedia l'indique aussi, mais bon je donnais Processing a titre d'exemple parceque ça pourrait être un DSEL (sauf si j'ai mal compris le concept ce qui est tout a fait probable).
En fait peut être que ce qui me semble vraiment flou c'est plutot dans quel cas c'est plus pertinent de faire un DSEL plutot qu'une API? A priori tous les DSEL peuvent être implémentés sous forme d'api non?le 26/10/2008 à 0:42 -
AlpExpert éminent séniorOui mais un DSEL permet de définir un langage, et ce à l'intérieur de C++. Une API fournit juste des classes/fonctions.le 26/10/2008 à 0:54
-
KlaimMembre expertJe comprends bien, mais la différence reste floue (parceque l'utilisation du language ainsi généré est quasi semblable a première vue).le 26/10/2008 à 0:57