Pragmas are just a way to attach more info to the functions.
The compiler takes the data in the pragmas and does some thing special with it.
Take the {.inline.} pragma it just marks the functions with inline=true and
then when compiler sees the function it inlines it.
You can also create your own pragmas and use them in your own code.
You can also use pragmas with macros. Most famous example is the {.async.}
pragma which chops a linear function into several sections and provides async
capabilities.
Pragmas can be used for so many things, here is a massive list:
[https://nim-lang.org/docs/manual.html#pragmas](https://nim-lang.org/docs/manual.html#pragmas)
Other languages have keywords such as static, final, inline... but you can't
add your own keywords like that, but in nim you can... through pragmas.