theme-d (3.1.2) unstable; urgency=medium

  * Allow specifying the default duplicate binding handler.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 15 Dec 2020 09:44:49 +0200

theme-d (3.1.1) unstable; urgency=medium

  * Fixed a bug with linking split programs.
  * Fixed a bug with unit expansion.
  * Improved the uninstalled environment.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 03 Dec 2020 08:38:28 +0200

theme-d (3.1.0) unstable; urgency=medium

  * Implemented friend modules.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 15 Nov 2020 18:28:10 +0200

theme-d (3.0.5) unstable; urgency=medium

  * Closed bug #934469.
  * Added dependency to files.tci for file console-io.tci in
    theme-d-code/standard-library/Makefile.am.
  * Fixed the Racket runtime environment.
  * Fixed some bugs in the macro system.
  * Optimized gen-car and gen-cdr.
  * Fixed the documentation of generic procedure equal?.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 23 Sep 2020 16:03:46 +0300

theme-d (3.0.4) unstable; urgency=medium

  * Fixed a bug with quasiquote.
  * Fixed procedure name introspection.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 21 Jun 2020 12:01:50 +0300

theme-d (3.0.3) unstable; urgency=medium

  * Fixed a bug in the type system: <none> no longer inherits from <object>.
  * Fixed a bug with @.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 02 Jun 2020 07:26:01 +0300

theme-d (3.0.2) unstable; urgency=medium

  * Added a missing = method.
  * Fixed some error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 27 May 2020 06:24:58 +0300

theme-d (3.0.1) unstable; urgency=medium

  * Fixed a bug in type deduction.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 20 May 2020 07:22:00 +0300

theme-d (3.0.0) unstable; urgency=medium

  * Support for Guile 3.0.
  * Guile 2.0 support no longer maintained.
  * Allow splitting linker target.
  * Updated handling introspection data in the linker.
  * Redefined target platforms.
  * New macro iterate-list.
  * Compile th-scheme-utilities to Guile bytecode.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 14 May 2020 13:57:04 +0300

theme-d (2.1.1) unstable; urgency=medium

  * Fixed a bug with forward declared classes.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 26 Mar 2020 16:10:24 +0200

theme-d (2.1.0) unstable; urgency=medium

  * Fixed a bug with void generic procedures.
  * Inline constructors for classes whose superclass contains no fields.
  * Better support for using the software without installing it.
  * Implemented bytevectors and binary files in the standard library.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 22 Mar 2020 11:46:23 +0200

theme-d (2.0.0) unstable; urgency=medium

  * New syntax for classes.
  * Improved constructors.
  * Created class <source-expr> for the values returned by procedure read.
  * Moved example program creators.thp to test769.thp and param-creators.thp to test770.thp.
  * Added example programs objects1.thp and objects2.thp.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 08 Mar 2020 12:45:58 +0200

theme-d (1.4.1) unstable; urgency=medium

  * Fixed a bug in the Standard Library Reference.
  * Use the underlying Guile implementation for EOF objects.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 27 Jan 2020 08:12:16 +0200

theme-d (1.4.0) unstable; urgency=medium

  * Moved call/cc, exec/cc, and guard to the standard library.
  * Split the core module.
  * Allow a nonreturning expression to be casted statically to any type.
  * Optimized the internal representation of nonatomic constants.
  * Fixed a bug with intermediate language scheme-no-opt.
  * Done some cleaning with the source code.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 04 Aug 2019 15:44:57 +0300

theme-d (1.3.1) unstable; urgency=medium

  * Corrected bugs with generic procedures.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 25 Jun 2019 11:45:11 +0300

theme-d (1.3.0) unstable; urgency=medium

  * Support for Racket as the target platform.
  * Fixed a bug with procedure string-match.
  * Allow field names to overlap with variable names.
  * New implementation for hash tables.
  * Changed the runtime environment to use modules.
  * Programs written in Theme-D can be run without the Theme-D configuration file.
  * Renamed a-list to alist in the standard library.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 17 May 2019 12:54:55 +0300

theme-d (1.2.0) unstable; urgency=medium

  * Fixed and redesigned text file I/O
  * Fixed bugs with optimized equality predicates
  * Changed the implementation of static methods
  * Optimized predicate equal? for primitive types

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 15 Apr 2019 15:21:23 +0300

