@gentoobro @Suiseiseki @Zergling_man I have to disagree with the C-centrism part.
There's no particular reason C should be prioritized above any other ABI save for historical accident.
Mezzano (to refer to a non-historical example) would also disagree on its consisting of baremetal (because it isn't).
Baremetal (machine code) is distinct from system-supported ABI, which is itself distinct from but related to calling conventions.
(WinRT has its own distinct ABI too.)
An implementation for a given system should provide means to interface & interact with the system, yes. But the language itself shouldn't have any preference for arbitrary ABIs.