pike.git
/
CHANGES
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/CHANGES:2:
---------------------------------------------------------------------- New language features --------------------- o Unlimited character constant size. There is no longer any limit to the size of character constants, e.g. 'acdefghijk' creates the bignum 0x61636465666768696a6b.
+
o 'auto' type added.
+
+
This is much like a strict typed mixed. The actual type is deduced
+
compile-time.
+
+
The main use case is as variables in foreach when looping over
+
complexly typed values, or as types in macro-defined functions and
+
such.
+
+
auto can be used as return type for a function, it will be the
+
logical or of all the types of the return statements in the
+
function.
+
+
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.
+
Incompatible changes -------------------- o Gz.crc32 now only returns positive results. Removed features and modules ---------------------------- o Compatibility for Pike versions before 7.8 is no longer available.
-
o GTK1 library is
deprected
, so glue code is removed.
+
o GTK1 library is
deprecated
, so glue code is removed.
-
+
+
New features
+
------------
+
+
o Gmp.mpf is now implemented using gmpf is the library is available.
+
C-level API changes ------------------- o The contract for functions is now changed so that a function is no longer required to clean the stack. The topmost value of the stack will be regarded as the return value and the rest of the items on the stack, compared to before the function arguments were pushed, will be popped and discarded. Efuns still have to clean their stack as previously. Building and installing ----------------------- o GMP 4.1 or later is now required.