theme-d (1.1.17) unstable; urgency=medium

  * Fixed a bug with toplevel mutable variables
  * Fixed procedure class macro expansion
  * Fixed assertion error messages
  * Renamed <nil> to <null> in the runtime environment

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 18 Mar 2019 08:15:58 +0200

theme-d (1.1.16) unstable; urgency=medium

  * Fixed bugs with generic procedure dispatch.
  * Fixed module linkage order.
  * Fixed a bug with constructors.
  * Allowed list constants in interfaces.
  * Implemented procedure call stack output for intermediate language Scheme.
  * Removed vector constants from the core forms source code.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sat, 09 Mar 2019 14:35:05 +0200

theme-d (1.1.15) unstable; urgency=medium

  * Corrected a bug with let expressions.
  * Corrected bugs with special procedure type dispatch.
  * Improved some error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 24 Jan 2019 12:43:37 +0200

theme-d (1.1.14) unstable; urgency=medium

  * Changed Debian revision in the User Guide to a symbol.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 18 Dec 2018 06:29:44 +0200

theme-d (1.1.13) unstable; urgency=medium

  * Corrected a bug with match-type-strong.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sat, 08 Dec 2018 15:10:20 +0200

theme-d (1.1.12) unstable; urgency=medium

  * Corrected bugs with Guile 2.2 Tree-IL.
  * Install custom1.scm and custom2.scm instead of the .go files.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 06 Dec 2018 10:32:45 +0200

theme-d (1.1.11) unstable; urgency=medium

  * Updated the documentation.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 04 Nov 2018 12:35:11 +0200

theme-d (1.1.10) unstable; urgency=medium

  * Corrected a bug with custom primitive classes.
  * Allowed logical types in mutable forward declarations.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 29 Oct 2018 19:49:11 +0200

theme-d (1.1.9) unstable; urgency=medium

  * Updated the documentation.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 26 Oct 2018 16:19:11 +0300

theme-d (1.1.8) unstable; urgency=medium

  * Updated the documentation.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 24 Oct 2018 15:31:13 +0300

theme-d (1.1.7) unstable; urgency=medium

  * Changed the installation directories.
  * Implemented script get-theme-d-config-var.
  * Moved doc/copyright to COPYING and doc/ChangeLog to ChangeLog.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 08 Oct 2018 08:09:59 +0300

theme-d (1.1.6) unstable; urgency=medium

  * Reorganized the code to be distributed in Debian.
  * Improved some error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 05 Oct 2018 07:52:43 +0300

theme-d (1.1.5) unstable; urgency=medium

  * Added generic procedure = for testing numerical equality.
  * Removed equal? predicates between different numerical classes.
  * Changed exception handling in the standard library and the runtime environment.
  * Added procedure raw-exit into the standard library.
  * Prevent inheriting Theme-D classes from GOOPS classes.
  * The program name is now the first command line argument.
  * Corrected a bug in the difference between a diagonal matrix and a matrix.
  * Changed the syntax of the guard-general form.
  * Added correct output of the test programs.
  * Optimized runtime GOOPS class handling.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 25 Sep 2018 14:10:32 +0300

theme-d (1.1.4) unstable; urgency=medium

  * Corrected a bug with equality predicates and parametrized classes in the runtime environment.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 16 Sep 2018 15:01:31 +0300

theme-d (1.1.3) unstable; urgency=medium

  * Corrected bugs with equality predicate optimization.
  * Corrected a bug with reexporting macros.
  * Corrected a bug with type-loop.
  * Added procedures member-values? and assoc-values into the standard library.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 14 Sep 2018 15:51:22 +0300

theme-d (1.1.2) unstable; urgency=medium

  * Corrected a bug with line numbering in error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 23 Aug 2018 12:15:37 +0300

theme-d (1.1.1) bionic; urgency=medium

  * Corrected a bug with letrec.
  * Updated doc/theme-d-translator-types.pdf.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 24 Jun 2018 11:54:39 +0300

theme-d (1.1.0) bionic; urgency=medium

  * Support for both guile-2.2 and guile-2.0.
  * Optimized procedures is-integer?, is-real? , r-floor, r-truncate, r-floor, and r-ceiling.
  * Added procedure factorial to the core module.
  * Compute exact values for log2, log10, tgamma, and lgamma.
  * Prevent stripping of class <scheme-condition> in the core module.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 27 May 2018 08:59:29 +0300

