# Revision history for Inline::SLang

--
version: 0.06
date:    Thu Apr  3 22:36:54 EST 2003
changes:
 - big improvement in amount of S-Lang scalar types that can be converted
   to Perl (and vice versa). If a S-Lang type is not recognised then
   it is converted into an Inline::SLang::XXX object, where XXX matches
   the S-Lang type. These objects do not do much in Perl, but will
   convert back to the S-Lang type. Types handled like this are
     Ref_Type (removes hacky handling of this type 0.05); Any_Type; and
     any module-defined types
 - named/type-deffed structures - ie those created via 'typedef struct ...'
   - are now handled as Inline::SLang::XXX objects, where XXX is
   the S-Lang type name. These objects are sub-classes of the
   Inline::SLang::Struct_type class.
 - Inline::SLang::DataType_Type->new() now verifies that the type is
   recognised by S-Lang. This means that type synonyms (eg 'Int_Type'
   for 'Integer_Type' are recognised and converted to the 'base' type),
   but it does mean that unrecognised values result in several lines of
   S-Lang error messages being printed to STDERR. This could be stopped
   by installing an error hook, but that's for later.

 - fixed BIND_NS => "All"
 - added examples/ directory (not too different from those in the tests
   and in the Inline::SLang::Types documentation)

Note that in the next release the class names for objects will be
shortened from Inline::SLang::Foo_Type to Foo_Type.

--
version: 0.05
date:    Fri Mar 14 11:57:31 EST 2003
changes:
 - Removed the namespace tests (t/20bind_foo|many.t) if S-Lang version is
   less than 1.4.3. This should remove the CPAN testing failure.
   If you wish to use the BIND_NS option then make sure you have at least
   this version of S-Lang (you gain further benefits if you upgrade to
   at least v1.4.7).
 - Can specify the Perl package name for each S-Lang namespace to be bound
   to (by specifying "foo=bar" in the BIND_NS config option to get S-Lang
   namespace "foo" to be bound to the "bar" Perl package). I can't actually
   think of a need for this.
 - BIND_NS = "All" will bind all namespaces without having to specify them
   individually (only available if you use v1.4.7 or higher of S-Lang)
 - Added the BIND_SLFUNCS option to allow binding of selected S-Lang
   intrinsic functions. We allow these functions to use a different function
   name in Perl to that in S-Lang (specified as "slang_name=perl_name").
 - The output of 'perl -MInline=info' has been updated to account for the
   inproved binding schemes.

 - added support for Ref_Type (both from and to S-Lang) variables (scalar
   only). This makes use of "private" routines/structures and so should
   be considered a hack.
 - handling of S-Lang structs has changed to more closely match the S-Lang
   API (in that the method names match the S-Lang function names without
   the 'slang_')
 - Support for "non native" types (those that are represented by an object
   from an Inline::SLang::* class) has been standardised to use the name
   of the S-Lang datatype: at present we have Inline::SLang::DataType_Type,
   Inline::SLang::Struct_Type, and Inline::SLang::Ref_Type. All classes
   provide several common methods (all classes are sub-classes of a
   hidden base class).
   This has the side effect of making the class names even more verbose.

 - Documentation for configuration of Inline::SLang has been moved from
   Inline::SLang to Inline::SLang::Config. 

--
version: 0.04
date:    Fri Mar  7 00:14:47 EST 2003
changes:
 - The copyright holder is now the Smithsonian Astrophysical Observatory.
 - The license changed to GNU General Public License only (prior to v0.04
   it was distributed under a dual "perl or GNU GPL license" scheme)

 - S-Lang's Struct_Type variables are converted to Inline::SLang::struct
   objects, assuming the types of the fields are also supported.
   The conversion leaks memory.
 - 1D and 2D support for DataType variables (S-Lang to Perl)
 - Fixed mem leaks in the code converting associative-array
 - improvement to access 1D/2D arrays of Complex_Type values; users
   should see no change because of this
 - internal function added to access S-Lang version module was compiled
   against. This is almost-certainly not needed.
 - Conversion of perl types to S-Lang is still very limited.

 - added the configuration option BIND_NS: only functions in namespaces
   in this list are bound to Perl. Note that S-Lang intrinsic functions
   are not bound to Perl and that S-Lang functions in namespace foo
   (ie that would be evaluated via foo->function_name() in S-Lang)
   are accessed via foo::function_name() in Perl. See the TODO file for
   possible future upgrades.
 - improved the build/load functions used when evaluating/loading the
   S-Lang code. This stops the S-Lang code being evaluated twice the
   first time a file was evaluated.

 - further separation (and improvement) of test cases

--
version: 0.03
date:    Tue Jan 28 12:01:49 EST 2003
changes:
 - Initial CPAN release (for feedback/comments as still pre-alpha)
 - S-Lang's associative arrays are supported (in so far as there is
   1D array support for the data type of the stored data)
 - S-Lang's Complex_Type is stored as a Math::Complex object in Perl
   and can convert between the two languages (scalars only)
 - S-Lang's Datatype_Type is represented as an Inline::SLang::datatype
   object (scalars only).
 - 1/2D array support (S-Lang to Perl) no longer lumps together similar
   datatypes (eg char, short, int, long) into the code (should we just
   typecast them to long in S-Lang scope instead?)
 - Complex types are supported in 1 & 2D arrays
 - documentation split: data type information is now in a separate pod,
   Inline::SLang::Types.
 - 'perl Makefile.PL' now supports the --gdb(=string) flag (--help for 
   help)
   Initial support for both static and dynamically-loaded forms of the 
   S-Lang library.
   Added Test::More as a requirement.

--
version: 0.02
date:    Sun Jan 19 10:56:10 EST 2003
changes:
 - now correctly accesses elements from String_Type (thanks to John Davis)
 - started support for > 1D arrays (S-Lang to Perl only)
 - added some necessary files for a perl module

--
version: 0.01
date:    Thu Jan 16 23:59:59 EST 2003
changes:
 - initial version
 - the fact it works is thanks to Neil Watkiss' Ruby & Python Inline modules

--
