pike.git / CHANGES

version» Context lines:

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.