tinypy
tinypy copied to clipboard
Is this dead?
Last commit 2009, yet there are much more recent issues.
I'm curious too 🤔
I had this exactly the same idea over a shower. Some google landed me here. Looks unmaintained indeed. Wonder how much it will take to give this some Python 3 flavor.
Non-toy, Python3-flavored spiritual successor of tinypy is https://github.com/micropython/micropython .
However, it would be nice to fix up this repo, so it worked out of the box.
Well, @rainwoodman seems to be doing quite a lot of work in his fork: https://github.com/rainwoodman/tinypy
Indeed. The general direction is to make it easier to hack on and set the background such that hacks will naturally land into the right places.
I am in the middle of several things -- it was fun, but time has been scarce. May I bug you from time to time on issues?
-
Reorganizing the API. I added a layered structure: basic data structures (tpd), language services (tp), and python interface (tpy). I am trying to kill all the cyclic dependency between layers. This may have broken several extension modules.
-
Switch to meta to dispatch all methods. This would allow subclassing of all builtin classes, and extending the builtin classes (think of jQuery alike) without modifying the VM.
-
disabling import from file; only support importing from existing fully qualified module names, which are associated with code objects by some other mechanism. The idea is to avoid a big, fat standard library that needs to be carried with the interpreter, and will also remove file-system dependency from the core vm.
Other to do list is a new testing framework; an audit of the code on thread safety is also on my list; adding an Exception class; and probably eliminate setjmp/longjmp, if that's possible at all -- how do you see this?
A binding to a tensor library could be nice.
@rainwoodman, Good plans list, thanks, I'm sure people interested in tinypy will find it useful.
May I bug you from time to time on issues?
I assume you address to "wider tinypy community". I'm sure it will respond. In the meantime, let me ask a question from my side: what's your motivation for doing all those non-trivial, effortful things to tinypy?
I am not so certain about the size of the audience. There isn't much space left, especially given the neither language nor the extension API is compatible with Python or lua.
A good candidate as a hobby or a place to learn about how to build languages, but I don't see much more beyond these.
@rainwoodman Please see this - http://mruby.org/
Thanks.
I wonder how they are doing the tests -- it smells like they are using mruby as a ruby extension, then assert the output of the extension module. But this would mean if the target system doesn't have ruby tests cannot be run there.