DIP80: phobos additions
via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jun 14 07:46:33 PDT 2015
On Sunday, 14 June 2015 at 14:25:11 UTC, Ilya Yaroshenko wrote:
> I am sorry for this trolling:
> Lisp is the best abstraction, thought.
Even it if was, it does not provide the meta info and alignment
type constraints that makes it possible to hardware/SIMD optimize
it behind the scenes.
> For example many programmers don't want to use Boost only
> because it's abstractions makes them crazy.
Yes, C++ templates are a hard nut to crack, if D had added
excellent pattern matching to its meta programming repertoire the
I think this would be enough to put D in a different league.
Application programmers should not have to deal with lots of type
parameters, they can use the simplified version (aliases). That's
what I do in my C++ libs, using templated aliasing to make a
complicated type composition easy to use while still getting the
benefits generic pattern matching and generic programming.
>>> Convolutions, identiy matrices, invertible matrices are stuff
> For daily scientific purposes - yes.
> For R/Matlab like mathematical library - yes.
> For real world application - no. Engineer can achieve best
> performance without special cases by lowering "abstraction"
> down. Simplicity and transparency ("how it works") is more
> important in this case.
Getting platform optimized versions of frequently used heavy
operations is the primary reason for why I would use a builtin
library over rolling my own. Especially if the compiler has
builtin high-level optimizations for the algebra.
A naive basic matrix library is simple to write, I don't need
standard library support for that + I get it to work the way I
want by using SIMD registers directly... => I probably would not
use it if I could implement it in less than 10 hours.
More information about the Digitalmars-d
mailing list