2002-07-??    (Parrot 0.0.7)

	* Initial CVS revision, modified from "V.00I_0I" on
	  perl6-internals.
	* Patches: (John Kingsley)
	    - squashed a warning in maybe_comma
	    - empty statements
	    - "foo::bar()" being treated as a label, "foo:".
	    - reset parser state between multiple parses.

2002-07-21

	* Additions:
	    - anonymous subs (requires hacked IMCC)
	    - implicit parameters (e.g. "$^a") (requires hacked IMCC)
	    - hyper-concatenation ("^_")
	    - perl-y functions: print, warn, die, exit
	    - loop
	    - foreach
	    - global variables (requires hacked IMCC)
	    - assignment to array slices

	* Fixes:
	    - misc context / flattening fixes.
	    - tests stop on SIGINT
	    - want-rule for no-arg prototypes
	    - reorg: moved some val() functions from IMCC.pm to IMCC/*.pm,
	      to be loaded with SelfLoader when needed.  Trying to cut
	      down startup time.
	    - needed to be cloning PMC's instead of just setting
	    - syntax in TestCompiler.pm

	* Test-failures:
	    - foreach 1 (register clobbering)
	    - foreach 2 (maybe register clobbering)

2002-07-23

	* Additions:
	    - try { ... } and CATCH { ... } (via the amazing callcc!)

	* Fixes:
	    - Changes to work with 5.005_03 (thanks Leopold Toetsch):
		- remove the naughty word 'our'
		- remove lvalue sub 'code'
		- remove /x modifier from qr regexen in Parser.pm -- 5.005
		  doesn't handle them correctly.
	    - appropriate use of clone to avoid nasty aliasing.

	* Test-failures:
	    - 5.5 (flattening) --  Currently under investigation.
	    - qsort.t -- I suspect funky spilling, but also under
	      investigation.

2002-07-23-B

	* Additions:
	    - test for increment.

	* Fixes:
	    - get cloning right.
	    - use Test::Harness instead of shell to glob tests

	* Test-failures:
	    - with the right version of IMCC, all compiler tests pass!
	    - (parser tests disabled waiting for the error-message patch
	      to stabilize)

2002-07-24

	* Additions:
	    - parser error messages (John Kingsley)
	    - more parser tests (Kingsley) NOTE: these will generate
	      "uninitialized value" warnings, but they are harmless.

2002-07-25

	* Additions:
	    - "clean" and "distclean" Makefile targets (Leopold Toetsch).
	    - test-* files from different test don't clobber each other
	      (Toetsch).

2002-07-27

	* Additions:
	    - new driver program, "perl6" (Leopold Toetsch)
	    - mops.p6 performance test (Toetsch) (depressing)

	* Fixes:
	    - grammar uninitialized value warnings (John Kingsley)

2002-07-28

	* Additions:
	    - simple given/when cases.
	    - labels, loop control (e.g. "next")
	    - goto (considered harmful).

	    Note that this control flow is _not_ the "control flow
	    exceptions" mentioned in Apocalypse 4, but more standard
	    control flow with jumps.  As such, it doesn't play nicely with
	    exceptions.  If you jump out of a block with a CATCH clause,
	    you will lose somewhere down the road.

	* Fixes:
	    - underscores in numbers.
	    - block in sub resetting sub parameter list
	    - inplace operators (e.g. +=)
	    - bug in time0

	* Test-failures:
	    - 8.3 (Exceptions) -- stack is messed up.  Probably a P6C bug,
	      since the exception stuff is a bit fragile still.

2002-08-01

	* Additions:
	    - line numbers (Leo Toetsch)

	* Fixes:
	    - driver cleanup (Toetsch)

2002-08-04

	* Additions:
	    - minor test additions (Leo Toetsch)

2002-08-05

	* Fixes:
	    - update exception-handling code to work w/ new subs
	    - update anonymous subs, too
	
2002-08-07

	* Fixes:
	    - clean up bitrot in parser tests (Leo Toetsch)

2002-08-09

	* Fixes:
	    - clean up throw/CATCH (Leo -- a good use for weird
	      Continuation objects)

	* Additions:
	    - @ARGS, at last.

2002-08-10

	* Additions (Leo):
	    - corrected @ARGS, $0, $PROGRAM_NAME
	    - use real pow op
	    - new version of perl6 driver
	    - config script (pconfig.pl)

	* Fixes (Leo):
	    - tidied catch-blocks
	    - tidied flattening
	    - update config/gen/makefiles/perl6.in to call pconfig.pl

	* Broken (me, probably):
	    - "$x = @xs" will leave $x undefined.
	
2002-08-19

	* Additions:
	    - return values (documentation coming).
	    - pconfig.pl extracts lib extension from Makefile (Leo)
	    - perl6 (Leo)
	        - new options, including support for --shared native -C
		- some doc

	* Fixes:
	    - perl6 (Leo)
	        - catch a pbc2c warning
	        - use libparrot.a for -C
	
	* Test-failures:
	    - 3.{2,4-7}, a.2 -- register clobbering.
	    - 8.3 -- not sure

2002-08-20

	* Additions:
	    - first cut at regexes.  Very rough, but it's fun to play
	      with.
	
	* Fixes:
	    - "f($x)" and "f $x" now behave as expected when f is declared
	      with a prototype.
	    - allow comma-separated expressions in "loop(;;)"
	    - docs and tweaks for perl6 driver (Leo)

2002-08-22

	* Additions:
	    - more exception tests (Leo).
	
	* Fixes:
	    - maybe_comma tweaks (Leo).
	    - remove debugging warning.
	    - cloning cleanup (Leo).
	    - less temporaries for a couple assignments (Leo).
	    - context for sub-calls with parens was wrong.

2002-08-23

	* Fixes:
	    - no-arg subs were failing with '()'.

2002-08-24
	
	* Additions:
	    - substr() and length() (Leo).
	    - examples: life, mandel, life-ar (Leo).
	    - examples/qsort.p6
	    - $::RD_NO_HITEM and $::RD_NO_TRACE on by default
	    - t/rx -- regex tests (basic.t for now)
	    - '!~' to go with '=~'

	* Fixes:
	    - make sure keywords don't match prefixes of sub names.
	    - better handling of returns to various contexts using
	      standard functions (TYPE_in_context()).
	    - tidied up examples.
	    - repetition specifiers can be mixed vars and literals.
	
	* Test-failures:
	    - none.  That's right.  None (on Linux/PPC, w/imcc patch).

2002-08-25

	* Additions:
	    - t/rx/special.t -- escape sequences
	    - better regex documentation

	* Fixes:
	    - disabled parser tests
	    - escaped char parsing
	    - misc regex compiling bugs

2002-08-26

	* Additions:
	    - t/rx/call.t -- rule call
	
	* Fixes:
	    - driver tidying and doc-update (Leo).
	    - regex fixes: advance, no-arg call

2002-08-27

	* Additions:
	    - "perl6 --test" to run tests faster by about 2x (Leo)
	    - overview.pod -- compiler structure overview (Joseph Ryan)

	* Fixes:
	    - doc updates in perl6 (Leo)
	    - remove Makefile parsing in pconfig.pl (Leo)

2002-08-28

	* Fixes:
	    - result values of try/CATCH
	    - backtracking @array-literals
	    - improved grammar compliance (e.g. 'sub')
	    - cool French quotes for regexes.
	* Additions:
	    - anonyous rules (some).
	
2002-09-04

	* Fixes:
	    - corrected t/rx/basic_6
	
	* Additions:
	    - more builtin functions: index, reverse, join (coming soon:
	      grep and map) (Joseph Ryan)

2002-09-05

	* Fixes:
	    - Backtracking into named rules
	    - rule parsing tweaks
	    - eliminate harmful context aliasing in regexes.
	    - hack for forward labels.
	    - /./ vs. /\./
	    - disallow alphanumeric delims for regexes
	    - allow 'sub' in place of '->' for anon subs
	    - subscripting on variables in regexes
	    - ++@x[$i] (Leo Toetsch)
	    - move initialization code to start of rule
	    - fit driver help message on a single screen

	* Additions:
	    - String interpolation (Joseph Ryan)

	* Test-failures:
	    - t/rx/call_2 -- backtracking bug.  Hopefully I'll track this
	      down soon.

2002-09-06

	* Fixes:
	    - rule state restored when backtracking called rules
	    - have driver use system(@args) to avoid shell meta-character
	      problems.
	    - quantifiers, stingy and otherwise, made more sane.

	* Additions:
	    - preliminary list of (un)implemented features in README
	
	* Test-failures:
	    - compiler/1_11: segfault, compiler/3_7: weird stack problem.
	      These seem to be either memory corruption or use of freed
	      memory -- small changes to the .p6 files make them go away.

2002-09-07

	* Fixes:
	    - remove a few unneeded grammar rules.
	    - reset parser state on compiler init.
	    - parse "@x := pattern" better

	* Additions:
	    - capturing groups and hypotheticals (some).
	    - bol and eol

2002-09-08

	* Fixes:
	    - parse sub declarations correctly
	    - remove a level of regex parsing rules
	    - !~ forces boolean result (not e.g. match object)
	    - no longer require explicit sub main
	    - given no longer looks in sub-blocks for associated "when"
	      statements.

	* Additions:
	    - --debug-regex to compile "noisy" regexes
	    - context-forcing operators (e.g. "_(expression)")
	    - builtin defined
	    - m:w//
	    - examples/bnf.p6: BNF parser (thanks to languages/conversion)

	* Test-failures:
	    - still compiler/{1_11,3_7}.

2002-09-11

	* Fixes:
	    - slurp-parameters for subs with required params.
	    - backslashes in strings
	    - add more "unimp" warnings, so people stop calling them bugs ;).
	    - infinite recursion in context::{ctx_right,val}
	    - $x = f(foo) will return last element of return value (rather
	      than array length).
	    - named captures now require capturing groups, instead of
	      creating them.
	    - @x := [(keep_this) not_this]*
	    - use normal string-parsing for /<"string">/.
	    - range in void context is a warning, not a fatal error.

	* Additions:
	    - m:approx($n)//, if you've got it.

2002-09-25

	* Additions:
	    - hyper-operator assignment (John Williams)

	* Fixes:
	    - hyper-ops use length of longer of two operands (rather than
	      one side arbitrarily) (John Williams)

2002-09-26

	* Additions:
	    - debugging.pod (Leo Toetsch)
	    - moved debugging.pod, overview.pod to doc subdirectory
	    - "perl6 --version" prints imcc version as well

2003-08-19

	* Fixes:
	    - use current parrot calling conventions (CPS) (Allison Randal)
	    - fixed t/compiler/2.t 3-5 and t/rx/basic.t 6

2003-10-13

	* Fixes:
	    - rewrote the subroutine calling to match Apocalypse 6 (Steve Fink)
	      - optional params do not work
	      - non-PMC parameters will not work in all but trivial cases
	      - *%rest_named probably won't work
	      - all types passed by value, so the effect is something like
	        all non-pmc types using "is copy", and all pmc types using
	        "is rw"
	      - lightly tested, so many other things will not work
	    - sprinkled a little more documentation through the code
	    - named all of the compiler tests (they used to be numbered)
	    - beefed up the string interpolation code a bit
	    - added a --timings flag to perl6 to track how much time is spent
	      in the different phases. Summary of findings: loading in a
	      Parse::RecDescent grammar is SLOW!
	    - a few small pieces of my regex changes slipped in, but nothing
	      that should change existing behavior.
	* Test Failures:
	    - t/rx/basic.t    1   256     7    1  14.29%  4
	    - t/rx/call.t     1   256     2    1  50.00%  2

2003-11-27
	* Patch #24559 (Allison Randal)
	    - update vector operators
	* Test Failures:
	    - still t/rx/basic.t (4) and t/rx/call.t (2)
		
2003-12-17
	* Fixes:
	    - update concatenation and bitwise operators (Allison Randal)
	* Test Failures:
	    - still t/rx/basic.t (4) and t/rx/call.t (2)

2004-01-28

	* Additions:
	    - grafted languages/regex onto languages/perl6. Implements much
	      of rules.
	* Fixes:
	    - Moved the POD documentation for functions next to the function
	      being documented. The previous situation was making my head
	      hurt a little too much.
	* Test Failures:
	    - t/rx/call.t     1   256     2    1  50.00%  2
	    - this is due to a memory corruption bug in parrot itself

2004-01-29    <sfink>

	* Additions:
	    - added render() method to most syntax tree nodes. Currently
	      only useful for debugging.
	* Test Failures:
	    - none (a previous checkin to make builtin subs not have named
	      args was enough to perturb the memory corruption bug away)

2004-02-20    (Allison Randal)

	* Additions:
	    - t/harness, perl6, and Makefile now support up to 3 levels
	      of hierarchy in test files. This is the first step in
	      moving tests to the new hierarchy.
	    - 4 new test files.
	* Test Failures:
	    - t/rx/call.t     1   256     2    1  50.00%  2
	    - same old memory corruption bug in parrot
