Hi, when a kernel calls an interpreted function via RPC, it is generally not possible to determine the type of the value that the function returns, until it has actually been executed (and the type can vary dynamically between calls). This is a problem with static compilation.
How should we deal with it? 1) Assume that all RPCd functions return an integer, or None. None is converted to 0 at runtime. This is what is done right now. 2) Add manual type annotations to RPCd functions. This can be done using Python function annotations (http://legacy.python.org/dev/peps/pep-3107/), e.g.: def foo() -> float: ... #2 is a superset of #1: we can default to #1 when no annotations are present. So the actual question is: do we need #2, and what do you think of the proposed syntax for annotating return types? Sébastien _______________________________________________ ARTIQ mailing list https://ssl.serverraum.org/lists/listinfo/artiq