Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 1e4be4f6cca2c9a2bfc532dbed99ff6a > files > 16

aikido-1.40-6mdv2010.0.i586.rpm

Aikido Release Notes
--------------------

Please refer to the file COPYRIGHT for information relating to the copyright
of this code.

Release 1.40
------------

This release adds:

1. Coroutines.  This change incorporates a new reserved word 'yield' into the language and
   enables it to be used for coroutine support.  You can yield any value from a function
   and then resume the function just after the yield point.  Consider this example:

   function square (start, end) {
        for (var i = start ; i < end ; i++) {
            yield i*i
        }
        return none
   }

   foreach v square (10,20) {
        println (v)
   }

   var f = square (10, 20)
   do {
        println (f.value())
        f = f.next()
   } while (typeof(f) != "none")


2. Case limb comparison operators.  Normally a case limb uses the '==' operator to 
   compare with the switch value.  This change allows one of <, >, >=, <=, ==, !=, in to
   be used.  The 'in' operator allows the case to be in a range.

    switch (v) {
    case <10:
        println ("less than 10")
        break
    case in 11..20:
        println ("between 11 and 20")
        break
    case == 50:
        println ("exactly 50")
        break
    default:
        println ("don't know")
        break
    }






Release 1.36
------------

Changes by David Allison for Xsigo Systems Inc.

1. Various bug fixes for CLI usage
2. Added XML parser
3. Added raw terminal control
4. Added XML GUI interpreter (vista)

Release 1.28
------------

Numerous changes by David Allison for Xsigo Systems Inc.

The changes include:

1. Ability to lock files into a given directory structure.  This can be used
   for implementing sandboxes in a CLI.
2. Some new functions in the System object.
3. Various bug fixes
4. Update to allow compilation with GCC 4.x (and 3.4.x)
5. Update to Mac OS X for the new GCC 4 based developer tools
6. Change in behavior of backtick expressions.  These no longer return the value returned
   by the return statement, but rather redirect the output and return a vector of strings
   written by the expression.

Release 1.10
------------

This release includes support for closures.  When you pass a function (or class
or any other block) to another block or insert it into a vector, a closure is
created.  This allows the passed block to be called as it maintains the static
linkage for it.


Release 1.01
------------

This is the second public release of Aikido.  The following bugs have been fixed:

1. Fix for memory leak with use of PipeStream objects.  The GCC 3.1+ library
   contains a stdio_streambuf class that allows an open file descriptor to
   be connected to a stream.  This appears to be missing from older versions
   of GCC 3.1x.  This has a parameter that specifies that the file descriptor
   should be closed when the object is descructed, however, any value other
   than 0 causes a memory leak.

2. Reading of password information using getUser() didn't work on Linux.

3. If a socked connection failed, close the file descriptor.

The following new features have been added:

1. Output of compiled bytecode using the -c option
2. Reading of compiled bytecode using the -l option
3. Incorporation of mkelf and mkstandalone scripts to allow generation of
   standalone executables.


For Mac OS X, we can now use the latest version of GCC in Panther (3.3) as
this includes the stdio_filebuf objects.

I no longer have access to Solaris so I have no idea whether the code added
for this release works with it.  Can someone with access to a Solaris
machine test it for me?


-----------------------------------------------------------------------------------

Release 1.00
------------

This is the first public release of Aikido.  

There are no known bugs in this release.  That is not to say that there
are no bugs in it, just that I don't know of any.

The interpreter is run by typing:

% aikido filename.aikido

where 'filename.aikido' is the name of the program you wish to run.

The 'aikido' program is in the 'bin' directory of the release.

Typing:

% aikido -help

shows you the command options that are available.


To test if things are working as expected, copy the following
line to a file called 'hello.aikido'

println ("hello world")


Then, at the shell prompt, type:

% aikido hello.aikido

You should see the obvious text on the output.

There are a number of example programs in the 'examples'
directory.  These include:

1. a little web server that can interpret aikido programs as web pages
2. an email client (uses GTK+)
3. a couple of examples on use of regular expressions
4. a C parser
5. a simple, but very powerful, calculator

The 'tests' directory contains a file called 'test.aikido'
that is a fairly extensive test suite for the system.  It
can be run by moving to the test directory and typing:

% aikido test

You should see "ALL TESTS PASSED" if all is well.




Solaris
-------

Aikido works best on Solaris 8 (or higher).  It was developed on Solaris
and has had the most testing and use there.  The best
C++ compiler is the Sun Forte compiler version 6 update 2,
but GCC is also supported.  The performance when
compiled with the Sun CC compiler is a lot better than
the GCC compiler.

You will need to make sure that your Solaris system has 
the most up-to-date patches for the SUNWlibC package
(the C++ runtime library).  Here's what a working system 
says:

% showrev -p | grep SUNWlibC
Patch: 108434-09 Obsoletes:  Requires: 109147-07 Incompatibles:  Packages: SUNWlibC

This is a Solaris 8 system.

Aikido also runs on Solaris 7 but I suggest you should consider
upgrading the operating system to Solaris 8.  If you need the
Solaris 7 version, please make sure you download the correct
binary release, or build it from the source release.


Linux
-----

Aikido has been tested on a couple of versions of Linux.  This
is not an official Sun product and I only have access to 2 or
3 versions.  If it doesn't run on your version, please download
the source and recompile it.

One thing to note is that Aikido needs version 1.2 of GTK+
loaded on the system.  You can find out what version you
have by typing:

% gtk-config --version



MAC OS X
--------

The binary Mac OS X version of Aikido is supplied as a zip'ed package.
Simply double-click on the package named 'Aikido.pkg' to install
it.  The package will be installed in /usr/local by default but
you can change that to wherever you like in the install
program.  Wherever you install it, be sure to place the
directory containing the 'aikido' program in you path.

Mac OS X 10.2 has a prerelease version of GCC version 3. This
does not include a required file (<ext/stdio_filebuf.h>) that
is present in later releases of the GCC compiler.  To compile
on the Mac is is necessary to use the executable 'gcc2':

% ./configure --gcc=gcc2

This might change when Apple release a later version with 
a better GCC.

The C++ compiler is part of the development tools package supplied
as part of Mac OS X.

To use GTK+, you will need to download it.  GTK+ requires X11
to be installed in order to compile or run.  It has been
tested with Apple X11 (version Beta 3).

At present, there is no native support for the Aqua interface.


Windows
-------

Although I have ported the software to Windows, it will not
run with sufficient reliability to be released.