theme-d (1.0.12) trusty; urgency=medium

  * Implemented numeric tower and rational numbers in the standard library.
  * Rewrote the generic math procedures.
  * Optimized real math procedures.
  * Implemented interface for many standard C and POSIX C math functions.
  * Added dependency to library libthemedsupport.
  * Corrected a bug in procedure c-acos.
  * Implemented equal? as a generic procedure.
  * Corrected a bug with definition of declared methods.
  * Implemented bitwise arithmetic in the standard library.
  * Added procedures r-round, r-truncate, r-floor, r-ceiling, i-nonneg-expt,
    r-nonneg-int-expt, r-int-expt, gcd, i-sign, r-sign,
    make-numerical-overflow, raise-numerical-overflow, nan, inf, and neg-inf
    into the core module.
  * Optimized field references.
  * Load custom files from compiled files instead of source files.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 21 May 2018 12:39:39 +0300

theme-d (1.0.11) trusty; urgency=medium

  * Added a missing type check for definitions of declared variables.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 08 May 2018 13:37:20 +0300

theme-d (1.0.10) trusty; urgency=medium

  * Corrected a bug with cloning singletons.
  * Changed exception handling in i/o and math procedures.
  * Corrected expression output in compiler error messages.
  * Corrected line numbering in compiler error messages.
  * Changed macro syntax violation messages.
  * Check that prelink-body is not used in interfaces.
  * Delete the target .go file if linker fails.
  * Corrected a bug with force-pure-expr.
  * Optimized cast-x-vector procedures in case the original element type is
    a subtype of the new element-type.
  * Corrected a bug with opening output files in the translator.
  * Added procedures nan?, infinite?, and finite? into the standard library.
  * Added procedures hash-exists? and hash-remove! into the standard library.
  * Changed procedure hash-ref to take the default value as an argument.
  * Added procedure delete-file into the standard library.
  * Allow nonlist toplevel expressions.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sat, 05 May 2018 14:58:33 +0300

theme-d (1.0.9) trusty; urgency=medium

  * Corrected bugs with signatures as procedure call argument types.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 23 Mar 2018 09:34:45 +0200

theme-d (1.0.8) trusty; urgency=medium

  * Implemented keyword static-cast.
  * Check the illegal use of keywords.
  * Corrected the error message with an unbound variable in set!.
  * Corrected a bug in library procedure or-map?.
  * Added library procedures and-map-nonpure?, and-map-nonpure1?,
    or-map-nonpure?, or-map-nonpure1?, a-list-delete, filter,
    distinct-elements?, and string-char-index-right.
  * Added declarations of procedures map-car and map-cdr into core.thi.
  * Added parametrized type :nonempty-a-list into core.thi.
  * Moved module singleton from examples into the standard library.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 08 Mar 2018 13:21:43 +0200

theme-d (1.0.7) trusty; urgency=medium

  * Corrected a bug in the type system. Test program test612.thp works now.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 01 Mar 2018 13:28:54 +0200

theme-d (1.0.6) trusty; urgency=medium

  * Allow toplevel statements and procedure calls in programs and module bodies.
  * New keyword prelink-body to allow calling procedures in toplevel statements.
  * Handle unspecified values with forward declarations and letrec expressions.
  * Use SRFI-72 based implementation for the macro system.
  * Form identifier-syntax and limited syntax-case support.
  * Allow a module reference as the first argument of set!.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 07 Nov 2017 15:27:00 +0200

theme-d (1.0.5) trusty; urgency=medium

  * Corrected equivalence predicate optimization.
  * Corrected bugs in vector typecasts.
  * Check illegal non-toplevel expressions.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 13 Sep 2017 12:17:08 +0300

theme-d (1.0.4) trusty; urgency=medium

  * Corrected a bug with parametrized procedure result type checking.
  * User defined Theme-D procedures are now visible in runtime backtrace.
  * Pretty printed runtime backtraces.
  * Print type information with runtime error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Wed, 16 Aug 2017 15:29:45 +0300

theme-d (1.0.3) trusty; urgency=medium

  * Corrected the eq-by-value? flag of pair classes to #t.
  * Corrected a bug with <none> type.
  * Optimized procedure calls.
  * Optimized the equality predicates.
  * Optimized checking primitive classes in match-type and is-instance?.
  * Redesigned assoc and member? procedures in order to invoke the equality
    predicate optimization.
  * Improved linker error messages with procedure typing errors.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sat, 05 Aug 2017 16:40:39 +0300

theme-d (1.0.2) trusty; urgency=medium

  * Better error messages.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 23 Jul 2017 17:50:53 +0300

