ezl::rise(readFile<string> (argv[1]).rowSeparator('s').colSeparator(""))
.reduce<1>(ezl::count(), 0).dump()
.run();Really, dang, you can remove posts like mine but you do nothing to address the real problem here.
Moreover, easyLambda has data flows, map, reduce which in a way improves the way programs are written and composed. There are no classes to be declared for anything. It has many syntactic sugars, for column selection, control over parallelism, i/o etc. I personally like the style of coding in it for various problems, keeping parallelism aside.
BTW not complaining, far, far from it, just a useful feature addition you may consider in case you have the bandwidth to invest.
Any idea how this would work with (random stuff I'm thinking about) Cuda or Tensorflow?
A map/reduce/rise take a template parameter which can be of any class type and library has nothing to do what a function object or function does in the function body. The function just need to take in the arguments that the prior unit passes it and return something. I don't think there will be any problem if one uses any other library to perform computation inside a function, even if some library does not work out of the box, I'm pretty positive it can be done with little tinkering. I hope this makes things clear.
I'm probably not as up on the most modern c++ approaches as I should be but I'm quite interested. I have downloaded the code and I'm looking through it.
Basically, it uses template metaprogramming to go from the higher-level map/reduce/rise semantics to lower level for-loops and calls.
Beyond the particulars, the question/challenge I'd have would be - "how would you use this dynamically generate map/reduce/rise calls?"