DIP58: ".." as a Binary Operator

Mason McGill mmcgill at caltech.edu
Mon Mar 17 00:56:18 PDT 2014


I just wrote a DIP aimed at improving slicing and range 
construction syntax while maintaining backwards compatibility, 
and I'd like to hear your opinions!
http://wiki.dlang.org/DIP58

It can be thought of as an elaboration on the approach discussed 
here:
http://forum.dlang.org/thread/mailman.551.1365290408.4724.digitalmars-d-learn@puremagic.com

And an alternative to the approach discussed here:
http://forum.dlang.org/thread/upzdamhmxrrlsexgcdva@forum.dlang.org#post-ncwqaixkgbgycybvpkgj:40forum.dlang.org

I think the issue of appealing to numerical programmers is worth 
some attention because there's a distinct niche that D is 
frustratingly close to filling.  In my field, researchers will 
often write scripts in a dynamic language, publish, iterate, and 
eventually re-write their software in C++ and release it as a 
library.  The re-writing step is a large time investment, but 
it's important because

   - Dynamic languages are either slow (MATLAB/Python/R) or 
immature (Julia).
   - Other researchers may prefer another dynamic language, but 
every relevant dynamic language can interface with native 
libraries.

D already has the speed and modeling power of C++, GC for clean 
API design, and reflection for automatic bindings, but it's 
missing a few key features required to make something like NumPy 
or the Julia standard library possible in D.  I believe DIP58 
provides those features, and accepting DIP58 will make D a 
competitive alternative to the prototype/test/rewrite/release 
cycle.

On another note, I'm pretty new to D and the community, so let me 
know if there's any protocol I should follow with respect to DIPs 
and I'll get on it!

Cheers,
Mason


More information about the Digitalmars-d mailing list