theme-d (1.0.1) trusty; urgency=medium

  * Simple and parametrized procedures can be used in signatures.
  * Corrected a bug with type checking simple procedure calls
    inside parametrized procedures.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 17 Jul 2017 16:16:27 +0300

theme-d (1.0.0) trusty; urgency=medium

  * Support Tree-IL as intermediate language.
  * New keywords "use" and "@": Modules can be used without importing
    their contents into the global namespace.
  * Corrected a bug with variable argument lists.
  * Corrected a bug with param-proc-dispatch.
  * Corrected a bug with field-set! inside parametrized procedures.
  * Procedure apply works with parametrized procedures.
  * Corrected type deduction algorithm in case a deduced value of a type
    variable contains other type variables.
  * Keywords make and constructor can be used with pair classes.
  * Forms "and" and "or" are implemented as macros.
  * Compatible with th-scheme-utilities version 1.3.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 16 Jul 2017 09:16:20 +0300

theme-d (0.9.10) trusty; urgency=medium

  * Use guile objcode as the default target platform.
  * Shorter target variable names.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 04 Jul 2017 08:18:44 +0300

theme-d (0.9.9.1) trusty; urgency=medium

  * Implemented nonpure iterators.
  * Allowed <none> as a type parameter.
  * Changed the current value of a stream to be evaluated lazily.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 19 Sep 2016 12:49:25 +0300

theme-d (0.9.9) trusty; urgency=medium

  * Corrected several bugs related to parametrized procedures.
  * Corrected a bug in the runtime Theme-D environment.
  * Implemented purely functional iterators.
  * Added option --verbose-errors to the compiler and the linker.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Mon, 12 Sep 2016 16:03:07 +0300

theme-d (0.9.8) trusty; urgency=medium

  * Implemented streams in the standard library.
  * Improved error messages in parametrized procedure instantiation.
  * Install compiled files.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 04 Sep 2016 12:07:27 +0300

theme-d (0.9.7) trusty; urgency=medium

  * Corrected a bug with parametrized types (test434 did not compile).
  * Object factorization works again.
  * Optimized quoted list constants.
  * New keyword static-type-of.
  * New keywords lambda-automatic and param-lambda-automatic that deduce
    the result type from the body expression.
  * Implemented volatile variables that can be changed by pure procedures.
  * Implemented object conditionals that accept any nonfalse object as
    true value.
  * Implemented delayed evaluation (delay and force) into the
    standard library.
  * Implemented some new procedures in module text-file-io.
  * Reorganized the language manual and the standard library reference.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 01 Sep 2016 17:21:44 +0300

theme-d (0.9.6) unstable; urgency=medium

  * Optimized match-type.
  * Rewrote the core list handling procedures to invoke the match-type
    optimization.
  * Optimized parametrized primitive procedures as ordinary parametrized
    procedures are done.
  * Corrected bugs in psyntax-external.scm.
  * Made detect-cycles faster for lists.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 23 Aug 2016 11:00:00 +0200

theme-d (0.9.5) unstable; urgency=medium

  * Corrected a bug with set!.
  * Allowed <none> as type parameter.
  * Procedure apply-without-result is deprecated as it is no longer needed.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sun, 31 Jul 2016 16:00:00 +0200

theme-d (0.9.4) unstable; urgency=medium

  * Implemented a hygienic and lexically scoped macro system.
  * Added keyword force-pure-expr.
  * Added procedure peek-character into module text-file-io.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Tue, 26 Jul 2016 17:30:00 +0200

theme-d (0.9.3) unstable; urgency=medium

  * Improved the explicit generic procedure dispatch.
  * Simplified the foreign class interface.
  * Corrected an error in the module system.
  * Correction to mutable variable declarations.
  * Corrected an error with method variable argument lists.
  * Corrected a bug with param-proc-instance.
  * Corrected the subtype checking algorithm for union types.
  * A declared value can be used as a value of a constant.
  * Type of a match-type expression may be <object> in some cases
    even though an else part is not present.
  * Implemented some list and string handling procedures into the
    standard library.
  * Better error messages for identical or noncovariant methods and
    erroneous parametrized procedure instantiations.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Fri, 1 Jul 2016 11:05:00 +0200

theme-d (0.9.2) unstable; urgency=medium

  * Initial debianized package.

 -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Sat, 11 Jun 2016 13:50:00 +0200

