I would suggest that Haskell meets your criteria.
- Can be run as an interpreted language? Yes, through the GHCI.
- Can it be compiled into native code? Yes.
- Strictly printed? Even more. Perhaps even the most strongly typed language today, with the exception of some theoretical operators such as Agda.
- Support for macros / templates / morphing? If you are using a haskell template. However, this is an optional extension of the language, so most libraries do not use macros. I have not used the haskell template myself, so I cannot comment if it is good.
- Is there any decent library support? The standard library is not bad. There is also Hackage, a slightly open CPAN-style Haskell library repository.
Also, it looks like you already know a lot of required / object oriented languages. IMHO, if you learn another of these languages. it will probably be a slightly different permutation of the functions that you have already seen somewhere else. Adding another software paradigm, such as functional programming, to your toolkit is likely to be a better learning experience. Although I assume that this is an advantage or not, it depends on whether you want to learn new things or quickly become productive.
source share