Hi everyone,

I've been working on implementing operator overloading and would like to
submit a proposal.

I think operator overloading would be a useful addition to the language.
In particular I think it would be useful for defining operations on common
mathematical object types such as complex numbers, vectors, matrices, and
sets.

I've create a working prototype that consists of:

   - babel plugin that rewrites operators as function calls
   - a polyfill which defines these functions and which call the correct
   argument-specific function based on the arguments' prototypes
   - Function.defineOperator which can be used to define which function an
   operator should use for the specified types
   - "use overloading" directive which allows users to opt-in

More details can be found at
https://github.com/kevinbarabash/operator-overloading.
The babel plugin can be found at
https://github.com/kevinbarabash/babel-plugin-operator-overloading.
I also have a demo project at
https://github.com/kevinbarabash/operator-overloading-demo.

The design was inspired by some of the slides from
http://www.slideshare.net/BrendanEich/js-resp.

– Kevin
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to