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 = '#'
}
- GH-472 Removed null
/* No longer possible */
nil String value = null // <-- interpretation error
/* Nillable variables */
nil String playingWithFire = Java.null()
- GH-608 Modulo operation
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
- 13c7a34d9ab4a9018c3a4e0154dd3043ae354051 Fixed call to another constructor through 'this' keyword
open type Foo {
internal String field
constructor (String field) {
this.field = field
}
constructor () {
this('Default') // Fixed
}
}
Changes in internals:
- 2b661242d1647483fb74bb43a0fb59f66b44a7d8 Fixed invalid generated method names that uses java keywords
- c81a733043ea95edaca2c928eb9e31d3d778f602 Improved the possibility of redirecting output
- GH-550 Added multiple language tests in
examples
directory, increased overall coverage
Download:
Installation: panda-lang.org/install
Developers: panda-lang.org/guide#installation
Archives: