If you read Oberon documentation, modules importing SYSTEM are tainted and considered unsafe.
Just like Modula-2 already does it.
Well...that's what I meant. But which one is it, then?
Just like the languages that have unsafe code blocks it is relatively easy to track down unsafe modules, same thing.
And just like languages with unsafe code blocks, there are compilers that have switches to forbid the use of tainted modules unless explicitly allowed.
In any case, way better than what C, C++ and Objective-C offer, regarding security per line of code.
Would you consider Oberon to belong in the former or latter category? On one hand, there's no explicit code blocks as such (syntactically). On the other hand, unsafe primitive operations are limited to the SYSTEM module, so functions calling operations in the SYSTEM module can be considered doing unsafe things.