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

Reply via email to