Hello, Vojtech Horky on 2012-12-03: > 2012/11/30 Sean Bartell <[email protected]>: > > 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.
Will do. > > 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). Yes, I mentioned #413 only because no other ticket mentions porting the C++ runtime. > 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. Then I'll probably continue using Python. I usually only use C++ when I'm concerned about constant-factor speed issues, which isn't important for Bithenge. Jiří Zárevúcky on 2012-12-04: > Or you could give Go a try. > Its support is not in mainline (yet), but another user would be > a strong incentive for me to do something about that. :) I'll try Go; I haven't gotten around to messing with it yet. Thanks, Sean Bartell _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
