2018-12-20  Per Bothner  <per@bothner.com>

	* Q2Read.java (readParens): Handle spaces in params.
	Fixes GitLab issue #49 "Test function1.q2 fails during 'make check'"

2018-12-02  Per Bothner  <per@bothner.com>

	* QRead.java: Support object constructor (object literal) syntax.

2018-10-28  Per Bothner  <per@bothner.com>

	* QRead.java, Q2.java: Allow braces for extended string literals.

2018-02-18  Per Bothner  <per@bothner.com>

	* Q2.java: Fix so --kashell command-line flags works.

2017-08-24  Per Bothner  <per@bothner.com>

	* Q2Read.java (handlePostfix): Handle VAR^ or VAR^TYPE.
	* DefineOp.java: New Syntax for '($define$ VAR [TYPE-SPECIFIER])'.
	* Operator.java (UNIFY): New operator.
	* Q2.java (unify): New static.
	(initQ2): define 'unify' and '$define$'.

2017-08-23  Per Bothner  <per@bothner.com>

	* Q2Read.java: Recognize definition syntax VAR^ or VAR^TYPE.
	(isTerminatingChar, handlePostfix): New methods.
	* Q2.java (defineSym): New constant.

2017-07-31  Per Bothner  <per@bothner.com>

	Tweaks to make lambda syntactic sugar work better.

2016-12-31  Per Bothner  <per@bothner.com>

	Implement new lambda syntax: (|param-list|) body
	* Operator.java (comine): Special handling for lamda-form.
	* Q2.java: '|' should be a termainting macro character.
	* Q2Read.java (readIndentCommand): Some re-structuring.
	This handles readValues returning multiple values.
	(checkIfOperator.readParens): If looking at '(|'parse lambda header.
	* Q2Translator.java (checkIfOperator): New method.
	(partition): Special handling of unary-only operators
	such as new lambda form.

2016-06-02  Per Bothner  <per@bothner.com>

	* Q2.java (getPrompter): Remove method.
	(getPrimaryPrompt, getSecondaryPrompt): New method.
	(class Prompter): Remove class.
	* Q2Read.java (readParens, readIndentCommand): Maybe throw eofError
	if missing operand or paren.
	* Q2Translator.java (partition): Likewise.

2016-02-02  Per Bothner  <per@bothner.com>

	* Q2.java (createReadTable): Implement nested comments.

2016-01-30  Per Bothner  <per@bothner.com>

	No longer use Q2Apply to evaluate "phrases".
	Instead translate to Scheme ApplyToArgs at re-write time.
	Slightly less flexible, but much more efficient and better errors.
	* Q2Translator.java (convertApply): Do conversion early.
	(applyNullary): New helper function.
	(rewrite_pair): Call convertApply.
	(applyFunction, isApplyFunction): Remove overridding methods.
	* Q2Apply.java: Remve - we no longer use Q2Apply.
	* CompileMisc.java: Remove file - we no longer need to optimize it.
	* Makefile.am: Update accordingly

2015-04-23  Per Bothner  <per@bothner.com>

	* Operator.java (IF_THEN): New operator.
	* Q2.java (initQ2): Bind "?>" to IF_THEN.
	* Q2Translator.java (makeBody): New method.  Maps ((if c e0); e1)
	to (if c e0 e1).

2015-04-13  Per Bothner  <per@bothner.com>

	* Q2Translator.java (partition): Allow an improper list - as may
	result from the scan-expansion of MatchDef.

	* Q2.java (getLexer): No longer set defaultCallContention
	to CALL_WITH_CONSUMER.
	* CompileMisc.java: Minor cleaning up.

2015-04-12  Per Bothner  <per@bothner.com>

	* CompileMisc.java: New file.
	(optimizeSimpleApply): New temporary flag - false for now.
	(validateQ2Apply): Inline Q2Apply - but only if optimizeSimpleApply.
	* Makefile.am: Update accordingly.
	* Q2Apply.java (q2Apply): Set validate property.

	* Q2.java (createReadTable): Handle ':' and '@' as in Kawa-Schemee.
	* Q2Read.java (readIndentCommand): Add call to handlePostfix,
	so colon notation works.

2015-04-06  Per Bothner  <per@bothner.com>

	* Operator.java (SLASH): Fix copy+paste error.

	* Q2Apply.java (q2Apply):  Make final, so it can be compiled as literal.

2014-05-07  Per Bothner  <per@bothner.com>

	* Q2Translator.java (applyFunction): New method.
	(makeApply): Remove method.

