Documentation for "hlNative" and other metadata

Can anybody point me towards relevant docs or discussion that covers hlNative? I’ve noticed it’s usage right before declaring a class such as

@:hlNative("simplex")
class Simplex

but in other cases it can be seen within class as follows

private class SocketOutput extends haxe.io.Output {
    ...
    ...
    @:hlNative("std", "socket_send_char")
    ...
}

What is the difference between the two? Thanks

Looking deeper I’ve found that it can also be used without parameters such as

@:hlNative
static function date_new

and with a number @:hlNative(1.11)

I assumed it had something to do with namespaces within Haxe but the number throws this off. I’d like to wrap my brain around this, particularly the difference between using hlNative within a class and outside of a class, and how this may effect the scope of the native function

Whenever you see native in metadata or somewhere else, it means it is natively implemented in
specific target: in this case HL