Panda 0.4.0-alpha
It's time to introduce rewritten package and module system 🎊. A lot of internal changes that affect packages definitions and overall user experience.
Changes in language:
-
GH-615 Rewritten package and module system
module
keyword has been removed
The root module is now captured from the package info file (panda.cdn
) and submodules use directory names as theirs identifiers. Module content is loaded automatically, so there is no need to import individual scripts. Standalone scripts launched without package info are handled as anunnamed
module.-
Simplified
panda.cdn
structurename: awesome-app version: 1.0.0 author: dzikoysk sources: src repositories: [ https://repo.panda-lang.org/ ] dependencies: [ github:dzikoysk/panda-dependency@master maven:org.panda-lang/[email protected] ]
Example implementation of panda package can be found in panda-dependency repository.
-
5210730 Self return type replaced void type as a default return type of method
type Foo { open bar () { } } main { Foo foo = new Foo().bar() // methods return itself by default }
-
5210730 Removed old
class
keywordclass Test { } // won't parse anymore type Test { } // use type instead
-
Added
panda
command to PATH (with installer)By default, Panda searches for
panda.cdn
file in your working directory. To get more information, request help message withpanda --help
command. - Improved overall installation and launching user experience
Changes in internals:
- c73616e Added sources to distribution builds
- 7ed1433 Simplified package structure of
panda
module - f86a805 Removed DI library
- GH-615 Use absolute path to launch script, search for panda.cdn file for no-args calls and fix zip extract method
- GH-624 Fixed ClassGenerator that break Java interop by adding _ to method names
- GH-625 Fixed default constructor return type
Download:
Installation: panda-lang.org/install
Developers: panda-lang.org/guide#installation
Archives: