Subject: CVS commit: pkgsrc/lang/parrot
To: None <pkgsrc-changes@NetBSD.org>
From: OBATA Akio <obache@netbsd.org>
List: pkgsrc-changes
Date: 04/20/2007 14:01:01
Module Name:	pkgsrc
Committed By:	obache
Date:		Fri Apr 20 14:01:01 UTC 2007

Modified Files:
	pkgsrc/lang/parrot: Makefile PLIST distinfo
Removed Files:
	pkgsrc/lang/parrot/patches: patch-ab patch-ac

Log Message:
Update parrot to 0.4.11.
Based on patch provided in PR 36157, update to 0.4.10.

New in 0.4.11

- Compilers:
 + IMCC: added documentation for C-based Parrot Calling Conventions,
   refactorings and bug fixes
 + PGE: new perl6regex front end reflecting recent S05 syntax changes
 + PIRC: new prototype PIR parser
- Languages:
 + Updated Lua, PHP ("Plumhead"), BASIC, pynie
 + Lua implements environment
- Design:
 + PDD15 "Objects" - details added, and draft approved
- Documentation:
 + Added guidelines for PMC documentation
- Implementation:
 + PDD15 implementation is largely complete, including role-based composition,
   introspection, and C3 method resolution order
 + new Exporter PMC for importing globals between namespaces
 + new string utilities for radix conversion
 + PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling
   Conventions from PMCs and C code respectively
- Build:
 + Refactorings and improvements in test coverage for 'Configure.pl'
- Misc:
 + many bugfixes, enhancements, and code cleanup
 + added example subversion config file
 + extended support for gcc, icc, and other compilers
 + extended support for Solaris and other platforms

New in 0.4.10

- Compilers:
 + IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE)
 + PGE: Match object improvements
 + smop: added Attribute and Class PMCs
 + HLLCompiler: improvements for interactive mode
- PAST:
 + extended binding to a list of variables
- Languages:
 + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal")
 + Update PIR, regex, Zcode
 + New language: Pynie - a Python compiler for Parrot
 + Lua implements require and many other ops, improved regex support
 + Remove parakeet
- Design:
 + PDD01 "Overview" - updated architecture and platform information
 + PDD15 "Objects" - details on roles, objects, and classes added
 + PDD22 "I/O" - added async ops and Status PMC details
- Documentation:
 + Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles
- Implementation:
 + Object, Class, Role, and Attribute PMC implementation has begun
 + Perl 5 module "Parrot::Embed" now compiles and links on all platforms
- Build:
 + Major improvements in test coverage for 'ops2c.pl'
- Misc:
 + New utility: Crow, a template processor
 + New library module: Config/JSON for reading/writing JSON files
 + many bugfixes, enhancements, and coding standard updates, code cleanup

New in 0.4.9

- Compilers:
   + IMCC: Parrot calling conventions now available in C PMCs, allowing
     named, optional, slurpy, and flat parameter passing
   + PGE: extended support for Perl 5 Regexes
   + smop: prototype object model implementation
   + hllcompiler: refactored to run a configurable set of compilation stages
- PAST:
   + redesigned assign/binding to support Perl 6 binding semantics
- Languages:
   + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5
   + New language: PIR - a PGE-based implementation of Parrot PIR
   + perl6 now supports binding (':=') and 'join'
   + lua generates tail calls, and supports its own regex flavor (PGE-based)
   + Pheme still works, huzzah!
- Design:
   + PDD21 "Objects" - rewritten
   + PDD22 "I/O" - updated and 'TODO' tests added
- Documentation:
   + Interface stability classification standards approved
   + Roles and Responsibilities documented approved
   + Official 'drafts' directory created (was 'clip')
- Implementation:
   + More NameSpace and OS PMC methods implemented
   + Parrot executable fullname and basename now available in PIR/PASM code
   + new 'chomp' library function
- Build:
   + Major improvements in test coverage for 'ops2pm.pl'
- Misc:
   + many bugfixes, enhancements, and coding standard updates
   + extended support for Sun Workshop Compilers
   + Parrot now builds on PocketPC platform

New in 0.4.8

- Compilers:
   + HLLCompiler: added tracing options, modified api
   + PGE & TGE bugfixes and updates
- PAST:
   + added global and lexical variable support
   + added looping constructs, arrays, hashes
- Languages:
   + Updated PHP ("Plumhead"), Tcl ("ParTcl"),
     forth, perl6, lua, abc, APL, WMLScript, punie
   + ParTcl is passing > 24.9% of Tcl cvs-latest test suite
   + perl6 now supports hashes, arrays, method calls, arity-based
     multisubs, quoted terms, ranges (non-lazy), try blocks, $!
- Design:
   + PDD01 "Overview" - updated
   + PDD22 "I/O" - rewritten and approved
- Test Suite:
   + Converted Perl 5 Regex tests to PIR, with notable speedup
   + Added tests for opcodes, compilers, languages, and coding standards
- Build:
   + Major improvements in test coverage for 'pmc2c.pl'
- Misc:
   + many bugfixes, enhancements, and coding standard updates
   + extended support for non-core platforms including Cygwin, Tru64

New in 0.4.7

- New languages: PHP ("Plumhead"), Forth
- Updated languages: Ruby ("Cardinal"), Tcl, Lua
- Remove old Python implementation from Parrot repository; the new Python
  language code is hosted at http://pirate.tangentcode.com
- Compilers:
   + PGE updated with more expressions, latest changes to S05
   + new Perl6 grammar compiler
- Integration:
   + Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot
     runtime into a Perl 5 program
- PIR:
   + new :init pragma for subs that must run before the main function
   + new :vtable pragma to identify subs that override PMC vtable methods,
     eliminating the need for special subroutine names
   + PIR parser/compiler does not stop on first syntax error
   + Vanilla register allocator ("register alligator") greatly improves
     performance compiling large functions
   + Eliminated limit on number of PIR macros
- PMCs:
   + hash lookups return null instead of None for missing keys
- Design:
   + PDD13 "Bytecode files: format and manipulation" - new
   + PDD10 "Embedding" - new
   + PDD25 "Concurrency" - rewritten
   + PDD15 "Objects" - new section on redesign requirements
   + PDD07 "Coding standards" - significant updates and automated tests
- Test Suite:
   + Many many more new tests
- Build Process:
   + autoconf compatible install options
- Misc:
   + Namespace refinements
   + Coroutine improvements
   + An impressive swarm of other bugfixes and enhancements

New in 0.4.6

- New languages: Ruby ("Cardinal"), Javascript ("ecmascript")
- Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript
- Updated compilers: PGE, TGE
- IMCC updates:
   + ".loadlib" directive expresses dependencies
   + ".namespace" with no parameter goes to HLL root
   + lexer is reentrant (reentrant grammar in progress)
- Namespace improvements:
   + new suite of opcodes to access namespaces and globals
     ("find_global" and "store_global" will be phased out)
   + namespace '' no longer means HLL root
- Design document updates:
    namespaces (pdd23), basic types (pdd17), embedding
- Updated tool requirements for developers:
    flex 2.5.33, bison 2.1, perl 5.6.1
- New to-do list for people new to Parrot:
    cage/todo.pod
- The usual plethora of bugfixes and enhancements

New in 0.4.5

- unicode subroutine names
- hierarchical class names finished including MMD support
- new dotnet CLI to PIR translator
- improved TGE code and compiler
- APL: vector handling
- new STM branch in the svn repository
- the usual bugfixes and enhancements

New in 0.4.4

- hierarchical class names
- APL compiler
  - under development
  - understands simple vector ops, strings
  - demonstrates use of Unicode in Parrot
- pgc, a compiler for rules and operator precedence parsers
- Major redesign and improvements for PGE
  - compilers understand named parameter options
  - :ratchet option implemented to support non-backtracking quantifiers
- TGE (tree grammar engine) for tree transformations
  - tgc, tree grammar compiler
- perl6 compiler
  - support for many operators, lexical scalars, regex matches
- new pheme (Parrot scheme) compiler

New in 0.4.3

- namespaces partially implemented
- rulec, Perl6 rule compiler
- PGE improvements including return values for closure
- parts of a Perl6 parser based on PGE
- complex trigonometric methods
- type of Sub PMC is now overridable by HLL
- NetBSD support
- many bug fixes and improvements

New in 0.4.2

- improved PPC and x86 JIT support including JIT compilation
  of very simple PASM/PIR subroutines
- preliminary libreadline support
- better trace and debug features
- pkgconfig support
- META.yml to support proper indexing on CPAN
- new opcode: hcf (in "my_ops" in dynamic op library)
- new File pmc for file specific ops (is_dir, is_file, copy, rename...)
- named arguments and parameters (both :named("") and => syntaxes)
- ongoing config improvements
- tons of bug fixes and other small improvements - too much to list all


To generate a diff of this commit:
cvs rdiff -r1.12 -r1.13 pkgsrc/lang/parrot/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/lang/parrot/PLIST
cvs rdiff -r1.4 -r1.5 pkgsrc/lang/parrot/distinfo
cvs rdiff -r1.2 -r0 pkgsrc/lang/parrot/patches/patch-ab \
    pkgsrc/lang/parrot/patches/patch-ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.