2019-07-19  Per Bothner  <per@bothner.com>

	* arrays.scm (->shape): New procedure.
	* kawa/base.scm: Export ->shape.

2019-07-14  Per Bothner  <per@bothner.com>

	* arrays.scm (array-shape): New function.
	* kawa/base.scm: Export array-shape.

2019-01-01  Per Bothner  <per@bothner.com>

	* DefineRecordType.scm (define-record-type): Make resulting record
	types extend kawa.lang.Record.

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

	* arrays.scm (build-array): Allow optional 'setter' procedure.

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

	* arrays.scm (format-array): Add optional port argument.

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

	* syntax.scm ($bracket-list$): Handle [N size: M].
	Fixes GitLab issue #48 'Kawa | Range "[1 size: 5]'.

2018-04-30  Per Bothner  <per@bothner.com>

	* std_syntax.scm (%let-init): Add begin forms for preserving position.

2018-01-13  Per Bothner  <per@bothner.com>

	Don't use Class:method syntax to call non-static methods.

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

	* kawa/base.scm: Only export scheme-window if kawa.GuiConsole exists.
	Partial fix for GitLab issue#20 "android build depends on awt classes".

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

	Some fields renamed to avoid depending on mangling scheme.
	Some source file names made explicit for same reason.

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

	* misc.scm (environment-fold): New procedure.
	* kawa/base.scm: Add environment-fold.

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

	* parameters.scm (make-parameter): Allow non-Procedure as converter.
	Fixes GitLib issue #15 "make-parameter doesn't like vector
	as converter".

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

	* kawa/arglist.scm: Allow general sequence.

2017-06-13  Sudarshan S Chawathe <chaw@eip10.org>

	* kawa/pprint.scm (pprint-logical-block): Initialize out-expr.

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

	* prim_imports.scm (syntax-pair->expression): An alternative
	to syntax->expression that sets position info better.
	(try-catch): Tweak for line numbers.

2017-05-12  Per Bothner  <per@bothner.com>

	* compile_map.scm (scanner-for): Handle MappedArrayType.
	This is used for scan patterns (ellipsis).

2017-04-25  Per Bothner  <per@bothner.com>

	* compile_misc.scm: Fix optimization of length for strings.

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

	Make string-map default to returning an istring.

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

	* strings.scm (istring?): New predicate.

	Fixes for strings-test.scm testsuite.
	* strings_ext.scm (string-replace, string-split): New procedures.

2017-04-20  Per Bothner  <per@bothner.com>

	Case-converting string functions now default to returning istrings.
	* kawa/istrings.scm (string-upcase, string-downcase, string-foldcase,
	string-titlecase): New istring-returning functions.

	* strings.scm (string-replicate): Rename to xsubstring.

	* strings_ext.scm (string-take, string-take-right, string-drop)
	string-drop-right, string-contains-right): New procedures.
	(string-contains): Fix bug.

	* numbers.scm: Annotate various predicates with 'inline-if-constant.

