You may want to check PEP 603, which more or less proposes this (the author of the pep is the author of the HAMT code) check https://peps.python.org/pep-0603/
Alternatively, there is already a pypi package with this code: https://pypi.org/project/immutables/ Regards from cloudy London, Pablo On Fri, 1 Apr 2022, 10:34 zhang kai, <kylerzhan...@gmail.com> wrote: > Hi, > > HAMT is a very useful immutable mapping type. Currently CPython use it > internally to implement contextvar. Considering immutable data structure is > very useful I hope we can make it available to python script(maybe via > collections module). > > Immutable data structures are fundamental parts of our project. Currently > we use a full-featured python immutable data library called pyrsistent. > Pyrsistent is very powerful, however the map type in it is implemented in > python script not in C. It becomes slow when the data set is relatively > large. > > On the other hand, CPython now already has an immutable mapping type in > it. I think maybe it’s a good idea to make it public? Many projects can > benefit from it I believe. > > Here is a talk given by the author of javascript immutable-js library > explain why immutable data structures are powerful: > https://www.youtube.com/watch?v=I7IdS-PbEgI > > Pyristent: https://github.com/tobgu/pyrsistent > > What do you think? > > Cheers, > Kai > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/2WYPX44WBFS2ZMZFNMDFMRPROB7G34JQ/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/WSNGWKINHMVM2BWOO545FYEOSIXTZKOW/ Code of Conduct: http://python.org/psf/codeofconduct/