I've taken a look at Python bridge for other languages, there're several: For Lua https://labix.org/lunatic-python
For ObjC https://pythonhosted.org/pyobjc/ For JS https://github.com/ipython/ipython/wiki/IPEP-26:-Full-Featured-python-js-object-bridge I'm glad that the idea is not just my imagination, it exists and there're something to read. I'll start this work after release Artanis-0.2.2. Best regards. On Sun, Jul 16, 2017 at 6:17 AM, Jan Wedekind <j...@wedesoft.de> wrote: > On Sat, 15 Jul 2017, Nala Ginrut wrote: > >> @Jan Yes, that should be a way to go. And I have a new idea which is >> just an idea at present. Many we could find a way to read PyObject to >> Gulie, and call Python module directly (say, numpy). There should be a >> type-compatible abstract level between Guile and PyObject. If it >> works, we may implement Python3 on Guile. Although it seems a large >> work to implement complete Python3 frontend, we may save lot of work >> to write alternative Python modules for Guile. >> Julia language does in this idea, but it's backend is compatible with >> Python. My idea is not to convert all Python types to Guile, just wrap >> some types to a special object like <pyobject> is enough, then Guile > > > Sure, a Guile Python bridge would be nice for using NumPy and SciPy. However > while NumPy is quite mature, it cannot do compose array operations and avoid > intermediate results as Theano can. > One could write bindings to Theano. However I think that the bridging code > would get in the way at some point. > > From the Theano documentation [1]: > >>>> import numpy >>>> import theano.tensor as T >>>> from theano import function >>>> x = T.dscalar('x') >>>> y = T.dscalar('y') >>>> f = function([x, y], x + y) >>>> f(2, 3) > > > This is about having "2 + 3" being computed with fast compiled code. > With Scheme macros most of that can be implemented transparently [2]: > >>>> (use-modules (aiscm tensor) (aiscm int)) >>>> (tensor (+ 2 3)) > > > [1] > http://www.deeplearning.net/software/theano/tutorial/adding.html#adding-two-matrices > [2] http://wedesoft.github.io/aiscm/operation.html#tensor-operations