Pony 0.17.0 is a recommended release if you are using GCC 7 on Linux. Before this release, GCC 7 was unable to build the Pony compiler. If you aren't using GCC 7, you can take your time upgrading. Please note, there is a breaking change in this release, but it's quite unlikely that anyone will be impacted by it.

Treat as type of array literals as the alias of the element type

Previously, an array literal, even when the as type is given explicitly, uses the alias of the as type as the type argument for the Array type. For example:

trait iso T class iso A is T class iso B is T class iso C is T actor Main new create (env: Env ) => let a: T = A let b: T = B let c: T = C let abc: Array [ T ] = [ as T ^: A ; B ; C ] // works let abc': Array [ T ] = [ as T : A ; B ; C ] // fails: literal has type Array[T!]

We doubt that anyone currently has the `// works`` line anywhere in their code. However, if you are impacted, update it to:

let abc': Array [ T ] = [ as T : A ; B ; C ]

default_pic build option

Previously on platforms that required PIC, you would have to pass the --pic flag to ponyc each time you compiled a Pony program. With the addition of default_pic , you can build ponyc so that --pic is automatically handled for you. Use make default_pic=true when building ponyc and away you go!

[0.17.0] - 2017-08-05

Fixed

Fix cursor location for displaying compiler errors and info. (PR #2136)

Fix indent detection when lexing docstrings that contain whitespace-only lines. (PR #2131)

Fix compiler crash on typecheck error in FFI call. (PR #2124)

Fix compiler assert on match including structural equality on union type. (PR #2117)

Added

Support GCC7 on Linux (PR #2134)

Add regex match iterator (PR #2109)

Add more promise methods (RFC 35) (PR #2084)

Add ability to default enable PIC when compiling ponyc (PR #2113)

Changed