Just analysing a device driver for hardware few months old... as usual, it's as bloated as a week-old dead pig overall but then I come across pieces like this:
>>87,88 The two pieces of code aren't equivalent since d, s and t can overlap; the SIMD code would be wrong for add4. This is why languages that require you to break down every operation on arrays into detailed loops are stupid by the way.
This is why languages that require you to break down every operation on arrays into detailed loops are stupid by the way.
I agree, but only because of the qualifier about 'every operation'. most things people use loops for could be expressed with map/filter/reduce without losing readability - and it would be better for the more advanced compiler optimizations. still, most things are not the same as all things - there are things that are just plain easier to understand with loops: writing something like a multimedia codec (or even that ASCII->GSM-7 converter from a /prog/ challenge) with just map would require an anal deformation of your brain far worse than the one required to program in Forth