Pike 8.1: Changes since Pike 8.0 (scratch area for future release notes) |
---------------------------------------------------------------------- |
|
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 deprecated, so glue code is removed. |
|
|
New modules |
----------- |
|
o ADT.Scheduler |
o ADT.TreeScheduler |
o Filesystem.Zip |
o Stdio.FakePipe |
o Parser.Markdown |
o Crypto.Checksum |
o Protocols.HTTP2 |
o Bittorrent.DHT |
o MsgPack |
|
New features |
------------ |
|
o Gmp.mpf is now implemented using gmpf if 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. |
|