Revision b1e81520
ID | b1e8152024ccdf8049f34508a41e6f90fd16a6f3 |
htools: add partial implementation of lib/objects.py
This is partial since not all object types can be easily converted for
now (will need some changes on the Python side for this).
Most importantly, the Params types do not have a good solution now:
the Python code, due to its dynamic typing, hides the fact that we
actually have two different types at play: a full type which needs to
have all keys, and the 'partial' type which has slightly different
behaviour. I've implemented these in Haskell as two different types,
Full and Partial*, which are derived automatically from a single
Parameter type, together with the associated Fill* functions.
Furthermore, HVParams is even more special, as its contents is not
fixed but varies per hypervisor type, plus it has the HV_GLOBALS part
which should not be customisable at instance type (yay for
exceptions). As such, this should be written in Haskell as a
multi-constructor type, but it's the only one so far and thus we don't
have support for it yet.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Files
- added
- modified
- copied
- renamed
- deleted