-
Notifications
You must be signed in to change notification settings - Fork 172
Closed
Description
To deliver LPython as an MVP, I think the bare minimum is:
- Create a few useful LPython packages, upload to PyPi and get working with pip and Conda naturally and easily (Compiling Python packages with LPython #992)
-
@lpythondecorator (Interface with Python (CPython) #703): get it working for arrays and simple types, and allow importing other LPython compiled packages from within it - Add the
@pythoncalldecorator to create an "interface" for any Python function (in some Python module), similar how@ccallworks, but for Python: Interface with Python (CPython) #703 (comment), Interface with Python (CPython) #703 (comment); this will be implemented by creatingBindPythonABI (next to BindC), and then in the backends we implement the conversion; I would start with the C backend, where you add logic forBindPython(in FunctionCall ASR node) and generate C code that calls the Python C/API to import a given module, find the function, convert all arguments and call it - Add
@pythoncallabledecorator which exposes an LPython function to CPython (similar to@ccallable) - The demo using
@lpythonwill be faster than other Python compilers (lists, dicts, some basic things like arrays and loops), this must be done via the C backend - some LLVM backend demos: lists, dicts and arrays, anything where we are fast
- Add demo of using
@pythoncalland@pythoncallable, via the C backend - Website with documentation
- Blog post(s)
Thirumalai-Shaktivel, gptsarthak, Smit-create, rebcabin, faze-geek and 4 more
Metadata
Metadata
Assignees
Labels
No labels