How to create pytorch bindings for language X?

I would like to try and create pytorch bindings for X language (for learning purposes) with no prior experience. Where should I start and what should I read?

So PyTorch’s own bindings are generated from native_functions.yaml by code in tools/autograd in addition with the data there.
There also are a number of existing PyTorch bindings for other languages, but I’d probably try to generate the bindings by adapting the code in tools/autograd rather than parsing the native_functions.yaml myself.

If you’re not set on the task, an alternative to creating bindings could be to do stuff within PyTorch. There are issues up for grabs in a number of areas and with varying degrees of difficulty (e.g. look at “good first issue” or “bootcamp” tags).

Best regards

Thomas