2017-04-19  Per Bothner  <per@bothner.com>

	* strings_ext.scm (strim-trim, string-trim-right, string-trim-both,
	string-prefix?, string-suffix?, string-prefix-length,
	string-suffix-length, string-contains): More string procedures.
	((* strings.scm (string-pad, string-pad-right): Fix parameter order.
	* bytevectors.scm: Fix incorrect parentheses.

2017-04-18  Per Bothner  <per@bothner.com>

	Implement more SRFI-140 string functions.
	* strings_syntax.scm (string-for-each-forward, string-for-each-backward):
	New macros useful for efficiently implementing many string functions.

2017-04-10  Per Bothner  <per@bothner.com>

	* strings.scm (string-fold, string-fold-right, string-for-each-index,
	string-map-index, string-repeat, string-tabulate, string-unfold,
	string-unfold-right): New procedures.
	* kawa/base.scm: Export new functions.

2017-04-09  Per Bothner  <per@bothner.com>

	* bytevectors.scm (string->utf8): Moved to strings.scm.
	(utf16->string, utf16be->string, utf16le->string): New functions.
	* strings.scm (string->utf8): Moved from bytevectors.scm.
	(string->utf16, string->utf16be, string->utf16l2): New procedures.
	* kawa/base.scm: Export new functions.

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

	* bytevectors.scm (utf8->string): Update for renamed method.

2017-03-26  Per Bothner  <per@bothner.com>

	Add string-concatenate and string-concatenate-reverse procedures.
	Add string-join.
	* kawa/strings_ext.scm: New file.

2017-03-25  Per Bothner  <per@bothner.com>

	* strings.scm (reverse-list->string): Add SRFI-140 procedure.
	* kawa/base.scm: Export reverse-list->string.

2017-03-20  Per Bothner  <per@bothner.com>

	Change vector->string to (by default) return an istring.
	* kawa/istrings.scm (list->string): Re-implement using mstring.
	* strings.scm: Avdoid import of kawa.lib.characters.
	* kawa/mstrings.scm (vector->string): Move here ...
	* vectors.scm: ... instead of here.

2017-03-15  Per Bothner  <per@bothner.com>

	* strings.scm (string-replicate): New procedure.
	* kawa/base.scm: Define it by default.

	* strings.scm (make-string): Default count to zero.

2017-02-27  Per Bothner  <per@bothner.com>

	* kawa/string-cursors.scm (string-cursor-ref): Inline.
	Change to return #\ignorable-char if second char of surrogate pair.
	(string-cursor-next-quick): New function.

2017-02-25  Per Bothner  <per@bothner.com>

	* case_syntax.scm (<CaseClause>): Define using define-alias.
	Don't remember the reason ...

	* kawa/base.scm: Only export domterm-load-stylesheet
	if DomTermBackend exists.

2017-02-03  Per Bothner  <per@bothner.com>

	* prim_imports.scm (bitvector, c16vector): New type names.
	* kawa/base.scm (bitvector, c16vector): Export these.

2017-01-26  Per Bothner  <per@bothner.com>

	* misc_syntax.scm (module-class): New macro.
	* kawa/base.scm: Also export module-class.

2017-01-20  Per Bothner  <per@bothner.com>

	* syntax.scm (match): Allow #!if guards.

2017-01-18  Per Bothner  <per@bothner.com>

	* syntax.scm (match): Update for new lambda pattern syntax.

2017-01-18  Jamison Hope  <jrh@theptrgroup.com>

	* kawa/rotations.scm: Don't use non-portable strings in case.

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

	Also change list->string and string to return immutable strings.

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

	Change so substring (by default) returns an immutable IString.
	* strings.scm: Move substring to ...
	* kawa/mstrings.scm: ... here.
	* kawa/istrings.scm: Add substring - returning an IString.

2017-01-06  Per Bothner  <per@bothner.com>

	Re-do so all default bindings are in kawa.base.
	* kawa/base.scm: Do-do.
	* prim_syntax.scm: Renamed to ...
	* prim_imports.scm: ... new name.  Add imports from Java code.
	* Makefile.am: Build classes in 3 stages.
	* strings.scm (string-append): Remove.
	* kawa/istrings.scm: New module, with immutable string-append.
	* kawa/mstrings.scm: New module, with mutable string-append.

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

	* vectors.scm (make-vector): Fix default to #!null as in documentation.
	Fixes Savannah bug #49866 "make-vector default elements #!null
	v #!undefined".

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

	* enums.scm: Moved from gnu/kawa/slib.
	* srfi/26.scm: Renamed from gnu/kawa/slib/cut.scm.
	* srfi/8.scm: Renamed from gnu/kawa/slib/receive.scm.
	* srfi/95.scm: Moved from srfi95.scm.
	* Makefile.am: Update accoringly.  Also compile using two separate
	commands.  This allows simplifying imports/requires.

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

	* syntax.scm (%symbol->construct): Update for string literal change.
	* rnrs/programs.scm (command-line): Likewise.

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

	Make more robust for new string representations.
	* compile_misc.scm: Use string=? to match for strings.
	This ignores String vs IString differences.
	(valuesValidateApply): Optimize 0-argument values.
	* files.scm (directory-files): Remove bogus constructor.
	* ports.scm (read-line): Fix symbol-to-string conversion.

	* vectors.scm (vector-map): Minor optimiation/inlining.
	* vectors.scm (vector-set!): Use cheaper AbstractVector.setAt method.

2016-11-27  Per Bothner  <per@bothner.com>

	* lists.scm (reverse): Optimize by inlining car and cdr.

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

	* kawa/base.scm (define-constant define-early-constant): Export.
	This fixes Savannah bug #49431 "Missing define-constant and
	define-early-constant in (kawa base)".

2016-10-29  Per Bothner  <per@bothner.com>

	* Makefile.am: Don't build kawa/pictures.scm unless WITH_AWT.

	* files.scm (make-temporary-file): Force #\~ to string. Fixes Savannah
	bug #49475 "make-temporary-file does not interpret ~d properly".

	* kawa/base.scm: Also export generate-temporaries datum->syntax syntax->datum.
	This fixes Savannah bug #49430 "warning - no declaration seen for
	generate-temporaries, datum->syntax, syntax->datum".

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

	* kawa/pictures.scm (re-center): Return shape if argument is a shape.
	This is a fix for part of Savannah bug #49471
	"(kawa pictures) filling a re-centered picture not OK?".

2016-10-23  Per Bothner  <per@bothner.com>

	* kawa/swing.scm (picture->panel): Rename to ...
	(picture->jpanel): new name, which matches documentation.
	Fixes one of the issues in Savannah bug #49368
	"very minor typos etc. in (kawa pictures) documentation".

	* kawa/pictures.scm (image-write): Coerce DrawImage to BufferedImage.
	This is more efficient, and a work-around for Savannah bug #49367
	"(kawa pictures) image-write gives exception on pictures".

2016-10-22  Per Bothner  <per@bothner.com>

	* std_syntax.scm: Explicitly import 'syntax' and 'syntax-case'.
	This fixes Savannah bug #49416
	"Error macro-expanding with-syntax with ... patterns".

	* kawa/base.scm: Also export 'with-syntax'.
	This fixes a secondary issue reported in Savannah bug #49416
	"Error macro-expanding with-syntax with ... patterns".

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

	* kawa/pprint.scm (pprint-let): Fix missing parens in cond.

2016-10-11  Per Bothner  <per@bothner.com>

	* kawa/pprint.scm: Add pretty-printing API,
	simmilar to Common Lisp and Clojure.
	* Makefile.am: Update accordingly.

2016-10-05  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (translate, scale): Allow dimension argument.

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

	Support optional 'spacing' between hbox/vbox children.
	* kawa/pictures.scm (hbox, vbox, zbox):  Use new factory methods.

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

	* kawa/pictures.scm (picture-write-svg, picture->svg-node):
	New procedures.

2016-09-29  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (padding, image-write, ->image): New procedures.
	Add add and use some type aliases.

	* kawa/swing.scm: New (kawa swing) library.
	(frame): moved from gnu/kawa/slib/swing.scm.
	(current-frame: New parameter.
	(set-frame-size!, show-picture: New procedures.
	* kawa/process-keywords.scm: New library.
	* Makefile.am: Update accordingly.

	* kawa/pictures.scm (Dimension): Remove class definition.
	(make-Dimension): Use new DDimension class instead.

2016-09-28  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (border, border-shape, re-center): New functions.

	* kawa/pictures.scm (rectangle): Fix logic bug.

2016-09-03  Per Bothner  <per@bothner.com>

	* kawa/regex.scm (regex-replace*): Add cast needed on Java 9.

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

	* syntax.scm: Implement pseudo-ranges [<:] and [>:].

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

	* syntax.scm: Add more options for range syntax.

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

	* prim_imports.scm: Add import of 'syntax-error'.  This fixes
	Savannah bug #48888 "warning - no declaration seen for syntax-error".

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

	* ports.java(write, display, etc): Don't initailize sharing/cycle
	table here - it noew happens automatically in DisplayFormat.

2016-07-26  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (draw): Generalize by using DrawShape:makeDraw.

	* kawa/pictures.scm (image): New procedure.

2016-07-22  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (rectangle, with-transform,
	rotate, scale, translate, affine-transform): New procedures.

(2016-07-18  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm (with-paint): Moved from gui.scm.
	 (picture-bounds, zbox, ->paint, ->picture): New procedures.

2016-07-15  Per Bothner  <per@bothner.com>

	* kawa/pictures.scm: New library.  Some procedures moved from
	gnu/kawa/slib.scm.

2016-07-14  Per Bothner  <per@bothner.com>

	* syntax.scm (defmacro): Generalize 06-16 change to allow '&T[E1 E2]'.

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

	* ports.scm (default-prompter!): Remove - now defined in kawa/Shell.

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

	* kawa/domterm.scm: New module.
	(domterm-load-stylesheet): New procedure.
	* Makefile.am: Update accordingly.

	* syntax.scm (%simple-construct-builder): Allow syntax like
	'&T[EXP]' as roughly the same as '&T[EXP]{}' or '&T{&[EXP]}'.

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

	* ports.scm (default-prompter): Change implementation.

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

	* prim_syntax.scm: Import lambda (for define-syntax).
	This fixes Savannah bug #47862
	"define-syntax does not accept formals when inside a define-library".

2016-03-25  Per Bothner  <per@bothner.com>

	* strings.scm: Fix various type errors.
	* vectors.scm: Add splice operator for varargs call.

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

	* arrays.scm: A bunch of new array procedures.

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

	* compile_misc.scm (valuesCompile): Optimize 2-argument 'values' call
	to use the Values2 class.

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

	* arrays.scm (format-array): New procedure.

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

	* kawa/base.scm (require, import): Add exported definitions.

2015-10-24  Per Bothner  <per@bothner.com>

	Better type inference for Scheme 'parameter' reads.
	* syntax.scm (define-alias-parameter): Add type parameter.
	* ports.scm: Minor style update.

2015-10-07  Per Bothner  <per@bothner.com>

	* kawa/base.scm: Add $bracket-apply$ and $bracket-list$.
	This fixes Savannah bug #46116 "Add $bracket-apply$ to (kawa base)".

2015-09-01  Per Bothner  <per@bothner.com>

	* Makefile.am (EXTRA_CLEAN): Also clean */*/*.class.

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

	* bytevectors.scm (bytevector-copy): Update for U8Vector changes.
	* vectors.scm (vector-fill!): Handle updated FVector.fill
	argument order.

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

	* base.scm: Also define runnable and future.
	* thread.scm: Make sure lambda is bound, for r7rs libraries.

	* rnrs/arithmetic/bitwise.scm: Implement the R6RS
	module (rnrs arithmetic bitwise).
	* Makefile.am: Update accordingly.
	* kawa/base.scm: Add bitwise and logical operations.

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

	* exceptions.scm (guard): Ignore if ExitCalled is caught.
	Fixes behavior of exit called within a guard.
	* ExceptionClasses.scm (HandlerLink:handle): Likewise.

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

	* kawa/expressions.scm (define-validate): Fix thinko in macro.

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

	* syntax.scm ($bracket-list$): New macro.  Handle range and
	vector construction.

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

	* lists.scm (lenegth): No handles general sequences.
	* compile_misc.scm (lengthValidateApply): New function.
	* string.scm (list->string): Tweak to avoid compilation order issue.

	* strings.scm (string-fill!): Optimize if string is an FString.

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

	* bytevectors.scm ($make$bytevector$): Remove no-longer-needed helper.

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

	* uniform.scm: Use prcide types (byte rather than int).
	Use new unsigned primitive types.
	(list->XXXvector): Rewrite to use loop with converion.

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

	* numbers.scm (bitwise-copy-bit-field, exact-integer-sqrt):
	Use new BitsOps:makeMask method.

2015-05-20  Per Bothner  <per@bothner.com>

	* reflection.scm: Fix deprecated return-type specifier syntax.

2015-05-17  Per Bothner  <per@bothner.com>

	* numbers.scm (angle): Return floating (exact) zero if non-negative.

2015-05-13  Jamison Hope  <jrh@theptrgroup.com>

	* numbers.scm (sinh, cosh, tanh, asinh, acosh, atanh): New functions.

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

	* rnrs/hashtables.scm (equal-hash): Use HashUtils#boundedHash.

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

	* ports.scm (input-port-open?): R7RS implies this should also
	work for output ports - and return #f.
	(output-port-open?): Likewise for input ports.

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

	* compile_misc.scm (raiseValidateApply): New validate function.
	* exceptions.scm (raise): Set validate-apply property to above
	function.  Also remove equivalent-syntax property as it causes
	hygiene problems (missing definitions) in a r7rs library context.
	(%%raise): Remove procedure.

	* scheme/base-exports: Add missing eof-object.

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

	* numbers.scm: Use new '(import (class ...))' syntax.
	* prim_imports.scm: Use new rename support in i'mport only' clause.
	* prim_syntax.scm: Likewise.
	* scheme/base.scm: Likewise.

2015-04-13  Jamison Hope  <jrh@theptrgroup.com>

	* kawa/reflect.scm (set-field!, set-static-field!): New exports.
	* kawa/base.scm (set-field!, set-static-field!): Likewise.

2015-04-05  Jamison Hope  <jrh@theptrgroup.com>

	* kawa/quaternions.scm (vector-quaternion?,
	make-vector-quaternion, vector-quaternion->list): New procedures.
	* kawa/rotations.scm: New Scheme library (kawa rotations).

2015-03-29  Per Bothner  <per@bothner.com>

	* misc_syntax.scm (test-begin): Tweak to work with srfi-64 changes.

2015-03-12  Jamison Hope  <jrh@theptrgroup.com>

	* numbers.scm (square): Generalize to java.lang.Number.

2015-02-26  Per Bothner  <per@bothner.com>

	* compile_map.scm (ListMapHelper): Rewrite result collect to
	immediately setCdr the previous pair, instead of building in
	reverse order and replaceInPlace at the end.  The latter is simpler
	and generates more compact bytecode - but is very cache-unfriendly.
	* kawa/expressions.scm (ReferenceExp): New alias.

	* compile_map.scm: Enhance to allow general sequences as arguments
	to map, for-each, and vector-map.
	(scanner-for-exp): New function to pick best ScanHelper.
	(ArrayScaller): New simple class.
	(validate-generic-for-each): Move code from ScanHelper:initialize.
	* kawa/expressions.scm (apply-to-args-exp): New procedure.
	* vectors.scm (vector-map): Generalize to general sequences.

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

	* compile_map.scm (MapHelper:makeScanner): New abstract method.
	(initialize): Call makeScanner for each argument.
	(class InertableScanner): New ScanHelper class.

	* kawa/expressions.scm (Type): Add exported alias.

	* compile_map.scm (MapHelper): Separate handling of scanning input
	sequences from that of creating result.
	(ScanHelper): New abstract class for scanning input sequences.
	(StringScanner, ListScanner, VectorScanner): New sub-classes.

2015-02-17  Per Bothner  <per@bothner.com>

	* compile_map.scm: Implement inlining for map and for-each.
	(MapHelper): New abstract class.
	(validate-generic-for-each): Change API to depend on a MapHelper
	instance, rather than multiple functions.
	* kawa/expressions.scm (Declaration, Expression, ApplyExp, QuoteExp)
	Compilation): Define and export some type aliases.
	(begin-exp, apply-exp): Don't use the map function, since
	compiling it depends on compile_map, which isn't compiled yet.
	* Makefile.am (java_SCM_ALWAYS): Re-arrange, since vector depends
	on map, which depends on kawa/expression and compile_map.

	* kawa/all.scm:  Rename to ...
	* kawa/base.scm: ... new name.
	* Makefile.am: Update accordingly.

2015-02-16  Helmut Eller <eller.helmut@gmail.com>
	    Per Bothner  <per@bothner.com>

	* kawa/reflect.scm: New Scheme library (kawa reflect).
	* kawa/all.scm: New Scheme library.
	* scheme/base-exports, scheme/char-exports, scheme/complex-exports,
	scheme/cxr-exports, scheme/eval-exports, scheme/file-exports,
	scheme/inexact-exports, scheme/lazy-exports,
	scheme/process-context-exports, scheme/time-exports,
	scheme/write-exports: New files containing corresponding exports lists.
	* scheme/*.scm: Use new *-exports files.
	* Makefile.am: Update accordingly.

2015-02-14  Per Bothner  <per@bothner.com>

	* compile_map.scm (listForEachValidateApply): New method, for
	inlining list-based for-each.
	(validate-generic-for-each): Handle if procedure has side-effects.

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

	* syntax.scm (let-values): Simplification/optimization of common case.

2015-02-11  Per Bothner  <per@bothner.com>

	* syntax.scm (let-values): Use syntax-case instead of syntax-rules.
	This lets us generating "matching" names for the helper variables,
	rather than calling all of them 'x'.

2015-02-09  Per Bothner  <per@bothner.com>

	* prim_syntax.scm (if): Update for mlambda syntax change.

	* characters.scm: Update to use new type specifier syntax.
	* lists.scm: Likewise.
	* misc.scm: Likewise.
	* numbers.scm: Likewise.
	* ports.scm: Likewise.
	* prim_syntax.scm: Likewise.
	* reflection.scm: Likewise.
	* std_syntax.scm: Likewise.
	* strings.scm: Likewise.
	* vectors.scm: Likewise.

2015-01-29  Per Bothner  <per@bothner.com>

	* compile_map.scm (validate-generic-for-each): New procedure.
	(stringForEachValidateApply): Use validate-generic-for-each.
	(vectorForEachValidateApply): New procedure.
	* vectors.scm (vector-for-each): Set validate-apply property.

2015-01-28  Per Bothner  <per@bothner.com>

	* vector.scm (vector-map, vector-map-one, vector-for-each):
	Generalize to java.util.List arguments.

2014-12-28  Per Bothner  <per@bothner.com>

	* syntax.scm (receive): Moved to new file gnu/kawa/slib/receive.scm.

	* rnrs/lists.scm: Use r6rs/r7rs 'let-values' instead of 'receive'.

	* parameterize.scm (kawa.lib.syntax): Add missing imports.

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

	* prim_syntax.scm (if): Use mlambda rather than lambda so we can
	handle more general patterns.

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

	* prim_syntax.scm (if): "Inline" use of begin to avoid a "reference"
	to the begin macro.  This is needed for r7rs-library mode, which has
	no default imports.  Redundanty, also explicitly import begin.

2014-12-19  Per Bothner  <per@bothner.com>

	* scheme/eval.scm (eval): Update call to pushNewModule.

2014-12-16  Per Bothner  <per@bothner.com>

	Better type-checking of 'values'.
	* misc.scm (values): Add validate-aply and compile-apply properties,
	* compile_misc.scm (valuesValidateApply, valuesCompile): New methods.

	* kawa/expression.scm (define-validate): Minor improvements.
	(visit-exp): Call InlineCalls#visit to gets its type-checking.

	* std_syntax.scm (?): Add a more precise error message.

	* characters.scm (char->integer): Change argument type to character.
	* compile_misc.scm (charToIntegerValidateApply): Change to match.

2014-12-12  Per Bothner  <per@bothner.com>

	* prim_imports.scm: Update call-with-values import.

2014-12-08  Per Bothner  <per@bothner.com>

	Implement the '?' operator.
	* prim_syntax.scm (if): Re-implement to support '?'.
	* std_syntax.scm (and): Likewise.
	* std_syntax.scm (?): Error if used standalone.
	* compile_misc.scm: Use '?' operator.
	* lists.scm: Likewise.

2014-12-01  Per Bothner  <per@bothner.com>

	* case_syntax.scm (clause-datums->exps): Add tr local variable.
	(tr): Remove global variable.

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

	* prim_imports.scm: New helper file with imports from Java classes.
	* Makefile.am: Update accordingly.
	* scheme/base.scm: Use prim_imports.scm.
	* scheme/r5rs.scm: Likewise.
	* syntax.scm: Likewise.
	* exceptions.scm: Add imports for named references in macros.
	* exceptions.scm (error): Use splice notation - emits better code.

2014-11-24  Per Bothner  <per@bothner.com>

	* syntax.scm: Import lambda and call-with-values - used by let-values.

2014-11-23  Per Bothner  <per@bothner.com>

	* DefineRecordType.scm (define-record-type): Add imports of definitions
	used in expanded macro.

	* prim_syntax.scm (%define-syntax): Define using an import.

2014-11-17  Jamison Hope  <jrh@theptrgroup.com>

	* kawa/quaternions.scm: Implement quaternion library.
	* Makefile.am: Update accordingly.
	* numbers.scm (quaternion): New type alias used and exported by
	the (kawa quaternions) module.
	(quaternion?): New predicate exported by (kawa quaternions).
	(real-valued?, rational-valued? integer-valued?, finite?
	infinite?, nan?, exp, log): Update to support quaternions.
	(sin, cos, tan, asin, acos, atan): Update to support complex and
	quaternion arguments/return values (e.g. (asin 2)).
	(make-rectangular, make-polar): Add four-argument methods to
	construct quaternions.
	(real-part, imag-part): Update to support quaternions.
	(jmag-part, kmag-part, unit-vector): New functions exported by
	the (kawa quaternions) module.
	(angle): Update to support quaternions.
	(quantity->number): Update return type to quaternion.
	* numbers.scm (sqrt): Generalize to java.lang.Number.

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

	* ports.scm (write-char): Generalize to Appendable.

	* numbers.scm (number->string, string->number):
	Check that radix is in range.

	* scheme/r5rs.scm: Implemented r7rs (scheme r5rs) library.
	* Makefile.am: Update accordingly.

2014-10-27  Per Bothner  <per@bothner.com>

	* scheme/eval.scm (environment): Generate a "name" for the result.

2014-10-24  Per Bothner  <per@bothner.com>

	* numbers.scm (numerator, denominator): Extend to handle
	inexacts, as required by r7rs.
	* numbers.scm (gcd, lcm): Likewise.

	* numbers.scm (integer?): Fix logic error.

2014-10-22  Per Bothner  <per@bothner.com>

	* std_syntax.scm (else unquote unquote-splicing ... => _):
	Provide bindings that report an error.
	* schemebase.scm (else unquote unquote-splicing ... => _):
	Export bindings, as required by R7RS.

2014-10-17  Per Bothner  <per@bothner.com>

	* scheme/file.scm: Implement r7rs library (scheme file), using imports.
	* scheme/lazy.scm: Likewise for (scheme lazy).
	* scheme/repl.scm: Likewise for (scheme repl).
	* scheme/eval.scmm: Implement r7rs library (scheme eval) directly.
	(environment): New procedure.
	(eval): Moved from std_syntax.scm.
	* Makefile.am: Update accordingly.
	* misc.scm (promise?): New explicit type predicate.
	* std_syntax.scm (eval): Moved to scheme/eval.scm.
	(begin-for-syntax, define-for-syntax): Moved to syntax.scm.
	* syntax.scm (begin-for-syntax, define-for-syntax):
	Moved from std_syntax.scm.
	* lists.scm: Remove redundant module-static specifier.

2014-10-14  Per Bothner  <per@bothner.com>

	* misc.scm (eager): Change to just return the argument.
	(make-promise): Tweak return argument if already a promise.

	* misc.scm (make-promise): New procedure.

	* std_syntax.scm (delay-force): New syntax.

	* syntax.scm (cond-expand): Remove - now implemented by IfFeature.
	* scheme/base.scm: New need to import cond-expand from IfFeature.

2014-10-12  Per Bothner  <per@bothner.com>

	* prim_syntax.scm: Add explicit imports instead of implicit
	dependencies on dynamic environment.
	* std_syntax.scm: Likewise.
	* syntax.scm: Likewise.
	* case_syntax.scm: Use plain 'let' rather than '%let'.

2014-10-09  Per Bothner  <per@bothner.com>

	* syntax.scm: Remove import syntax and related bindings.
	Instead, import is now implemented in Java code, to make
	bootstrapping easier - and with better error checking.

2014-09-30  Per Bothner  <per@bothner.com>

	* syntax.scm: Add explicit module-export.

2014-09-28  Per Bothner  <per@bothner.com>

	* scheme/base.scm: New file for R7RS standard library.
	* scheme/case-lambda.scm: Likewise.
	* scheme/char.scm
	* scheme/inexact.scm: Likewise.
	* scheme/load.scm: Likewise.
	* scheme/process-context.scm: Likewise.
	* scheme/read.scm: Likewise.
	* scheme/time.scm: Likewise.
	* scheme/write.scm: Likewise.
	* Makefile.am: Update accordingly.

	* misc_syntax.scm (include, include-relative): Remove.
	Now handled by kawa.standard.Include.

2014-09-26  Per Bothner  <per@bothner.com>

	* DefineRecordType.java: Moved from gnu/kawa/slib.
	* Makefile.am: Update accordingly.
	* bytevectors.scm (bytevector?): New function.

2014-09-22  Per Bothner  <per@bothner.com>

	* syntax.scm (define-values): New syntax.  Copied from R7RS

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

	* numbers.scm (exact-integer-sqrt): Re-implement using a variant
	of the "Babylonian method".

	* ports.scm (read): Call setReturnMutablePairs so mutable pairs
	get created, for better standards-compliance.

2014-09-17  Per Bothner  <per@bothner.com>

	* ports.scm (%write-shared%): Use new finishIDHash method.

2014-09-16  Per Bothner  <per@bothner.com>

	* numbers.scm (string->number): Pass the negative of the radix to
	indicate the radix is only a default.

2014-09-15  Per Bothner  <per@bothner.com>

	* std_syntax.scm (and, or): Use underscore in pattern top-level.

	* syntax.scm (%string-format-enclosed-args): Add missing
	literal $splice$.

2014-09-13  Per Bothner  <per@bothner.com>

	* scheme/cxr.scm: New file, implements r7rs library (scheme cxr).
	* scheme/complex.scm: Likewise for r7rs library (scheme complex).
	* Makefile.am: Update accordingly.

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

	* prim_syntax.scm (if): Tweak for more precise error message.

	* syntax.scm: Update for '%syntax-error' -> 'syntax-error' renaming.
	* std_syntax.scm: Likewise.

2014-09-04  Per Bothner  <per@bothner.com>

	* prim_syntax.scm (syntax-error): Rename to ...
	(report-syntax-error): .. because r7rs syntax-error is incompatible.
	* case_syntax.scm: Update.
	* misc_syntax.scm: Update.
	* syntax.scm: Update.
	* std_syntax.scm (free-identifier=?, bound-identifier=?): Update
	and add missing location argument.

2014-08-28  Per Bothner  <per@bothner.com>

	* compile_misc.scm (integerToCharValidateApply): Fix expansion
	to better type-check/type-convert.

2014-08-21  Per Bothner  <per@bothner.com>

	* parameters.scm (parameterize): Move compile-type macro
	to separate module - away from run-time code.
	* parameterize.scm: New file.
	* Makefile.am: Update accoringly.

2014-08-20  Per Bothner  <per@bothner.com>

	* misc.scm: Add dependency on case_syntax.

2014-08-13  Andrea Bernardini <andrebask@gmail.com>

       Define rewriting rules for the new implementation of "case"
       expressions.
       * case_syntax.scm: New file. "case" syntax definition, CaseExps
       construction.
       * Makefile.am: Add case_syntax.scm.
       * Makefile.in: Add case_syntax.scm.
       * std_syntax.scm: Delete "case" macro, new implementation moved
       in case_syntax.scm.

2014-08-14  Per Bothner  <per@bothner.com>

	* strings.scm (string-replace!): New function.
	(string-copy!): Re-implement using string-replace!.  Note that
	while string-copy! is defined to replace a substring with the same
	number of character from the source, because of surrogates the
	target and source segments may be different lengths, so we need
	to use a general replace.  String-replace! does the job.

2014-08-12  Per Bothner  <per@bothner.com>

	* characters.scm (char?): Also check for java.lang.Character.

2014-08-11  Per Bothner  <per@bothner.com>

	* kawa/string-cursors.scm
	(string-cursor-next, string-cursor-prev): Take optional count.
	(string-cursor-move): Remove now-redundant function.
	(string-cursor-ref-or-eof): Comment out unused function.
	* strings.scm (make-string): Give more precise return type.
	(string-append!): New function.
	* compile_misc.scm (stringAppendToValidateApply): Inline string-append!.

2014-08-09  Per Bothner  <per@bothner.com>

	* strings.scm (string-copy!): Handle strings with non-BMP characters.

2014-08-08  Per Bothner  <per@bothner.com>

	* strings.scm (string->list, string-copy, string-fill!): Generalize
	to strings with non-BMP characters.
	(substring): Likewise.

2014-08-06  Per Bothner  <per@bothner.com>

	* strings.scm (make-string): Generalize to non-BMP characters.
	($make$string$): Likewise.
	(string-set!): Likewise.
	(string-copy): Likewise.

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

	* strings.scm (string-length): Change to use sizeInCodePoints.
	(string-ref): Change to scan for code-points.

2014-08-04  Per Bothner  <per@bothner.com>

	* strings.scm (string-map): New function.

	* strings.scm (string-for-each, srfi-13-string-for-each): New functions.

	* compile_map.scm: New file. Optimize/inline string-for-each,
	srfi-13-string-for-each, and string-cursor-for-each/
	* Makefile.am: Update for new file.
	* compile_misc.scm (stringCursorCompareValidateApply): Inline
	string-cursor<? and similar functions.
	* kawa/string-cursors.scm: Add validate-apply properties.

	* kawa/expressions.scm (visit-exp): Specify return type.

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

	* kawa/expressions.scm (define-validate): Automagically visit result,
	and also set line position.
	* compile-misc.scm: Remove redundant visit-exp calls.

	* kawa/string-cursors.scm (string-cursor-move, string-cursor-for-each):
	New functions.

	* kawa/expressions.scm: Some more utility functions and macros.

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

	* strings.scm (string-append/shared): Remove incorrect implementation
	in favor of srfi-13 version.

	* kawa/string-cursors.scm: New file implementing the 'string-cursor'
	API introduced in Chibi Scheme.
	* Makefile.am: Update accordingly.

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

	* kawa/expressions.scm: New R7RS-style module-name syntax.
	* rnrs/unicode.scm: Likewise.

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

	* syntax.scm (%string-format-enclosed-format): Handle $splice$ in
	enclosed expression in $string$.

	* numbers.scm (floor/, truncate/): New functions (from R7RS).

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

	* numbers.scm (exact-integer?): New function.
	(integer?): Some tweaks, including support for BigDecimal.

	Change 'character' type to be implemented using primitive 'int'.
	* characters.scm (char->integer. integer->char): These are now no-ops
	when optimized.
	(digit->char): Update.
	* ports.scm: Update conversions since character is no longer an object.
	(read-char, peek-char): Change return type of character-or-eof.
	(u8): Inline readByte from kawa.standard.readchar.
	* rnrs/unicode.scm: Update character/int conversions.
	* strings.scm: Likewise.
	Add validation hook for character comparisons.
	* compile_misc.scm: Implement various validation hooks.

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

	* kawa/expressions.scm: Utilities for working with expressions.
	* system.scm (pipeProcessValidateApply): Move to compile_misc.scm.
	* compile_misc.scm: New file.
	(pipeProcessValidateApply): Moved and rewrite to use expression API.
	* Makefile.am: Update accordingly.

2014-06-30  Per Bothner  <per@bothner.com>

	* files.scm (copy-file): Re-write to be more efficient.
	Now byte-based so it handles binary files.

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

	* exceptions.scm (raise): Add 'equivalent-syntax' property.

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

	* std_syntax.scm (define-procedure): Re-implement to use %define.

	* numbers.scm (sqrt): Previous change is wrong for negative doubles.
	Ooops.

	* numbers.scm (sqrt): Re-order so most specific method is first.

	* misc.scm (symbol=?): Simplify - don't need to use define-procedure.

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

	* misc_syntax.scm (include-relative): If source path is the default
	input stream, use the current path as the base.

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

	* kawa/regex.scm (regex-split): Work around Java 8 change.

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

	* files.scm: Define constructor append_PD  - bound to &>>{...}.

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

	* files.scm (set_PD): New constructor, bound to ">".
	(path-data-setter): New function, moved out from path-data.

2014-02-28  Per Bothner  <per@bothner.com>

	* files.scm (make-temporary-file): Translated Java code from
	FileUtils#createTempFile to Scheme and inlined it.

2014-02-23  Per Bothner  <per@bothner.com>

	* exceptions.scm (file-error?): Also match InvalidPathException.

2014-02-20  Jamison Hope  <jrh@theptrgroup.com>

	* numbers.scm (angle): The angle of a negative real is pi.

2014-02-17  Per Bothner  <per@bothner.com>

	* prim_syntax.scm (define-early-constant): New syntax.
	* std_syntax.scm (define_procedure): Use define-early-constant.

	* rnrs/programs.scm (exit): Use ExitCalled utility class,
	so that finally-handlers can be executed.
	(emergency-exit): New method.

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

	* system.scm (pipe-process): New syntax.
	(%pipe-process): New helper function.
	(pipeProcessValidateApply): New validate method.

2014-02-08  Per Bothner  <per@bothner.com>

	* files.scm (delete-file): Use Path:deleteFile (which throws
	exception) rather than Path:delete (which returns boolean).
	* exceptions.scm (file-error?): Make more precise.

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

	* files.scm (path-data): Add setter.

	* parameters.scm (as-location%): Simplify - don't special-case
	ThreadLocation.

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

	* ports.scm (current-path): New parameter.

2014-01-27  Per Bothner  <per@bothner.com>

	* syntax.scm (%string-format-format): Use default-format rather
	than "~a".

2014-01-02  Per Bothner  <per@bothner.com>

	* exceptions.scm (guard, simple-guard): Re-implement guard
	similar to old simple-guard, but setting current-handler to null.
	(raise-continuable): If current-handler is null (i.e. comes from
	a guard, treat as plain raise.

2013-12-30  Per Bothner  <per@bothner.com>

	* ports.scm (read-bytevector!): Use new BinaryInPort#getInputStream.

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

	* system.scm: Add missing require.
	* exceptions.scm: Likewise.

	* syntax.scm ($string-with-delimiter-marks$): New macro.  Similar
	to $string$, used for simple named quasi-literals, but add hooks
	to generate subitution marks in resulting string.
	($string-with-default-format$): Generalized from $string$ to
	provide a default format specifier.
	* system.scm (process-exit-wait, process-exit-ok?): New procedures.
	(cmd, sh): New simple constructors.

2013-12-21  Per Bothner  <per@bothner.com>

	* files.scm (path-bytes, path-data): New functions.
	(PD): New constructor syntax.

2013-12-12  Per Bothner  <per@bothner.com>

	Implement R6RS/R7RS-style exception handling.
	* ExceptionClasses.scm: New file.  Implement classes and a ThreadLocal
	used for exception handling.
	* Makefile.am: Update accordingly.
	* exceptions.scm (guard, guard-aux): Implementation taken from
	the R7RS specification document,
	* exceptions.scm (with-exception-handler, raise, raise-continuable,
	guard, simple-guard): New implementations.

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

	* rnrs/lists.scm (find, filter, partition, remp, remove, remv, remq,
	remp): Rename parameter 'list' to not conflict with type-specifier.
	This fixes Savannah bug #40835 "Return types cause class cast
	exceptions".

2013-12-01  Per Bothner  <per@bothner.com>

	* exceptions.scm: New file.
	(error-object?, error-object-message, error-object-irritants,
	read-error?, file-error?): New procedures.
	(catch, throw, error): Moved from elsewhere.
	(error): Don't format to string here.
	* Makefile.am: Update accordingly.
	* system.scm (catch): Moved to exceptions.scm.
	* misc.scm (throw, error): Likewise.
	(scheme-report-environment): Use NamedException:makeError.

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

	* syntax.scm (%string-format-format, %string-format-args): Fix
	implementation of $string$ to better handle direct non-enclosed
	expressions (such as nested $construct$ forms not inside an
	enclosed expression). These should be treated as enclosed forms,
	formatted using "~a", rather than just calling toString.

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

	* ports.scm (open-input-string, call-with-input-string):
	Use more-general factory method CharArrayInPort:make.

	* syntax.scm (%simple-construct-builder): Fix logic error.

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

	* ports.scm (open-binary-input-file, open-binary-output-file):
	Fix typo (wrong class name) in return type specifier.
	* rnrs/programs.scm (exit): Fix another typo.

2013-10-17  Per Bothner  <per@bothner.com>

	* syntax.scm (import-handle-prefix): Adding working implementation.

2013-09-29  Per Bothner  <per@bothner.com>

	* rnrs/unicode.scm (string-foldcase): Update because
	nicodeUtils:foldCase changed return type to CharSequence.

2013-09-27  Jamison Hope <jrh@theptrgroup.com>

	* lists.scm (list-ref): Change to procedure with setter property.

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

	* lists.scm (list-set!): New R7RS procedure.
	(list-copy): Moved from srfi1.scm, and fixed handling of non-lists.

2013-09-24  Per Bothner  <per@bothner.com>

	* std_syntax.scm (%case): Add support for => in non-else clauses.

2013-09-22  Per Bothner  <per@bothner.com>

	* rnrs/programs.scm (command-line): Also check kawa.command.line
	property and ApplicationMainSupport:commandName variable when
	trying to figure out command name.

2013-09-20  Per Bothner  <per@bothner.com>

	* numbers.scm (infinite?): Change to match R7RS specification.

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

	* rnrs/programs.scm (command-line): More accurate/informative
	first argument.

2013-09-06  Per Bothner  <per@bothner.com>

	* strings.scm (define-compare): New non-exported helper macro.
	Use it to generalize various compare functions to varargs.
	(string=?, string<?, string>?, string<=?, string>=?): Re-implement.
	(string-ci=?, string-ci<?, string-ci>?, string-ci<=?, string-ci>=?,
	char-ci=?, char-ci<?, char-ci>?, char-ci<=?, char-ci>=?):
	Moved from unicode.scm and re-implement using define-compare.
	(char=,? char<? char>?, char<=?, char>=?): Moved from
	characters.scm and re-imlement.
	* unicode.scm (string-ci=?, string-ci<?, string-ci>?, string-ci<=?,
	string-ci>=?, char-ci=?, char-ci<?, char-ci>?, char-ci<=?,
	char-ci>=?): Moved to strings.scm, because of define-compare.
	* characters.scm (char=,? char<? char>?, char<=?, char>=?):
	Moved to strings.scm, because of define-compare.

	* characters.scm (digit-value): New function.
	* system.scm (get-environment-variable, get-environment-variables):
	New functions.

2013-09-06  Per Bothner  <per@bothner.com>
	    Alex Shinn

	* numbers.scm (exact-integer-sqrt): Import
	fixed algorithm from chibi-scheme.

2013-09-06  Per Bothner  <per@bothner.com>

	* ports.scm (display, write, write-simple, write-shared,
	write-with-shared-structure): Re-implement for R7RS write semantics.

2013-09-05  Per Bothner  <per@bothner.com>

	* bytevectors.scm ($make$bytevector$): New helper function
	for bytevector constructor function.
	(make-bytevector): Need to use U8Vector directly,
	instead of bytevector varargs constructor.

	* numbers.scm (quantity?, complex?, real?, rational?):
	Generalize so they return true for java.lang.Integer etc.
	(finite?, infinite?, nan?): Handle java.lang.Number objects
	that are not gnu.math.Complex.
	(java.lang.real?): New private helper method.

2013-09-03  Per Bothner  <per@bothner.com>

	* numbers.scm (real-part, imag-part, angle): Generalize to
	java.lang.Number (which are treated as real).

2013-09-01  Per Bothner  <per@bothner.com>

	* ports.scm (read-bytevector!): Fix parameter order.

	* ports.scm (u8-ready): Fix name to 'u8-ready?'.

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

	* misc.scm (features): New R7RS function.

	* std_syntax.scm (%case): Support => R7RS syntax in case expression.

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

	* numbers.scm (finite?): Generalize to complex.
	(infinite?): Likewise.
	(nan?): Likewise.

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

	* system.java (current-second, current-jiffy, jiffies-per-second):
	New procedures from R7RS.

	* misc.scm (boolean=?): New procedure from R7RS.

	* numbers.scm (square): New procedure from R7RS.
	* strings.scm (string-ref, string-copy): Generalize to CharSequence.
	(string->list): Take R7RS-style optional (start,end) bounds.
	(string-fill!): Likewise.
	(string-copy): Likewise.
	(string-copy!): New procedure from R7RS.

	* lists.scm (make-list): New procedure from R7RS.

	* ports.scm (textual-port?, binary-port?): Fix typos.

2013-05-10  Per Bothner  <per@bothner.com>

	* syntax.scm (%string-format-arg): Fix thinko - missing dot in list.
	(%string-format-enclosed-format): Remove never-reached case.
	(%string-format-enclosed-args): Likewise.

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

	* syntax.scm (define-simple-constructor): New macro, for SRFI-108.
	(%symbol->construct, %simple-construct-builder): New helper macros.

2013-03-20  Per Bothner  <per@bothner.com>

	* syntax.scm ($sprintf$): New macro.

2013-02-23  Per Bothner  <per@bothner.com>

	* std_syntax.scm (and): Minor tweak.

	* syntax.scm: Update $[$ ... $]$ to $<<$ ... $>>$.

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

	* std_syntax.scm (datum->syntax): Add 3rd optional source-location
	parameter.

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

	* syntax.scm ($string$): Reimplement since enclosed expressions are
	no represented using $[$ .... $]$ rather than ($unquote$ ...).
	(%string-format-format, %string-format-enclosed-format,
	%string-format-args, %string-format-enclosed-args): New helper macros.

2013-01-20  Per Bothner  <per@bothner.com>

	* syntax.scm: Add support for $string$ quasi-literals.
	($string$, $format$): New syntax.
	(%string-format-format, %string-format-args): New helper functions.

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

	* misc.scm (throw): New function.
	Replaces kawa/standard/throw_name.java.
	(error): Specify return type.

2012-11-29  Per Bothner  <per@bothner.com>

	* ports.scm (write-simple, write-shared): New R7RS procedures.

	* bytevectors.scm (bytevector-copy!, bytevector-append):
	New R7RS procedures.
	(utf8->string, string->utf8): Extend with start/end parameters.

	* vectors.scm (vector-copy, vector-copy!): New R7RS procedures.

2012-11-28  Per Bothner  <per@bothner.com>

	* ports.scm (open-binary-input-file, call-with-port, textual-port?,
	binary-port?, port?, input-port-open?, output-port-open?,
	open-input-bytevector, close-port): New functions.

2012-11-27  Per Bothner  <per@bothner.com>

	* ports.scm (eof-object, read-string, read-u8, peek-u8, u8-ready,
	read-bytevector, read-bytevector!): New R7RS input procedures.

2012-11-22  Per Bothner  <per@bothner.com>

	* ports.scm (open-binary-output-file, write-string, write-u8,
	write-bytevector, open-output-bytevector, get-output-bytevector,
	flush-output-port): New R7RS output functions.

(2012-11-20  Per Bothner  <per@bothner.com>

	* vectors.scm (vector->list): Add optional bounds, as in R7RS.
	(vector->string, string->vector): New functions.

	* bytevector.scm: Renamed file to ...
	* bytevectors.scm: ... for compatibility with other names.
	* Makefile.am: Update accordingly.

	* vectors.scm (vector-fill!): Add optional bounds, as in R7RS.
	* bytevector.scm (bytevector-copy): Likewise.

2012-11-03  Per Bothner  <per@bothner.com>

	* numbers.scm (log): Implement 2-argument version of log function.

2012-07-07  Per Bothner  <per@bothner.com>

	* lists.scm (define-cxr): Add cast to <pair> so field can
	resolve to setCdr method.

2012-05-10  Per Bothner  <per@bothner.com>

	* Makefile.am: Comfile windows.scm if WITH_SWING is set, rather
	than if WITH_AWT is set.

2012-03-21  Per Bothner  <per@bothner.com>

	* std_syntax.scm (lazy, delay): Explicit ApplyExp creation.
	This avoids the extra ApplyToArgs step.

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

	* std_syntax.scm: Implement syntax->datum and datum->syntax.

2012-02-05  Per Bothner  <per@bothner.com>

	* lists.scm: Use #, and #,@ instead of , and ,@ in quasisyntax.
	* std_syntax.scm: Likewise.
	* misc_syntax.scm: Likewise.
	* prim_syntax.scm: Likewise.
	* syntax.scm: Likewise.

2012-01-31  Per Bothner  <per@bothner.com>

	* misc.scm (force*): New procedure.

2012-01-27  Per Bothner  <per@bothner.com>

	* misc.scm (promise-set-value!, promise-set-alias!,
	promise-set-exception!, promise-set-thunk!): New procedures.

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

	* lists.scm (pair?): Force operand.
	(list-tail): Re-implement in Scheme, instead of Java.
	Force operand as needed.

	* misc.scm (eager): Use keyword-inconstructor syntax.

	* std_syntax.scm (free-identifier=?): Re-implement to check that
	arguments are identifiers and then call new the new method
	SyntaxForms#identifierEquals.
	(bound-identifier=?): New function.

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

	* lists.scm (null?): Force operand before testing with eq?.

2012-01-15  Per Bothner  <per@bothner.com>

	* std_syntax.scm (lazy): New syntax, from SRFI-45 and R7RS.
	* misc.scm (force): Only calls force1, to match SRFI-45/R7RS.
	(eager): New function, from SRFI-45 and R7RS.

2012-01-01  Per Bothner  <per@bothner.com>

	* std_syntax.scm (delay): Use MakePromise:makePromise Procedure,
	so we can infer types better.

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

	* bytevector.scm: New file, for R7RS bytevector functions.

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

	* ports.scm (get-input-string, call-with-input-string): Update to
	use new string-input-port type.

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

	* std_syntax.scm (eval): New method.   Compile with full-tailcalls.

2011-10-08  Charles Turner  <chturne@gmail.com>

	* ports.scm (write, write-with-shared-structure): write was
	modified slightly for SRFI-38, write-w-s-s is a new procedure that
	calls the appropriate Java methods for shared structure printing.

2011-06-14  Per Bothner  <per@bothner.com>

	* misc.scm: Update package for class Promise.
	* std_syntax.scm: Likewise.

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

	* rnrs/hashtables.scm (make-hashtable): Fix order of parameters
	to match R6RS.

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

	* misc_syntax.scm (provide): Use quasisyntax abbreviation.

	* strings.scm (list->string): Minor cleanups.

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

	* syntax.scm (try-finally, synchronized): Fix error in last change.

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

	* prim_syntax.scm (if): Change to use define-rewrite-syntax.  This
	defers expansion and hence name lookup until the rewrite phase.
	(try-catch): Likewise.
	* syntax.scm (try-finally, synchronized): Likewise.

2011-01-24  Jamison Hope <jrh@theptrgroup.com>

	* rnrs/lists.scm: Added the (rnrs lists (6)) library.
	* Makefile.am: Update accordingly.

2011-01-17  Jamison Hope <jrh@theptrgroup.com>

	* kawa/hashtable.scm: Fix various small bugs.
	* rnrs/hashtables.scm: Likewise.

2011-01-13  Jamison Hope <jrh@theptrgroup.com>

	* srfi95.scm (%sort-vector): Fix return type.

2010-12-27  Per Bothner  <per@bothner.com>

	* numbers.scm (real-valued?, rational-valued?, integer-valued?): New.

2010-12-27  Jamison Hope <jrh@theptrgroup.com>

	* vectors.scm (vector-map, vector-for-each): New procedures.
	* numbers.scm (finite?, infinite?, nan?, exact-integer-sqrt): Likewise.

2010-11-25  Jamison Hope <jrh@theptrgroup.com>

	* lists.scm (assoc): Order of operands to test predicate was
	inconsistent with that specified in SRFI-1.

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

	* Makefile.am (SCM_COMPILE_FLAGS): Change to use new
	--warn-unknown-member flag.

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

	* numbers.scm (gcd, lcm):  Change args #!rest array from Object[]
	to integer[], now that the latter works.

	* numbers.scm (number->string): Set explicit return type as string.
	Type inference depends on compilation order, which is bad.

	* numbers.scm (odd?, even?): Remove functions.

2010-08-28  Per Bothner  <per@bothner.com>

	* syntax.scm (identifier-list?, identifier-pair-list? obj):
	Specify that return types are boolean.

2010-08-20  Per Bothner  <per@bothner.com>

	* parameters.scm (parameterize%): Update since setWithSave/setRestore
	no longer take CallContext argument.

2010-07-23  Per Bothner  <per@bothner.com>

	* kawa/hashtable.scm (class hashtable): Added toNodeList
	and toNodeArray methods.

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

	* misc.scm (namespace-uri, namespace-prefix): New functions.

2010-05-31  Per Bothner  <per@bothner.com>

	* misc.scm (symbol=?, symbol-local-name, symbol-namespace,
	symbol-namespace-uri, symbol-prefix): New functions.

2010-05-19  Per Bothner  <per@bothner.com>

	* misc.scm (namespace): Remove function; "namespace" is now a type
	alias instead.

	* misc.scm (namespace): Handle optional prefix argument.

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

	* system.scm (compile-file): Set Compilation#explicit.

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

	* rnrs/unicode.scm (string-normalize): Add a try-catch for a better
	error when java.text.Normalizer is missing, in java6compat5 mode.

	* misc.scm (force): Now just call kawa.lang.Promise:force,
	to all for a conditional on JAVA5.

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

	* strings.scm:  Update some of the type specifiers to use the
	new format, where separators before or after are optional.
	This is mainly for testing, but more will be changed later.

2009-12-25  root  <per@bothner.com>

	* std_syntax.scm (begin-for-syntax, define-for-syntax): New macros,
	implemented by calling eval at macro-expansion time.
	* prim_syntax.scm (define-for-syntax): Remove place-holder definition.

2009-12-07  Per Bothner  <per@bothner.com>

	* std_syntax.scm: Update for SyntaxForm made an interface.
	* prim_syntax.java: Likewise.

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

	* syntax.scm (case-lambda): Build GenericProc without sorting the
	methods for specificity.  This fixes Savannah bug #28022:
	"case-lambda (srfi 16) not working with strings".
	At the same time clean up to use #` and #' for syntax templates.

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

	* numbers.scm (bitwise-arithmetic-shift, bitwise-arithmetic-shift-left,
	bitwise-arithmetic-shift-right, bitwise-not, bitwise-and, bitwise-ior,
	bitwise-xor): Removed - now implemented by gnu.kawa.functions.BitwiseOp.

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

	* vectors.scm ($make$vector$): Remove no-longer used procedure.

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

	* std_syntax.scm (define-procedure): Use 'java.lang.Object' explicitly
	rather than semi-ambiguous 'object'.

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

	* std_syntax.scm (do):  Re-write so we can handle type-specifiers
	for multiple variable clauses.

	* std_syntax.scm (do):  Re-order parts of 'do' to avoid a goto
	in generated code.

2009-09-29  Per Bothner  <per@bothner.com>

	* trace.scm (disassemble): New function.

2009-09-20  Per Bothner  <per@bothner.com>

	* rnrs/unicode.scm (string-normalize-nfd, string-normalize-nfkd,
	string-normalize-nfc, string-normalize-nfkc): Compile as just stubs
	if we don't have feature string-normalize-unicode.

	* numbers.scm (quotient, remainder, module): These are now
	implemented by DivideOp.
	(div-and-mod, div0-and-mod0): New R6RS functions.

	* numbers.scm (bitwise-copy-bit-field, bitwise-rotate-bit-field,
	bitwise-if): Optimization, primarily inlining.

	* numbers.scm (inexact, exact): New R6RS functions.
	(exact->inexact, inexact->exact): Re-implement using new
	Arithmetic.toInexact and Arithetic.toExact methods.

2009-09-15  Per Bothner  <per@bothner.com>

	* system.scm (process-command-line-assignments): New function.
	* rnrs/programs.scm (exit): Make compatible with R6RS.
	(command-line): Update for commandLineArgArray moved.

2009-09-12  Per Bothner  <per@bothner.com>

	* numbers.scm (number?): Say yes for any java.lang.Number.
	(zero?, abs, magnitude, exact->inexact, inexact->exact):
	Generalize to any java.lang.Number, not just Numeric.

2009-09-11  Per Bothner  <per@bothner.com>

	* numbers.scm (exact?, inexact?): Use Arithmetic.isExact.

2009-08-27  Per Bothner  <per@bothner.com>

	* rnrs/programs.scm (command-line): commandLineArgArray was moved
	from kawa.repl to gnu.expr.ModuleBody.

	* rnrs/programs.scm: New file, implements (rnrs library)
	module.
	* Makefile.am: Update accordingly.
	* thread.scm (exit): Move to programs.scm.

	Separation of syntax from runtime code.
	* misc_syntax.scm: New file.
	* Makefile.am: Update accordingly.
	* misc.scm (provide, test-begin): Moved to misc_syntax.scm.
	* files.scm (module-uri, resource-url, include, include-relative):
	Likewise.

2009-08-13  Per Bothner  <per@bothner.com>

	Move some functions out of syntax*scm so the latter
	can be kept out of kawart.jar.
	* std_syntax.scm (add-procedure-properties): Move to misc.scm.
	* syntax.scm (gentemp): Moved to misc.scm.
	(catch): Moved to system.scm.
	* system.scm (catch): Moved here.
	* misc.scm (add-procedure-properties, gentemp): Moved here.
	* ports.scm (define-alias-parameter): Moved to syntax.scm, since
	it isn't needed for kawart.jar.
	* syntax.scm (define-alias-parameter): Moved here.

2009-07-04  Per Bothner  <per@bothner.com>

	* std_syntax.scm (letrec): Move to prim_syntax.scm.
	* prim_syntax.scm (letrec): Re-write to use syntax-case.  This allows
	us to reverse the list of processed declarations, so they end up
	in the correct order.  Also, some better error messages.

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

	* rnrs/unicode.scm: New module, implements (rnrs unicode) library.
	* Makefile.am: Update accordingly.
	* characters.scm: Move some functions rnrs/unicode.scm.
	* strings.scm: Likewise.

2009-05-30  Per Bothner  <per@bothner.com>

	* kawa/regex.scm: New module.
	* Makefile.am: Update accordingly.

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

	* kawa/hashtable.scm: Change Java class name to avoid name conflict
	on Windows.

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

	* srfi95.scm: We require the vectors module.

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

	* kawa/hashtable.scm: New module, using code taken from srfi69.scm.
	* rnrs/hashtables.scm: Implement R6RS (rnrs hashtables) library.
	* Makefile.am: Update accordingly.

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

	* syntax.scm: Implement R6RS 'import' keyword.
	* lists.scm, std_syntax.scm, syntax.scm: More some functions and macros
	around so import can make use of what it needs.

	* srfi95.scm: New SRFI-95 (sorting and merging) implementation,
	based on the SRFI-95 public-domain reference implementation,
	based on SLIB, by Richard A. O'Keefe and Aubrey Jaffer.
	* rnrs/sorting.scm: New implementation of R6RS sorting library.
	* Makefile.am: Update accordingly.

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

	* files.scm (resource-url): New function.
	(resource-uri): Remove similarly-named function

2008-10-24  Per Bothner  <per@bothner.com>

	* numbers.scm: Don't require misc.scm, to avoid a cycle (ports
	requires numbers requires misc requires numbers).
	(bitwise-arithmetic-shift-left, bitwise-arithmetic-shift-right):
	Inline call to error, to avoid a cycle.

	* do.scm: Remove long-unused file.

2008-07-17  Per Bothner  <per@bothner.com>

	* numbers.scm: Implement R6RS bitwise- functions.
	(arithmetic-shift): Rename to bitwise-arithmetic-shift.
	(lognot): Rename to bitwise-not.
	(logand): Rename to bitwise-and.
	(logior): Rename to bitwise-ior.
	(logxor): Rename to bitwise-xor.
	(logbit?): Rename to bitwise-bit-set?.
	(bit-extract): Rename to bitwise-bit-field.
	(integer-length): Rename to bitwise-length;
	(bitwise-arithmetic-shift-left, bitwise-arithmetic-shift-right,
	bitwise-copy-bit, bitwise-copy-bit-field, bitwise-if, bitwise-bit-count,
	bitwise-first-bit-set, bitwise-rotate-bit-field,
	bitwise-reverse-bit-field): New functions.
	(logcount): Fix to return non-zero, as specified.

2008-06-01  Per Bothner  <per@bothner.com>

	* vectors.scm (vector): "vector" is now a LangObjType, so rename
	vector function to $make$vector$.
	When calling FVector constructor name that directly.
	* arrays.scm (array): Likewise.
	* string.scm (string): "string" is now a LangObjType, so rename
	string function to $make$string$.
	* misc.scm (procedure?): Also allow a LangObjType.

2007-11-05  Per Bothner  <per@bothner.com>

	* numbers.scm (sqrt): Add overload, to handle java.lang.Float etc.

2007-11-02  Per Bothner  <per@bothner.com>

	* numbers.scm (integer?): True for all types convertible to <integer>.
	(quotient, remainder, modulo): Now generalized to types convertible
	to integer.  Make use of define-procedure for "overloads".
	(gcm, lcm): Minor tweak.

2007-06-11  Per Bothner  <per@bothner.com>

	* files.scm (delete): Generalize since Path now has a delete method.

2007-04-20  Per Bothner  <per@bothner.com>

	* files.scm (make-temporary-file):  Update.
	This fixes Savannah bug #19569, make-temporary-file.

2007-03-25  Per Bothner  <per@bothner.com>

	* prim_syntax.scm (define-constant): Fix matching of"compound names"
	i.e. ($lookup$ PART1 'PART2), like we do for define and define-private.

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

	* system.scm (command-parse): Update - symbols are no longer
	java.lang.String objects.

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

	* files.scm: Change various functions to return java.lang.String
	rather than converting to FString.
	* keywords.scm: Likewise.
	* syntax.scm: Likewise.
	* reflection.scm: Likewise.
	* ports.scm: Likewise.
	(define-alias-parameter): Simplify - use Symbol directly.
	(open-input-string, call-with-input-string): Use new
	CharArrayInPort.make factory method.
	* numbers.scm (string->number): Use new LispReader.parseNumber method.
	* strings.scm: Update for new string typing.
	* misc.scm (scheme-implementation-version): Simplify.
	(symbol->string): Now returns a constant-string.
	* system.scm (compile-file): Explicitly call toString.

	* files.scm (path-directory, path-parent): Add toString invocation.

2007-02-08  Per Bothner  <per@bothner.com>

	* Makefile.am (SCM_COMPILE_FLAGS): Add --warn-invoke-unknown-method
	and --warn-as-error compiles flags.

2007-02-05  Per Bothner  <per@bothner.com>

	* syntax.scm (define-syntax-case): New macro.

2007-02-01  Per Bothner  <per@bothner.com>

	* files.scm (file-readable?, file-writable?, delete-file, rename-file,
	copy-file, create-directory): Change parameter type to filepath.
	(delete-file): If delete fails, throw exception.

2007-01-09  Per Bothner  <per@bothner.com>

	* files.scm (path-path): Rename to path-file.
	(pah-directory, path-parent, path-last, path-extension):
	New functions.

2007-01-08  Per Bothner  <per@bothner.com>

	* files.scm (file-exists?, file-directory?): Generalize to path.

2007-01-04  Per Bothner  <per@bothner.com>

	* files.scm (resource-uri): Use Path rather than URI_utils resolve.
	* files.scm (include-relative): Likewise.

	* misc.scm (base-uri): Use Path's currentPath method.

2007-01-02  Per Bothner  <per@bothner.com>

	* files.scm (path-query): Fix copy-paste thinko.

	* files.scm (resolve-uri): Fix implementation.

	* file.scm (path?, filepath?, URI?, absolute-path? path-scheme,
	path-authority, path-user-info, path-host, path-port, path-path,
	path-fragment, path-query): New functions.
	(->pathname): Use path constructor.
	(URI): Remove - now defined in LangObjType.
	(resolve-uri): Update.

	* ports.scm (open-input-file, open-output-file, call-with-input-file,
	call-with-output-file, with-input-from-file, with-output-to-file):
	Cast to path.

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

	* Makefile.am: Simplify - we use '$JAVA kawa.repl' rather than $KAWA1.

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

	* ports.scm (write-char): Use Char class's new print method.

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

	* files.scm: Update for SourceLocator-related changes.
	* syntax.scm: Likewise.

2006-10-30  Per Bothner  <per@bothner.com>

	* misc.scm (base-uri): Update Since BaseUri class is now gone.

2006-09-08  Per Bothner  <per@bothner.com>

	* numbers.scm: Add require of kawa.lib.syntax needed for
	define-procedure.

2006-09-03  Per Bothner  <per@bothner.com>

	* ports.scm (read): New function, transcribed from
	kawa/standard/read.java.
	(read-line): New function, transcribeconverted from argument-handling
	part of kawa/standard/read_line.java.

	* numbers.scm (atan): New function, transcribed from
	kawa/standard/atan.java.
	* numbers.scm (string->number): New function, transcribed from
	kawa/standard/string2number.java.

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

	* arrays.scm: Add require declaration for kawa.lib modules we depend on.
	* characters.scm: Likewise.
	* files.scm: Likewise.
	* keywords.scm: Likewise.
	* lists.scm: Likewise.
	* misc.scm: Likewise.
	* numbers.scm: Likewise.
	* parameters.scm: Likewise.
	* ports.scm: Likewise.
	* reflection.scm: Likewise.
	* std_syntax.scm: Likewise.
	* strings.scm: Likewise.
	* syntax.scm: Likewise.
	* system.scm: Likewise.
	* thread.scm: Likewise.
	* trace.scm: Likewise.
	* uniform.scm: Likewise.
	* vectors.scm: Likewise.
	* windows.scm: Likewise.
	* system.scm (compile-file): Remove resolve call.
	* files.scm: Inline cons call.

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

	* strings.scm (string->list): Inline cons.
	* numbers.scm (make-quantity): Add explicit toString call.
	* std_syntax.scm: Remove bogus export.

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

	* lists.scm (car, cdr, define-cxr): Use name: lambda keyword to set
	name, so we don't have to use less-efficient define kludge.

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

	* files.scm (make-temporary-file): Reimplement using new method
	in gnu.kawa.functions.FileUtils.

	* numbers.scm (quantity->number, quantity->unit, make-quantity):
	New functions, converted from Java classes in kawa.standard.
	* strings.scm (string): Likewise.

	* misc.scm (test-begin): Update test-%begin -> %test-begin.

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

	* ports.scm (open-output-string, get-output-string): Use new compact
	syntax for constructors and method calls.  Also avoids a dependency
	of reflection.scm.
	* strings.scm (string-append/shared): Likewise for array accesses.

2006-04-14  Per Bothner  <per@bothner.com>

	* lists.scm (define-cxr): New non-exported helper macro.
	(caar, cadr, cdar, cddr,
	caaar, caadr, cadar, caddr, cdaar, cdadr, cddar, cdddr
	caaaar, caaadr, caadar, caaddr, cadaar, cadadr, caddar, cadddr
	cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar, cddddr):
	Use define-cxr to define functions.

2006-03-03  Per Bothner  <per@bothner.com>

	* numbers.scm (duration): New function.

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

	* prim_syntax.scm (define-syntax, define, define-private,
	define-constant): Recognize "compound names" - ($lookup$ PART1 'PART2),
	which appeared as PART1:PART2 is the source code.
	(define_for_syntax): Just define in terms of define, for now.

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

	* number.scm (max, min, gcd, lcm, logand, logior, logxor):
	Use more convenient array:length syntax.

	* numbers.scm (number->string): Use new Arithmetic:toString function,
	which also support java.lang.Long, gnu.math.BigDecimal, etc.

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

	* numbers.scm (integer?, max, min, gcd, lcm, logand, logior, logxor):
	Rewrite from Java to Scheme, now that array operations are less tedious.

	* lists.scm (set-car!): Use new syntax.

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

	* misc.scm (namespace): New function.

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

	* files.scm (resource-uri): New syntax.
	(module-uri): Fix typo.

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

	* files.scm (URI): Give specific <URI> return type.
	(resolve-uri): New procedure.
	(module-uri): New macro.

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

	* files.scm (include-relative): Update to use URI_utils.

	* ports.scm (open-input-file, open-output-file, call-with-input-file,
	with-input-from-file, with-output-to-file): Generalize to use
	general path - specifically URIs - and the methods in URI_utils.

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

	* files.scm (URI): Update package for moved URI_utils class.

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

	* files.scm (URI): New procedure.

2005-11-23  Per Bothner  <per@bothner.com>

	* std_syntax.scm (generate-temporaries): New function.
	* std_syntax.scm (delay): Inline allocation of Promise.
	(%make-promise): Remove.
	* reflection.scm (primitive-constructor): New macro.
	(record-constructor, primitive-array-new, primitive-array-set,
	primitive-array-get, primitive-array-length, primitive-get-field,
	primitive-set-field, primitive-get-static, primitive-set-static): Use
	make procedure instead of primitive-constructor.

2005-10-27  Per Bothner  <per@bothner.com>

	* system.scm (compile-file): Call Language's resolve method.

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

	* misc.scm (test-begin): New macro.

	* prim_syntax.scm (define-for-syntax): New macro - as in mzscheme.
	* syntax.scm (syntax-source, syntax-ilne, syntax-column): New
	macros, matching ones in mzscheme.

	* misc.scm (provide): New macro.

2005-10-19  Per Bothner  <per@bothner.com>

	* syntax.scm (case-lambda): Reimplement to translate to make-procedure.
	Use syntax-case in implementation.

2005-08-15  thomas kirk  <tk@research.att.com>

	* thread.scm (runnable): New function.

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

	* numbers.scm (angle): Remove redundant number() call.

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

	* lists.scm: Use new namespace-prefix-based syntax more places.
	* ports.scm: Likewise.

2005-07-23  Per Bothner  <per@bothner.com>

	* windows.scm (scheme-window): Specifically use Scheme rather than
	current language.  Update for new GuiConsole constructor.  Return void.

	* parameters.scm (parameterize%): setWithSave and setRestore now
	require an extra CallContext parameter.

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

	* ports.scm (write, display): New functions.

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

	* package-info.java: New file, used by javadoc.

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

	* ports.scm (define-alias-parameter): Fix harmless typo.

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

	* ports.scm (with-output-to-file, with-output-to-file): New functions.
	* thread.scm (sleep): New function.

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

	* system.scm (convert-list-to-string-array): Optimize by adding type
	declarations and inlining car/cdr.
	(tokenize-string-to-string-array): Likewise.

	* prim_syntax.scm (try-catch): Don't translate catch-clause to a let,
	with a bogus initial value.  Instead we generate a temporary LambdaExp.
	Fixes Savannah bug #11540.

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

	* Makefile.am (SCM_COMPILE_FLAGS): Revert yesterday's change -
	--module-static-run is now set in ../../Make-rules.

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

	* Makefile.am (SCM_COMPILE_FLAGS): Add new --module-static-run flag.

	* strings.scm (list->string): Inline car and cdr calls.
	* files.scm (include-relative): Likewise, aided by type specifier.

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

	* windows.scm (scheme-window): Update Interpreter -> Language.
	* std_syntax (%lang-boolean): Likewise.

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

	* ports.scm (define-alias-parameter): New helper macro.
	(current-input-port, current-output-port, current-error-port):
	Re-define as "parameter objects", using define-alias-parameter.

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

	* std_syntax.scm (syntax-object->datum): Use new Quote.quote method.

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

	* parameters.scm: New file, implements SRFI-39.
	* Makefile.am: Update accordingly.
	
	* misc.scm (force arg): Remove some old debugging junk.

2005-01-29  Per Bothner  <per@bothner.com>

	* misc.scm (environment-bound?):  Use new
	gnu.kawa.lispexpr.LispLanguage:langSymbolToSymbol.
	Fixes Savannah bug #11775.

2005-01-28  Per Bothner  <per@bothner.com>

	* characters.scm:  Comparisons (such as char-=?, char-ci<?) are
	implemented much more efficiently, compiles without warnings on Java5,
	and if using Java5 use the int versions in java.lang.Character.

2005-01-27  Per Bothner  <per@bothner.com>

	* misc.scm (symbol?): Also true for gnu.mapping.Symbol.

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

	* std_syntax.scm (with-syntax): New syntax, converted from psyntax.ss.
	(syntax-object->datum, datum->syntax-object): New functions.
	* files.scm (include): New syntax, imported from psyntax.ss.
	(include-relative): New syntax.

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

	* syntax.scm (let-values): SRFI-11 implementation is in the public
	domain, so remove copyright notice.
	* syntax.scm (case-lambda): Add implementation from SRFI-16.

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

	* Makefile.am (SCM_COMPILE_FLAGS): Add--warn-undefined-variable.
	* misc.scm: Add some <boolean> return type specifiers.
	(procedure?): Simplify since Location no longer extends Procedure.

	* system.scm (command-parse): New function variable.

	* std_syntax.scm: Add a module-export declaration, making other
	declarations implicitly private.

	* std_syntax.scm (case): Use internal %let rather than public let.

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

	* misc.scm (force): Converted to Scheme from kawa.standard.force.
	* thread.scm (%make-future): Converted from kawa.standard.make_future.

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

	* misc.scm (scheme-report-environment): Function converted from Java.

	* syntax.scm (dynamic-wind): Moved from here ...
	* misc.scm: ... to here, to ensure it is defined before use.

	* ports.scm (char-read?): New function - wrapper converted from java.

2004-11-10  Per Bothner  <per@bothner.com>

	* std_syntax.scm (%lang-boolean):  New helper macro.
	(and): Rewrite to use syntax-case and %lang-boolean, so we
	can use the same macro for Common Lisp and ELisp as well as Scheme.
	(or): New syntax, patterned on 'and'.

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

	* prim_syntax.scm: New file.
	* Makefile.am: Add new file.
	* std_syntax.scm: Use %let instead of let a few places.
	* syntax.scm (defmacro): Rewrite using %define-macro.
	(try-finally, synchronized): Write in Scheme using syntax-case.
	(identifer?, free-identifier=?, define-macro): New.
	(cond-expand): Change to not use %if-feature primitive syntax,
	* system.scm (compile-file): Add missing check for errors.

2004-10-23  Per Bothner  <per@bothner.com>

	* std_syntax.scm (letrec): New syntax definition.

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

	* ports.scm (open-input-file, open-ouput-file,
	call-with-output-string):  New functions, translated from Java.
	(call-with-input-file, call-with-output-file, call-with-input-string,
	input-port?, output-port?, current-input-port, current-output-port,
	current-error-port, open-output-string):  Add type specifiers.
	* Makefile.am (java_SCM_ALWAYS):  Re-arrange to avoid forward
	references, enabling better inlining.

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

	* ports.scm (call-with-input-file, call-with-output-file):  Fix thinko
	- neither of these functions are void.

	* files.scm (%file-separator):  "inline" symbol->string to reduce
	circular dependencies - which currently precents automatic inlining.
	* reflection.scm (record-type-name):  Likewise.
	* syntax.scm (%defmacro):  Remove unused and wrong macro.

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

	* system.scm (compile-file):  New function, converted from Java.

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

	* syntax.scm (catch):  Add type declarations.  Simplify using invoke.

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

	* numbers.scm (rationalize, sqrt, exact->inexact, inexact->exact):
	New functions, transcribed from Java code in kawa.standard.

2003-11-21  Per Bothner  <per@bothner.com>

	* ports.scm (call-with-input-file):  New function.
	(call-with-output-file):  Add type declaration.

2003-11-21  Hoehle, Joerg-Cyril <Joerg-Cyril.Hoehle@t-systems.com>

	* ports.scm (call-with-output-file):  New function.

2003-11-09  Chris Dean  <Chris.Dean@sokitomi.com>

	* strings.scm (string-append, string-append/shared):  New functions.

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

	* files.scm (system-tmpdir):  Micro-optimization.

2003-09-23  Per Bothner  <per@bothner.com>

	* vectors.scm ((list->vector):  Don't hardwire in parameter type
	using primitive-constructor - since that now depends on JAVA2.

2003-08-20  Per Bothner  <per@bothner.com>

	* numbers.scm (positive?, modulo):  New functions.
	(quotient, remainder):  Generalize to <real> operands.
	Fixes Savannah bug #4867.
	(zero?, negative?):  Replace primitive-virtual-method by invoke.

2003-05-30  Per Bothner  <per@bothner.com>

	* lists.scm (car, cdr)  Use syntactic trick to give name to getter
	methods that are passed to define-procedure.
	* misc.scm (procedure-property):  Likewise.
	* ports.scm (port-line, input-port-line-number, input-port-prompter):
	Likewise.
	* vectors.scm (vector-ref):  Likewise.

	* syntax.scm (%defmacro):  Inline car, since it isn't defined until
	lists.scm, which is compiled later.

2003-04-05  Per Bothner  <per@bothner.com>

	* ports.scm (write-char):  Don't use writeSchemeObejct method.

2003-03-02  Per Bothner  <per@bothner.com>

	* misc.scm (base-uri):  New function.

2003-02-11  Per Bothner  <per@bothner.com>

	* syntax.scm (defmacro):  Move next to %defmacro.

2003-01-31  Per Bothner  <per@bothner.com>

	* thread.scm (exit):  Fix typo - statuc -> status.
	Reported by Wen-Chun Ni <wcn@tbcommerce.com>.

2002-11-15  Per Bothner  <per@bothner.com>

	* ports.scm (port-line, input-port-line-number, input-port-prompter):
	Define define-procedure, and specify setter.
	* misc.scm (procedure-property):  Likewise.
	* vectors.scm (vector-ref):  Likewise.

2002-10-14  Per Bothner  <per@bothner.com>

	* misc.scm (environment-bound?):  Fix implementation.

2002-08-14  Per Bothner  <per@bothner.com>

	* syntax.scm (add-procedure-properties):  New helper procedure.
	(define-procedure):  Split into two parts: define-constant, evaluated
	st init-time, and add-procedure-properties and module-run-time.

2002-08-04  Per Bothner  <per@bothner.com>

	* strings.scm (string-ci=?, string<?, string>?, string<=?, string>=?,
	string-ci<?, string-ci>?, string-ci<=?, string-ci>=?):  New procedures.

2002-06-25  Per Bothner  <per@bothner.com>

	* uniform.scm:  Add missing type specifiers.
	* vectors.scm:  Add missing type specifiers.

2002-06-10  Per Bothner  <per@bothner.com>

	* arrays.scm:  New file, with procedures for SRFI-25.

2002-05-17  Per Bothner  <per@bothner.com>

	* misc.scm (null-environment):  Should take a version number, according
	to R5RS.  Bug reported by Dr. M. Luedde <Mirko.Luedde@Computer.Org>.

2002-03-21  Per Bothner  <per@bothner.com>

	* lists.scm (memq, memv, member, assq, assv, assoc): New procedures.

	* syntax.scm (cond-expand):  New syntax, from srfi-0.

	* syntax.scm (receive):  New syntax, from srfi-8.

2001-11-12  Per Bothner  <per@bothner.com>

	* ports.scm (current-input-port):  New procedure.

2001-11-05  Per Bothner  <per@bothner.com>

	* files.scm, keywords.scm, lists.scm, misc.scm, numbers.scm, ports.scm,
	reflection.scm:  Various updates to avoid using <String> in conjunction
	with a primite-xxx-mmethod macro, which can cause some confusion.
	Mostly use invoke, invoke-static, or make, plus more type declarations.

2001-11-05  Per Bothner  <per@bothner.com>

	* syntax.scm:  Add Lars T Hansen's implementation of let-values
	and let*values.  [srfi-11]

Weiqi Gao <weiqigao@networkusa.net>

	* ports.scm (set-input-port-line-number!):  Fix typo.

2001-08-30  Per Bothner  <per@bothner.com>

	* reflection.scm (record-type-name):  Assume reversible mangling.

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

	* syntax.scm (this):  Remove - now implemented by thisRef class.

2001-08-17  Per Bothner  <per@bothner.com>

	*  reflection.scm (record-type-name):  Update demangleName's class.

2001-07-17  Per Bothner  <per@bothner.com>

	* windows.scm:  New file, only compiled if --with-awt.
	misc.scm (scheme-window):  Moved to windows.scm.
	* Makefile.am:  Compile windows.scm, but only when --with-awt.

2001-06-17  Per Bothner  <per@bothner.com>

	* misc.scm (procedure?):  Return #f if a Binding (CLisp symbol).

2001-06-03  Per Bothner  <per@bothner.com>

	* thread.scm (exit): Call OutPort.runCleanups.

	* ports.scm (write, display):  No longer written in Scheme - boo-hoo.

2001-03-23  Per Bothner  <per@bothner.com>

	* Makefile.am:  Tweaks to work around missing automake support.

2001-03-09  Per Bothner  <per@bothner.com>

	* strings.scm:  Add lots of type declarations, mostly for return type.

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

	* lists.scm (list-tail, list-ref, list?):  New procedures.
	* numbers.scm (exact?, inexact?, number->string):  New procedures.
	* ports.scm (open-input-string, call-with-input-string):  Re-written,
	since strings no longer implement open method.
	* strings.scm (string->list, list->string):  New procedures.
	* vectors.scm (vector):  New procedure.
	* uniform,scm, vectors.scm, strings.scm:  Various updates due to
	change to using new gnu.lists package.

2000-12-13  Per Bothner  <per@bothner.com>

	* lists.scm (reverse, reverse!):  New procedures.

2000-12-09  Per Bothner  <per@bothner.com>

	* lists.scm:  Add return type specifiers.
	* syntax.scm (error):  Move from here ...
	* misc.scm (error):  ... to here to solve some order dependencies.

2000-10-13  Per Bothner  <per@bothner.com>

	* misc.scm (make-procedure):  Replaced by kawa.standard.MakeProcedure.
	* syntax.scm (define-procedure):  Quote the name.
	* lists.scm, numbers.scm:  Make module static.
	* lists.scm (car, cdr):  New procedures.
	* emacs.scm:  Removed; subsumed by code in gnu/jemacs.
	* Makefile.am (java_SCM):  Make syntax.scm before lists.scm, since
	the latter uses define-procedure.

2000-10-12  Per Bothner  <per@bothner.com>

	* numbers.scm:  Add (new-style) type specifiers.
	Replace some ((primitive-virtual-method ...)) by (invoke ...).
	(floor, ceiling, truncate, round, arithmetic-shift):  New procedures.

2000-06-19  Per Bothner  <per@bothner.com>

	* characters.scm (char=?, char<?, char>?, char<=?, char>=?,
	char-ci=?, char-ci<?, char-ci>?, char-ci<=?, char-ci>=?):
	New procedures.

2000-06-18  Per Bothner  <per@bothner.com>

	* misc.scm (make-procedure):  Call make, not make$.

2000-06-09  Per Bothner  <per@bothner.com>

	* quantities.scm:  Removed, as define-unit now has its own class.
	* Makefile.am (java_SCM):  Update accordingly.

	* misc.scm (make-procedure):  New procedures.
	(procedure-property, set-procedure-property!):  New procedures.
	* syntax.scm (define-procedure):  New syntax.

2000-05-28  Per Bothner  <per@bothner.com>

	* trace.scm (%do-trace):  Fix typo.

	* Makefile.am (JAVACFLAGS):  Add --module-static flag.

	* trace.scm (%do-trace):  Incorrect primitive-static-method replaced
	by invoke-static.

2000-04-17  Per Bothner  <per@bothner.com>

	* strings.scm: Use invoke/invoke-static more.
	Generalize many procedures to work on <abstract-string>.

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

	* reflection.scm (record-type-name):  Use Scheme's demangleName.
	Use invoke-static and invoke instead of primitive-virtual-method.

2000-03-12  Per Bothner  <per@bothner.com>

	* ports.scm (write, display, write-char):  Added procedures.

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

	* syntax.scm (this):  New macro.

2000-02-01  Per Bothner  <per@bothner.com>

	* misc.scm (null-environment):  Update field name used.

	* numbers.scm (logtest):  Add missing arguments.
	
	* std_syntax.scm (and):  Re-structure to make it easier to generate
	better code (by leveraging off ConditionalTarget).

2000-01-24  Per Bothner  <per@bothner.com>

	* numbers.scm (lognot, logop, logbit?, bit-extract, logtest, logcount,
	integer-length):  New functions;  replace classes in kawa.standard.
	* misc.scm (null-environment, interaction-environment):  Likewise.
	* lists.scm (cons):  New procedure, replaces kawa/standard/cons.java.
	* vectors.scm (vector):  New procedure, replaces
 	kawa/standard/vector_v.java.

	* numbers.scm (asin): New procedure, replaces kawa/standard/asin.java.
	(acos): New procedure, replaces kawa/standard/acos.java.
	* ports.scm (close-in-port):  New procedure, replaces
 	kawa/standard/close_input_port.java.
	* vectors.scm (vector-fill!):  New procedure, replaces
 	kawa/standard/vector_fill_b.java.
 	(make-vector):  New procedure, replaces kawa/standard/make_vector.java.

	* reflection.scm:  Update class names for kawa.lang.Prim* classes
	moved to gnu.kawa.reflect.

2000-01-23  Per Bothner  <per@bothner.com>

	* misc.scm (values):  New procedure.

	* files.scm (create-directory):  Style fix.

	* strings.scm (make-string):  Declare count to be <int>.

	* syntax.scm (defmacro):  Add missing begin (because syntax-case
	takes `[fender] form' rather than `form ..').

1999-12-27  Per Bothner  <per@bothner.com>

	* files.scm (*temp-file-number*):  Define using (new) define-private.

1999-12-10  Per Bothner  <per@bothner.com>

	* uniform.scm:  New file.  Implements SRFI-4.
	* lists.scm (length):  New procedure.

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

	* vectors.scm (vector-length):  Use new `::' type-specification syntax.
	* system.scm (tokenize-string-using-shell):  Add type specification.

1999-11-15  Per Bothner  <per@bothner.com>

	* ports.scm (open-output-string, get-output-string):  New procedures.
	* characters.scm, vectors.scm:  Use invoke and invoke-static.
	* strings.scm (make-string):  Use (make <string> ...).

1999-10-25  Per Bothner  <per@bothner.com>

	* kawa/lib/ports.scm (open-input-string):  New procedure. 
	* kawa/lib/thread.scm (future):  Fix typo:  delay -> future.

1999-09-10  Per Bothner  <per@bothner.com>

	* files.scm (*temp-file-number*):  Revert to non-private, until we
	work out handling of private non-static variables.
	* emacs.scm:  Update gnu.elisp.* to gnu.jemacs.lang.*.

1999-09-08  Per Bothner  <per@bothner.com>

	* ports.scm (transcript-on):  Use <String> as parameter type,
	rather than <java.lang.String>, so we get the desired conversion.
	* vectors.scm:  Extra whitespace for more discriminating line numbers.

1999-09-05  Per Bothner  <per@bothner.com>

	* files.scm (*temp-file-number*):  Make private.

1999-08-22  Per Bothner  <per@bothner.com>

	* emacs.scm (boundp):  New function.
	* numbers.scm (sin, cos, tan):  Re-write to use invoke-static.
	* syntax.scm (defmacro):  Re-write to use Defmacro.

1999-08-06  Per Bothner  <per@bothner.com>

	* characters.scm, numbers.scm, strings.scm, vectors.scm:  Add many
 	specifications of parameter types for better error messages.

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

	* Makefile.am, Makefile.in (list-sources):  New rule.

1999-07-19  Per Bothner  <per@bothner.com>

	* trace.scm:  New file.
	* files.scm (system-tmpdir, make-temporary-file):  New procedures.
	* Makefile.am, Makefile.in (java_SCM):  Add trace.scm.

1999-04-22  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* reflection.scm (subtype?):  New procedure.
	* std_syntax.scm (%let-lambda1, %et-init):  Handle :: TYPE specifier.
	(do):  Handle type specifier - but only for one variable.

Wed Apr  7 23:37:10 1999  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* syntax.scm (fluid-let):  Remove; replaced by kawa.standard.fluid_let.

Sun Mar 21 18:14:09 1999  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* emacs.scm:  New, merged from ../../gnu/elisp/streams.scm.
	* Makefile.am (java_SCM):  Add emacs.scm.

Sun Mar  7 17:18:57 1999  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* std_syntax.scm (let):  Handle type specifier for named let.
	(let*):  Generalize to handle named type specifiers.
	(delay):  Promise thunk is now Procedure instead of Proceure0.

Tue Feb  9 11:31:16 1999  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* numbers.scm (sin, cos, tan):  New procedures.
	* misc.scm (symbol->string, string->symbol):  New procedures.

Tue Oct  6 11:24:17 1998  Edouard Parmelan <EP510777@exchange.FRANCE.NCR.com>

	* ports.scm: TtyInPort and Procedure classes move from package
	kawa.lang to gnu.mapping.

Fri Sep 11 22:30:25 1998  Per Bothner  <bothner@cygnus.com>

	* strings.scm (string-ref, string-set!):  Added.
	(substring, string-fill!):  Declare some parameter and result types.
	* vectors.scm (vector-ref, vector-set!):  Declare parameter types.
	* lists.scm (set-car!, set-cdr!):  Added.

1998-08-28  Per Bothner  <bothner@cygnus.com>

	* std_syntax.scm (do):  Use "magic" identifier.
	* syntax.scm (location):  Removed - now in ../standard.

Tue Jul 28 08:31:51 1998  Per Bothner  <bothner@cygnus.com>

	* syntax.scm (location):  New partial implementation.

Wed Jul 22 18:05:23 1998  Per Bothner  <bothner@cygnus.com>

	* characters.scm (char-alphabetic?):  New function.
	* keywords.scm (keyword->string):  Rewrite to not use removed method.
	* misc.scm (boolean? symbol?, procedure?):  New functions.
	* lists.scm:  New file.
	* Makefile.am (java_SCM):  Add lists.scm.
	* numbers.scm (negative?, odd?, even?):  New functions.
	* ports.scm (current-input-port, current-output-port,
	close-output-port port):  New procedures.
	* std_syntax.scm (%make-promise):  New procedure.
	* strings.scm (string=?):  New function.
	* syntax.scm, others:  Update for classes moved from kawa.lang to gnu.
	* reflection.scm:  Fix inconsistent macro names.
	Reported by William J. Edney (bedney@firstsoft.com).

Mon Jun 29 11:27:16 1998  Per Bothner  <bothner@cygnus.com>

	* ports.scm:  Update for LineBufferedReader moved to gnu.text.
	* strings.scm (string-upcase!, string-downcase!, string-capitalize!,
	string-upcase, string-downcase, and string-capitalize):  New
	Slib-compatible functions.
	(string-copy!):  Fix typo - should be string-copy.

Thu May 21 23:55:14 1998  Per Bothner  <bothner@cygnus.com>

	* characters.scm:  Use <TYPE> rather than "TYPE" specifications.

	* reflection.scm:  A Record Type Descriptor is now a ClassType,
	rather than a Class.

	* syntax.scm (defmacro):  Inline call to %defmacro.

Tue Apr 28 21:53:13 1998  Per Bothner  <bothner@cygnus.com>

	* ports.scm (port-line, port-column): Make port argument required.

Sat Apr  4 21:10:56 1998  Per Bothner  <bothner@cygnus.com>

	* misc.scm (scheme-implementation-version):  Re-implement to use
	kawa.Version.getVersion, instead of Makefile magic.
	* port.scm (port-line, port-column, set-port-line!):  New.
	* std_syntax.scm (and):  New syntax (taken from R5RS).
	* Makefile.am:  Re-write to compile all out-of-date *.java at once.

Tue Mar 10 22:05:31 1998  Per Bothner  <bothner@cygnus.com>

	* reflection:  Use constant-fold.  Use <String> instead of <symbol>.
	* system.scm:  New procedures.
	* Makefile.am, Makefile.in:  Add system.class.

Tue Mar  3 17:49:13 1998  Per Bothner  <bothner@cygnus.com>

	* reflection.scm (primitive-array-get, primitive-array-set,
	primitive-array-new, primitive-array-length,
	primitive-get-field, primitive-set-field, primitive-get-static,
	primitive-set-static):  New procedures.

Wed Feb 18 22:14:57 1998  Per Bothner  <bothner@cygnus.com>

	* ports.scm (input-port-column-number):  Fix parenthesis error.

Mon Feb 16 17:15:21 1998  Per Bothner  <bothner@cygnus.com>

	* ports.scm (input-port?, output-port?, call-with-input-string):
	These are now here, written in Scheme.
	* Makefile.am, Makefile.in (SECONDARY_OBJS): Update for new procedures.

Fri Feb  6 17:24:02 1998  Per Bothner  <bothner@cygnus.com>

	* misc.scm (scheme-window):  New procedure.
	* Makefile.am, Makefile.in:  Update.

Tue Feb  3 16:41:25 1998  Per Bothner  <bothner@cygnus.com>

	* numbers.scm:  New file with lots of procedures.
	* characters.scm (char?):  New procedure.
	* vectors.scm (vector?):  New procedure.
	* Makefile.am, makefile.in:  Update for new classes.

Tue Jan 27 11:22:08 1998  Per Bothner  <bothner@cygnus.com>

	* port.scm, syntax.scm:  Use <TYPENAME> in place of "TYPENAME".
	* syntax.scm (catch, error):  New procedures.
	* Makefile.am (SECONDARY_OBJS):  Update for new procedures.

Wed Jan 21 12:34:12 1998  Per Bothner  <bothner@cygnus.com>

	* Makefile.am, Makefile.in (SECONDARY_OBJS):  Adding missing strings
	classes strings$$string__copy_B and strings$$string__fill_B.

Mon Jan 19 16:05:29 1998  Per Bothner  <bothner@cygnus.com>

	* files.scm (copy-file):  New procedure.
	* ports.scm (input-port-read-state):  New procedure.
	(default-prompter):  Use input-port-read-state.
	* Makefile.am, Makefile.in:  Update for new procedures.

Sun Dec 14 16:53:58 1997  Per Bothner  <bothner@cygnus.com>

	* syntax.scm (dynamic-wind):  New procedure.
	(fluid-let):  New syntax.

Sat Nov  1 23:26:45 1997  Per Bothner  <bothner@cygnus.com>

	* misc.scm (scheme-implementation-version):  New procedure.
	* Makefile.am (misc.class):  New rule to pass VERSION.
	Also now always include reflection.class, and remove OBJ_1_1 stuff.

Fri Sep 26 23:43:16 1997  Per Bothner  <bothner@cygnus.com>

	* ports.scm (transcript-on, transcript-off):  Use new static
	methods of OutPort.
	* strings.scm (substring, string-copy!, string-fill!):  New.
	* misc.scm, syntax.scm:  Use logical types (e.g. <symbol>).
	* Makefile.am:  Adding missing doubling of '$'.

Mon Jun 23 22:48:37 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* misc.scm:  New file.
	* *.scm:  Update to (mostly) use <>-type type specifications.
	* ports.scm:  New functions default-prompter, input-port-prompter,
	set-input-port-prompter!, transcript-on, transcript-off,
	input-port-line-number, set-input-port-line-number!,
	input-port-column-number.
	* Makefile.am, Makefile.in:  Update.

Mon May 26 12:34:29 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* files.scm:  New file.
	* Makefile.{am,in}:  Update for new file.

Tue Apr  1 23:11:06 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* Makefile.am (SECONDARY_OBJS, MISC_1_1):  Use new mangling.
	* Makefile.in:  Re-generate - requires patched automake.

Mon Mar 31 17:06:25 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* quantities.scm: Update kawa.math -> gnu.math various places.

Tue Mar 25 15:35:36 1997  Per Bothner  <bothner@kalessin.cygnus.com>

	* when_unless.scm -> syntax.scm:  Rename.
	Add gentemp and defmacro.
	* Makefile.am:  Update.

Tue Mar 18 14:05:13 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* keywords.scm (keyword->string):  Primitive is virtual, not static.

Mon Mar 17 21:35:10 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* keywords.scm, port.scm, strings.scm:  New files.
	* reflection.scm:  New file - uses JDK 1.1 java.lang.reflect.Field.
	* quantities.scm, std_syntax.scm:  Use #!void.
	* thread.scm:  Add exit.
	* Makefile.am, Makefile.in:  Update for new functions.

Sat Mar  8 11:18:51 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* quantities.scm:  New file.  Define define-unit.
	* Makefile.{am,in}:  Update.

Mon Feb  3 17:36:41 1997  Per Bothner  <bothner@kalessin.cygnus.com>

	* characters.scm, vectors.scm:  New files.
	* Makefile.am: Update.  Use new $KAWA.

Mon Jan 20 16:45:20 1997  Per Bothner  <bothner@kalessin.cygnus.com>

	* std_syntax.scm (do):  Handle sequence of exit commands.
	* thread.scm:  new file, defines future syntax.
	* Makefile.am, Makefile.in:  Add thread.class.

Mon Jan  6 23:43:50 1997  Per Bothner  <bothner@deneb.cygnus.com>

	* std_syntax.scm (cond):  Fix typo .... -> ... .
	Reported by Harold Carr <carr@Eng.Sun.COM>.

Fri Dec 13 17:02:37 1996  Per Bothner  <bothner@deneb.cygnus.com>

	* Makefile.{am.in} (JAVA):  Separate out new JAVAFLAGS macro.

Tue Oct 22 23:20:40 1996  Per Bothner  <bothner@deneb.cygnus.com>

	* {case,cond,delay,let}.scm:  Removed, merged to std_syntax.
	* std_syntax.scm:  New file, contains old macros and let*.
	* Makefile.{am,in}:  Update accordingly.

Sun Sep  8 21:04:30 1996  Per Bothner  <bothner@deneb.cygnus.com>

	* case.scm, cond.scm, delay.scm, let.scm:  New macros.
	* Makefile.{am,in}:  Add new classes.
	(JAVA, JAVAC):  Fix -classpath argument.
	(DIST_COMMON):  Add ChangeLog.	

Tue Sep  3 22:11:58 1996  Per Bothner  <bothner@deneb.cygnus.com>

	* do.scm:  New file - implement do macro.
	* when_unless.scm:  Implement (non-standard) when and unless.
	* Makefile.{am,in}:  New file.
