As a tangent, p-code is like an ancient version of wasm or java bytecodes, though its interpreter (the p-machine) was simple and compact enough to fit on 8-bit machines. Smalltalk also used bytecodes.
The nice bit is that once you implement a bytecode interpreter, everything just runs. It may be slower than native code, but no new code generators or compilers are required.
Mostly safe systems programming language, no Assembly, all Assembly like operations are available via compiler intrisics, UNSAFE code blocks, admin clearance required for modules tainted with use of unsafe code.
The nice bit is that once you implement a bytecode interpreter, everything just runs. It may be slower than native code, but no new code generators or compilers are required.