On Tuesday, July 23, 2019 at 2:20:45 PM UTC-6, Stefan Behnel wrote: > Jesse Ibarra schrieb am 22.07.19 um 18:12: > > On Saturday, July 20, 2019 at 1:11:51 PM UTC-6, Stefan Behnel wrote: > >> Jesse Ibarra schrieb am 20.07.19 um 04:12: > >>> Sorry, I am not understanding. Smalltlak VW 8.3 does not support Python. > >>> I can only call Pyhton code through C/Python API. > >> > >> Ok, but that doesn't mean you need to write code that uses the C-API of > >> Python. All you need to do is: > >> > >> 1) Start up a CPython runtime from Smalltalk (see the embedding example I > >> posted) and make it import an extension module that you write (e.g. using > >> the "inittab" mechanism [1]). > >> > >> 2) Use Cython to implement this extension module to provide an interface > >> between your Smalltalk code and your Python code. Use the Smalltalk C-API > >> from your Cython code to call into Smalltalk and exchange data with it. > >> > >> Now you can execute Python code inside of Python and make it call back and > >> forth into your Smalltalk code, through the interface module. And there is > >> no need to use the Python C-API for anything beyond step 1), which is about > >> 5 lines of Python C-API code if you write it yourself. Everything else can > >> be implemented in Cython and Python. > >> > >> Stefan > >> > >> > >> [1] > >> https://docs.python.org/3/extending/embedding.html?highlight=PyImport_appendinittab#extending-embedded-python > > > > This cleared so much @Stefan, thank you. I just need some clarification if > > you don't mind. > > > > In (1), when you say "import an extension module that you write", do you > > mean the Python library that was created "import emb"? Is that gonna be > > written in Cython or standalone .C file? > > Yes. In Cython. > > > > in (2), what do to mean when you said "Use the Smalltalk C-API from your > > Cython code to call into Smalltalk and exchange data with it."? > > Not sure what part exactly you are asking about, but you somehow have to > talk to the Smalltalk runtime from your Cython/Python code if you want to > interact with it. I assume that this will be done through the C API that > Smalltalk provides. > > Just in case, did you check if there is already a bridge for your purpose? > A quick web search let me find this, not sure if it helps. > > https://github.com/ObjectProfile/PythonBridge > > Stefan
Yes, I think that can be done through the "inittab" mechanism you recommended. I will try it. Yes, I trying to implement the same thing as shown in the GitHub link but instead of Pharo I will use VisualWorks IDE Thank you -- https://mail.python.org/mailman/listinfo/python-list