As previously announced, the new file syntax for Wallaroo configuration is available in a branch of the git repository.
Being a library, I like to have automatic tests to verify there are no regressions and -- above all -- to be sure everything is fine on every supported platform. Surely, a lexer and a parser are components easily testable in an automatic way (nothing compared with the reactive systems full of asyncronous I/O I'm used to!).
When I was adding one of the test for the grammar (yes: I like to use right names for my classes, so I have a Grammar and a TokenSource classes, instead of the most inflated Parser and Lexer :-) I was so lucky to find immediately a bug in the grammar design. By chance, in the test case I used an input sequence having "load" as an attribute name. The test keeps on failing and I must admit at the beginning I couldn't understand why. My input sequence seems to be right, conforming to the grammar.
After closer examination, I realized that I cannot use "load" as an attribute name (nor as a class or dependency name), because it's a keyword of my language, used to load dynamic libraries.
Well, that's a major problem.
Luckily, currently we have just two keywords: "load" and "new". Of course, "new" cannot be a problem, because is also a C++ keyword, but "load" requires to be fixed.... read more
Wallaroo library has been used in real-world projects since its early releases, some years ago. Of course, I was the first to use wallaroo to develop industrial projects (i.e., telecommunication software currently running in a large number of devices). But then, I had a lot of feedback from other developers, and I know for sure that wallaroo is running in many embedded devices and custom servers.
Lately, a nice guy from Samsung has been so kind to inform me that a family of their products is using Wallaroo. The Samsung refrigerator Samsung Family Hub has its "Fridge Manager Application" powered by an internal library that uses Wallaroo to manage the dependencies among internal components.... read more
The wal
syntax for wallaroo wiring files (see the previous post) is almost ready.
In the git repository, you can already find a working implementation on a branch, with the relative test. I also updated the sample shapes
to use the new wiring file syntax.
The substitution of a json
file with a wal
file already brought a couple of obvious advantages.... read more
A mirror of wallaroo repository is now available on github at:
http://github.com/daniele77/wallaroo
Since the project is still active and the development keeps going on, I think I'll take advantage of the blog to start writing in an informal way some useful things about wallaroo (but not only).
So. What can you find here in the next days? In random order:
Xml and json wiring files were one of the first features added to wallaroo because, after all, the project was conceived to demostrate that in C++ one can manage object creation and wiring from a configuration file.
Soon enough, however, I realized the xml and json formats are too verbose, and not much readable. I think that happened the very first time I tried to use a xml file to setup a real wallaroo application :-)... read more