I've put up an initial PR here: 
https://github.com/apache/incubator-tvm/pull/6522.

An issue has come up, what do we name the python module?

## Option 1
We name the module `tvm.tvmscript`.
Example usage:
```python
import tvm

# Can still use this though
@tvm.script # or tvm.script.tir
def my_func():
  pass

@tvm.script # or tvm.script.module
class Mod:
  def my_func():
    pass

string = my_func.asscript()
assert(string == tvm.tvmscript.parse(string))

# can also do
from tvm import tvmscript

assert(string == tvmscript.parse(string))
```

The disadvantage here is that `tvm.tvmscript` repeats tvm twice. But it does 
make it explicit that the script we are using is tvm script (as opposed to 
hybrid script).

## Option 2
We name the module `tvm.script`. We still refer to this as "TVM Script" in all 
documentation, etc.
```python
import tvm

# Can't use tvm.script as it is a namespace
@tvm.script.tvm # or tvm.script.tir (see option 2a)
def my_func():
  pass

@tvm.script.tvm # or tvm.script.module
class Mod:
  def my_func():
    pass

string = my_func.asscript()
assert(string == tvm.script.parse(string))

# can also do
from tvm import script

assert(string == script.parse(string))
```

If we use `tvm.script` as the module name we cannot use the `@tvm.script` 
decorator. We have two options for the decorator. **Option 2a**: use 
`@tvm.script.tvm`. **Option 2b**: use `@tvm.script.tir` for functions and 
`@tvm.script.module` for modules.

The disadvantage here is that the name `script` can be confusing when used 
unqualified (when using from imports). Pytorch uses this approach, but they 
only have a single script in their package.


Let me know which you like best. (Hopefully this isn't too much bike shedding).





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/rfc-rename-hybrid-script/7915/11) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/b98f41f6ca11984e6c712008179bf9f6112402188baa3e13b4243e55eef9de53).

Reply via email to