Panda 0.3.0-alpha

Panda 0.3.0-alpha has been released! 🎉

Changes in language:

  • GH-298 Simple type inference through let keyword
module lang

main {
    /* Immutable */

    let rawValue = '#onlypanda x '
    let methodValue = 0xCAFEBABE.toString()

    log rawValue + methodValue

    /* Mutable */

    mut let mutableValue = '#onlydiorite'
    mutableValue = '#onlypanda'

    /* Nillable */

    nil let nillableValue = '#'
}
/* No longer possible */
nil String value = null // <-- interpretation error

/* Nillable variables */
nil String playingWithFire = Java.null()
log 3 == (8 % 5)
  • GH-611 Support for hexadecimal longs
log 0xCAFEBABE
log 0xFFFFFFFFFFFFFF
  • GH-593 GH-609 Fixed operators like !, not, ~, -, ++, -- that could not be used without ( ) in complex operations
log !false && true // --> worked as !(false && true)
log !false && true // fixed -> (!false) && true
open type Foo {
    internal String field

    constructor (String field) {
        this.field = field
    }

    constructor () {
        this('Default') // Fixed
    }
}

Changes in internals:

Download:
Installation: panda-lang.org/install
Developers: panda-lang.org/guide#installation

Archives: