Recommendations on porting Python to D
mw
mingwu at gmail.com
Fri Jul 12 18:07:50 UTC 2024
On Friday, 3 May 2024 at 17:38:10 UTC, Chris Piker wrote:
> On Thursday, 25 April 2024 at 16:57:53 UTC, mw wrote:
>> On Wednesday, 24 April 2024 at 22:07:41 UTC, Chris Piker wrote:
>>
>>> Python-AST to D source converter may already exist?
>>
>> https://github.com/joortcom/eiffel_rename/tree/main/yi
>>
>> A rudimentary converter from (extended) Python to D. Maybe you
>> can use it as a starting point.
>
> Thanks for the suggestions. I put the question aside for a
> bit, but yesterday ran across a python transpiler here:
>
> https://github.com/py2many/py2many
>
> It already has support for C++, Go and others. Since I have
> mountains of python code created over many years, maybe it
> would be worth contributing to this project out of self
> interest.
>
> Can you take a look at py2many and see what you think about it?
> Getting D on the support list might be good.
Hi,
I have made basic py2many.pyd work at language/syntax level in my
dlang fork:
https://github.com/mw66/py2many/tree/dlang
The following examples works now:
https://github.com/mw66/py2many/tree/dlang/tests/expected
py2many/ 13:56:23$ ls ./tests/expected/*.d
./tests/expected/bubble_sort.d
./tests/expected/cls.d
./tests/expected/fib.d
./tests/expected/import_tests.d
./tests/expected/classes.d
./tests/expected/dict.d
./tests/expected/hello_world.d
./tests/expected/nested_dict.d
I haven't created PR to be merged into the main branch, since
it's better to pass all the tests.
All the remaining work is to make Python's specific feature (e.g.
async), library (e.g. complex number, NamedTemporaryFile) work in
D. There are many things need to be done, if you have time, you
can pick up from my fork, and work from there. (E.g. you can
create PR to my branch, and when everything is ready, we submit
to the main py2many all together).
HTH.
More information about the Digitalmars-d-learn
mailing list