A bit off topic, but it feels like there are many places where one would like to change the default semantics of julia code (similar to C/Fortran compiler flags). Not only in this proposal but also in @fastmath, @simd, @inbounds, @changeprecision, @optlevel, @views… Currently this is mostly done with macros that are somewhat inconsistent in where they need to be applied (loop, function, module…), some require additional levels of begin/end, and chaining them feels dangerous. It would be nice if there was a more consistent way of doing it. Something like
module MyModule
@compiler_opts simd=true opt_level=2 views=true precision=Float32
...
end