Hello, Sean and welcome back :-). 2012/11/30 Sean Bartell <[email protected]>: > Hello, everyone, > > After a few months off, I recently resumed work on Bithenge. As you may > recall, Vojtech was especially interested in code generation and editing > support, but I didn't manage to figure out how to implement them during > GSoC. I've been working on a constraint-based design for Bithenge that > should help make these features possible. A partial proof-of-concept is > attached; it requires a recent version of Python 3, and converts a > trivial Bithenge transform into a Python encoder and decoder. I see that you extended the demo for structs - it looks pretty good. It might be interesting (later on) to convert some of our utitlities (such as mkfat.py) to use Bithenge. Currently they use a wrapper above the struct.pack() and the syntax is rather limited AFAIK.
> For now, I'm going to keep working on the proof-of-concept and figuring > out other crucial features, like conditionals and repetition. It's going > to take a while to figure out how to solve those things for flexible > encoding and decoding. Keep us posted, please. > Finally, a note on languages supported by HelenOS. The Bithenge design > (old and new) relies on object-orientation and reference counting, and > it was tedious to write in C. When I start working on the full new > version of Bithenge, I'll probably want to use C++ or Python instead. > Bithenge wouldn't be usable within HelenOS without full C++ > (#413-related) or Python (#403) support, although it could still > generate C code to be used in HelenOS. As I already wrote to you in some of our previous e-mails, it is ok to use Python or C++. Eventually, we would like to support both so this could be another reason to do so. And for the code generation we can use it in cross-compile mode when the actual generation would happen on the host machine. A side note - support for C++ is not preconditioned by a working GCC in HelenOS. We can also do a cross-compilation - we just need implementation of the standard C++ library for HelenOS (i.e. the runtime part). And my last cent - I would go for Python rather than C++ because IMHO the code would be more readable in Python. And extending it (for example with code generators for different platforms/languages) would be simpler. Cheers, - Vojta > > Thanks, > Sean Bartell _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
