pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:17:       will now result in a function(string|void:string) that returns    "bar" if called with no arguments or UNDEFINED, and its argument    otherwise. The local variable 'bar' above will be typed string    (ie not string|void) in the function body.       The syntax is also valid for implicit create:       class foo(string bar = "bar") {}    + o Major changes to the compiler type checker. +  +  - The type for the value 0 or UNDEFINED now needs to be +  declared explicitly. For convenience the symbol 'zero' +  now evaluates to the type 'zero'. +  + o '__unknown__' type added. +  +  This is a type that is the inverse of the type mixed|void, +  and is used eg in the type for the empty string +  string(zero:__unknown) and for the generic function type +  function(__unknown__...:mixed). +    o 'auto' type added.       This is much like a strict typed mixed. The actual type is deduced    compile-time.       Typical use is as the type for variables in foreach when looping over    complexly typed values, or as the type in macro-defined functions and    similar.       auto can be used as return type for a function, it will be the