> I believe what Gabe is suggesting is switching e.g. Param.String(...)
> to Param(String, ...).  This would make it trivial to support
> parameters that reference objects in other modules, e.g.:
>  Param(Foo.Bar.Baz, ...)
> (not that it couldn't be done with the current structure, but it
> wouldn't be so trivial).
>
> I guess the question is whether the standard Python class name lookup
> works for param types... the key thing we get with Param.String is
> complete control over that process.
>
> OK, after actually looking at the code, it's partially coming back to
> me; with Param.Foo we defer the lookup of Foo until later, though I
> still don't recall why that was necessary... perhaps to enable
> circular references?  Is there a way to handle circular class
> references in Python?
Right.  I don't believe there is an easy way to do circular references
in python at the class level.  This isn't generally a problem because
the circular reference would usually happen in a def block within the
class and the variables aren't evaluated until the function is
actually called which would usually happen after the whole file is
read in.

  Nate
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to