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
modulekeyword 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 anunnamedmodule.-
Simplified
panda.cdnstructurename: 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
classkeywordclass Test { } // won't parse anymore type Test { } // use type instead -
Added
pandacommand to PATH (with installer)By default, Panda searches for
panda.cdnfile in your working directory. To get more information, request help message withpanda --helpcommand. - Improved overall installation and launching user experience
Changes in internals:
- c73616e Added sources to distribution builds
- 7ed1433 Simplified package structure of
pandamodule - 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:
