|
|
Choosing A Webhost: |
[RELEASE] Pugs 6.2.4 is released!: msg#00103lang.perl.perl6.compiler
On behalf of the Pugs team, I am elated to announce the release of Pugs 6.2.4, with much more comprehensive OO support, hyper and reduction metaoperators on user-defined operators, as well as experimental coroutine support. Also of note is `pugs.pm` and `Inline::Pugs`, two Perl 5 modules that lets you inline Perl 6 code in Perl 5 programs. The docs/quickref/ series of documents is also helpful as a companion to the Synopses. You can download Pugs from a nearby CPAN mirror, or from pugscode.org: http://pugscode.org/dist/Perl6-Pugs-6.2.4.tar.gz SIZE = 1012322 SHA1 = e45dc1103a39bef689661b90a0aa4978a5b9b43a A Pugs/Parrot live CD, contributed by iblech, is available as well: http://linide.sf.net/pugs-livecd-6.2.4.iso Amazingly, the project's velocity is still increasing, with 680 new commits, compared to 507 from 6.2.3. The graph below shows the growth of number of commits and committers: http://linide.sourceforge.net/pugs-svngraph-6.2.4.png Again, my sincere gratitude to all lambdacamels for making this release as exciting and enjoyable as it is. See you next week! Thanks, /Autrijus/ == Changes for 6.2.4 (r3790) - May 24, 2005 === Pugs Internals * All infix operators now receive reduction forms, such as `[+]` * All operators now receive hyperised forms, such as `>>+<<` and `~<<` * Dereferencers: `@{...}` and `@$var` * Experimental support for `coro { ... }`, `coro name { ... }` and `yield()` * Experimental support for `lazy {...}` * External Parrot for Rules is now kept in a single process * Inheritance: `class Foo is Bar` and `class Foo does Bar` * Interactive shell commands normalised to always begin with `:` * MMD handling is now more sophisticated, and `$.chained.attr.methods` works * Much better error messages, with cascading stack trace * New `./method` syntax implemented * Objects numify to a unique value accessible with `$obj.id()` * Parrot compiler backend now handles namespaces and method calls * Parsing of hierarchical return types: `sub foo returns Hash of Str` * Private attributes: `has $:foo` now generates private accessors * Private methods: `method :foo ()` and `$obj.:foo` * Switch to sum-of-inheritance-level distance for MMD dispatch on invocants * Symbolic references: `$::(...)` and `$::some::("var")::($bar)` * User-defined symbolic infix, postfix and prefix unary functions * `$?CLASS` and `$?PACKAGE` works; `$?ROLE` currently works as `$?CLASS` * `&code.name` and `&code.arity` added * `FIRST {...}` and `my $x = FIRST {...}` support * `INIT {...}` and `CHECK {...}` blocks in void context and as rvalues * `OUTER::` scope implemented * `do {...}` literal added * `gather { ... }` and `take()` implemented * `submethod BUILD` is called for each parent class and class itself * `time()` now returns a fractional number * `try {...}` literal allowed at expression level * `warn()`, `uniq()`, `fail()`, `times()` implemented === Bundled Modules * `Inline::Pugs` and `pugs` module to inline Perl 6 into Perl 5 programs * `Locale::KeyedText` re-added (this was our first contributed module) * `Net::IRC`, OO version added * `Perl::MetaModel`, prototype of Perl 6 OO meta-model in Perl 6 OO * `Set::Junction` and `Set::Hash` added as implementation backends to `Set` * `Set` now has many overloaded operators * `Test::Builder`, with Perl 6 objects (parses, and mostly works -- see tests) * `Tree::Simple`, renamed to `Tree` and converted to OO * `Test` now gives better diagnostics to `cmp_ok()` * `fp` module added for functional programming === Tests, Examples and Documentations * Many new test and several tests refactored, we now have 5600+ tests * Hangman IRC bot created from `hangman.p6` * IRC logfile to HTML converter added * Initial sketch of Pugs Apocryphon 2 as `docs/02Internals.pod` * Much work on internal Haddock Haskell documentation * OO Wizard RPG game added in `examples/games/` * Parrot is now included in the Pugs Live CD * Perl 6 quick reference documents added to `docs/quickref` * Perl6::Rules test suite incorporated into `t/rules/` * Removed usage of `force_todo()` in favor of `:todo` === Bug Fixes * Bare blocks containing `$_` is now executed correctly * Correct parsing for user-defined nullary functions * Hash and array sub parameters are read-only by default, same as scalars * Post-term invocation in interpolation no longer eat trailing whitespace * Slurpy hash parameters no longer count as nonslurpy during arity matching * Type-to-type smartmatch, e.g. `Int ~~ Num`, now works * `$obj.method($arg1, $arg2)` can now MMD dispatch over all arguments * `foo 3 and foo 4` is now parsed as two separate function calls * `loop (;0;) {...}` will no longer execute the loop body * `map({...} @list)` is no longer valid syntax * `next` now re-evaluates condition in `loop` constructs * `returns Foo::Bar` from subs/methods now works * `split//` now attaches the submatches to the resulting list * `state $x = 42` now only assigns `$x` once * `system()` returns proper exit codes
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Perl development server, Nathan Gray |
|---|---|
| Next by Date: | [RELEASE] Pugs 6.2.5 is released!, Autrijus Tang |
| Previous by Thread: | Perl development server, Juerd |
| Next by Thread: | [RELEASE] Pugs 6.2.5 is released!, Autrijus Tang |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |