Subject: PR/36157 CVS commit: pkgsrc/lang/parrot
To: None <,,>
From: OBATA Akio <>
List: pkgsrc-bugs
Date: 04/20/2007 14:05:04
The following reply was made to PR pkg/36157; it has been noted by GNATS.

From: OBATA Akio <>
Subject: PR/36157 CVS commit: pkgsrc/lang/parrot
Date: Fri, 20 Apr 2007 14:01:01 +0000 (UTC)

 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 ''
 - 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 ''
 - 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 ''
 - 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 ''
 - 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
 - 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:
 - 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 \
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.