On 11/29/2011 10:59 AM, Avi Kivity wrote:
On 11/29/2011 05:51 PM, Juan Quintela wrote:
How to do high level stuff?
- python?
One of the disadvantages of the various scripting languages is the lack
of static type checking, which makes it harder to do full sweeps of the
source for API changes, relying on the compiler to catch type (or other)
errors.
This is less interesting to me (figuring out the perfectest language to use).
I think what's more interesting is the practical execution of something like
this. Just assuming we used python (since that's what I know best), I think we
could do something like this:
1) We could write a binding layer to expose the QMP interface as a python
module. This would be very little binding code but would bring a bunch of
functionality to python bits.
2) We could then add a binding layer to let python code implement a character
device.
3) We could implement the HMP logic in Python.
4) We could add a GTK widget to replace the SDL displaystate and then use python
code to implement a more friendly UI. Most of the interaction with such an
interface would probably go through (1). With clever coding, you could probably
let the UI also be stand alone using GtkVnc in place of the builtin widget and
using a remote interface for QMP.
Regards,
Anthony Liguori
On the other hand, the statically typed languages usually have more
boilerplate. Since one of the goals is to simplify things, this
indicates the need for a language with type inference.
On the third hand, languages with type inferences are still immature
(golang?), so we probably need to keep this discussion going until an
obvious choice presents itself.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html