2013-11-26  Per Bothner  <per@bothner.com>

	* Q2Apply.java (apply): Use Values.writeValues.  This makes
	SRFI-108 and SRFI-109 literals work in Q2.

2013-08-25  Per Bothner  <per@bothner.com>

	* Q2.lang (createReadTable): Update ReaderDispatch.create call.

2012-09-18  Per Bothner  <per@bothner.com>

	* Q2Read.java: Make a bit more robust for erroneous input.

2011-07-11  Per Bothner  <per@bothner.com>

	* Q2Read.java (readIndentCommand): Use updated LispReader API.

2011-04-03  Per Bothner  <per@bothner.com>

	* Q2Translator.java (isApplyFunction): New method.

	* Q2Translator.java (makeApply): Make return type more precise.

2011-03-18  Per Bothner  <per@bothner.com>

	* Q2.java (getName): New method.

2011-01-19  Per Bothner  <per@bothner.com>

	* Q2.java (makeBody): Remove method.
	(appendBodyValues): New method.
	* Q2Translator.java: Change to extend SchemeCompilation.

2011-01-17  Per Bothner  <per@bothner.com>

	* Q2.java (getCompilationClass): New method.
	(getCompilation): Removed method.
	(makeApply): Moved method ...
	* Q2Translator.java (makeApply): ... to here.

2010-11-14  Per Bothner  <per@bothner.com>

	* Operator.java: New class, extends Syntax.
	* Q2Translator.java: New class - extends kawa.lang.Translator.
	* Makefile.am: Update accordingly.
	* Q2.java: Various fixes.
	* Q2Read.java: Major changes to support new intentation parsing.

2010-10-21  Per Bothner  <per@bothner.com>

	* Q2.java (compareIndentation): New static method.
	* Q2Apply.java (apply): Handle Type or Class as construction function.
	* Q2Read.java: Re-write indentation logic.
	(curIndentation): New field.
	(readIndentCommand): New method.
	(readCommand): Change to call skipIndentation then readIndentCommand.

2010-06-21  Per Bothner  <per@bothner.com>

	* Q2Read.java (readCommand): Now need to use backdoor to set
	immutable cdr when constructing list.

2009-03-10  Per Bothner  <per@bothner.com>

	* Q2Read.java (init): Clearing initialColonIsKeyword is no
	longer needed.
	* Q2.java (createReadTable): Do setFinalColonIsKeyword() here.

2006-11-13  Per Bothner  <per@bothner.com>

	* Q2Read.java: Update getColumn -> getColumnNumber.

2006-05-01  Per Bothner  <per@bothner.com>

	* Q2.java (createReadTable): Update getInitial -> createInitial.

2006-02-13  Per Bothner  <per@bothner.com>

	* Q2.java (makeApply): Change return type to Expression.

2005-08-03  Per Bothner  <per@bothner.com>

	* Q2.java (makeApply): Fix return type to match super class.

2005-05-18  Per Bothner  <per@bothner.com>

	* Q2.java (<init>): Don't set current Environment from this.

2005-04-03  Per Bothner  <per@bothner.com>

	* package.html: New file, for javadoc.
	* Q2.java: Add javadoc comment.

2005-03-17  Per Bothner  <per@bothner.com>

	* Q2.java (createReadTable): New method.
	* Q2Read.java (getReadTable): Remove method.
	(q2ReadTable): Remove field.

2005-02-24  Per Bothner  <per@bothner.com>

	* Q2.java (registerEnvironment): Use new setDefaults method.

2004-12-22  Per Bothner  <per@bothner.com>

	* Q2Read.java: Update import for moved MakeAttribute.

2004-08-03  Per Bothner  <per@bothner.com>

	* Q2Apply.java:  Extend MethodProc instead of CpsProcedure.

2004-07-20  Per Bothner  <per@bothner.com>

	* Q2.java:  Remove unused import statements.
	* Q2Read.java:  Likewise.

2004-06-22  Per Bothner  <per@bothner.com>

	* Q2Read.java:  Remove BRL/KRL model of starting out quoted.
	(inLiteral):  Remove method.

	* Q2Read.java (nesting):  Moved field to Lexer.
	(skipIndentation, singleLine, readCommand):  New methods.
	(Q2ReaderParens):  New class.

2004-06-12  Per Bothner  <per@bothner.com>

	* Q2Read.java (readObject()):   Remove method - use inherited version.

2004-02-13  Per Bothner  <per@bothner.com>

	New package for a new experimental "q2" language.
	* Q2.java:  New class, extends Scheme.
	* Q2Apply.java:  New class, extends CpsProcedure.
	* Q2Read.java:  New class, extends LispReader.
	* Makefile.am:  New file.
