o typeof(X) can now be used as a type. The main use case is in macros, but it might be useful for other things as well (as an example in a typedef). typedef typeof(Val.true)|typeof(Val.false) bool; typeof, when used like this, behaves very much like the C++ decltype() expression.
o ** operator added. It's exponentiation and works with most
combination of numerical types (int,float,Gmp.mpq,Gmp.mpf,Gmp.mpz)
`** and ``** operator overloading functions added.
This introduces one incompatible change: Previously the "pow"
function called a "_pow" function in the first argument if it was an
object. It has now been changed to also use `** (or, rather, pow()
is now implemented using ::`**()
o Random rewrite The random functions have been rewritten to ensure security by default. random_string() and random() now get their data directly from the operating system random generator, i.e. /dev/urandom on most unixen. This is about half the speed compared with the random_string function in Pike 8.0, but is now as secure as the system random generator. For consumers of random data that have additional requirements,