The problem:
Not everyone will want blocks that are a 1-1 mapping with Python function calls. Rather, they simply need a block-ish placeholder that hides Pythonic complexity. We call this "abstract mode" - where non-Python blocks are available for the user to play with.
The requirements:
Obviously, these blocks will be based upon (user-defined) functions and/or classes.
- For classes, such blocks are a way to "make" stuff (make me a new
list).
- For functions, such blocks cause things to happen (
fetch me data from this url).
There needs to be an easy and well documented way for Python to introspect a function and/or class definition in order to be able to create an abstract block and coherently link it to the underlying function / class.
The solution:
Josh says hand wavy things about dynamic block definition. 😉
The problem:
Not everyone will want blocks that are a 1-1 mapping with Python function calls. Rather, they simply need a block-ish placeholder that hides Pythonic complexity. We call this "abstract mode" - where non-Python blocks are available for the user to play with.
The requirements:
Obviously, these blocks will be based upon (user-defined) functions and/or classes.
list).fetchme data from this url).There needs to be an easy and well documented way for Python to introspect a function and/or class definition in order to be able to create an abstract block and coherently link it to the underlying function / class.
The solution:
Josh says hand wavy things about dynamic block definition. 😉