[Python-ideas] Implementing a set of operation (+, /, - *) on dict consistent with linearAlgebrae

Kyle Lahnakoski klahnakoski at mozilla.com
Wed Oct 31 22:54:28 EDT 2018


Julien,

Personally, I would be able to use the module you are proposing to
accumulate arbitrarily-named measures. I can not think of a use case for
division, but it would be nice for completion.  I have made my own
library that implements a small part of what you propose [1].

I was looking through the pstats.py [2] source code; and I thought it
could benefit from vector operations.  I have seen other code that
collect measures have the same redundant pattern.  Maybe some fancy
regex can identify other += code sequences that would benefit.  If you
make a module, and show how it can simplify pstats.py, maybe you have a
winner? 

[1] "vector" addition? -
https://github.com/klahnakoski/mo-dots/blob/dev/tests/test_dot.py#L610

[2] pstats.py source code -
https://github.com/python/cpython/blob/3.7/Lib/pstats.py#L156


On 2018-10-30 11:31, julien tayon wrote:
> Hello :)
>
> the idea is described here:
> http://jul.github.io/cv/pres.html#printable
>
> Summary of the idea :
>
> Take a linear algebrae book, and implements all the rules as a TDD.
> https://github.com/jul/archery/blob/master/consistent_algebrae.py
>
> make it works based on abstract base class and sets of Mixins.
> https://archery.readthedocs.io/en/latest/
>
> And see if we can make cos/__abs__/dot and if it gives naively the intended
> results ? (spoiler: yes)
>
> Making it work with dict, and "other" dictionary like counter by using
> ineritance
> https://archery.readthedocs.io/en/latest/#advanced-usage
>
> My idea is : wouldn't it be nice if we introduced geometries as sets of
> mixins for objects ?
> (Hilbertian algebrae could be nice too, and we could make MutableMapping
> behave like bra/kets).
>
> So I was proposing a soft discussion on : could we agree that it would be
> nice to consider operation overloading as a whole set of behaviours that
> could profit from being consistent in a categorized way ? (like the + of []
> could be the + of "RecordAlgebrae")
> Meaning we could define sets of "expected behaviour consistent interaction
> between operators" as we defined the abc and call them algebrae?
>
> I offer the LinearAlgebrae Mixins as a POC, and was thinking of creating a
> unittest to qualify if an object is following the rules of linear algebrae.
>
> What are your opinions ?
> I don't actually see a lot of use case except it was funny to build. But
> maybe it can be of use.
>
>
> Cordialement
>
> -- 
> Julien
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20181031/138985e8/attachment.html>


More information about the Python-ideas mailing list