// hello, world // // there are no strings. there are no string literals. there is ::tuple, a type // made of other types, and ::integral_constant<::char, N>, a type that happens // to be a character. ::emit prints whatever a type has to say and then a newline // there are also no numbers, so every character is its own distance from '\0' ::emit< ::tuple< ::integral_constant<::char, ::difference<'H', '\0'>>, ::integral_constant<::char, ::difference<'e', '\0'>>, ::integral_constant<::char, ::difference<'l', '\0'>>, ::integral_constant<::char, ::difference<'l', '\0'>>, ::integral_constant<::char, ::difference<'o', '\0'>>, ::integral_constant<::char, ::difference<',', '\0'>>, ::integral_constant<::char, ::difference<' ', '\0'>>, ::integral_constant<::char, ::difference<'w', '\0'>>, ::integral_constant<::char, ::difference<'o', '\0'>>, ::integral_constant<::char, ::difference<'r', '\0'>>, ::integral_constant<::char, ::difference<'l', '\0'>>, ::integral_constant<::char, ::difference<'d', '\0'>>, ::integral_constant<::char, ::difference<'!', '\0'>> > >::commit;