some of the code that was ported from primitive brings along with it the problem primitive has, where code is written in a handful of different styles. to me, there are a few noticeable inconsistencies:
sometimes implementing top-level functions using lambdas, vs. not doing that. e.g. (reverseMutable = \arr -> ...)
naming conventions: i prefer arr and marr for arrays and mutable arrays, respectively, but in some places these are named ary/mary.
using guards when looping through an array vs using if-then-else. this is the most in-your-face one. i prefer if-then-else instead of guards.
some of the code that was ported from primitive brings along with it the problem primitive has, where code is written in a handful of different styles. to me, there are a few noticeable inconsistencies:
reverseMutable = \arr -> ...
)arr
andmarr
for arrays and mutable arrays, respectively, but in some places these are namedary
/mary
.