Steenrod Tcl library
Status: pre-release
        This program is a library that can be loaded into a Tcl program.
        That Tcl program then becomes able to deal efficiently
        with Steenrod operations. Here's a sample (and simple) Tcl-session using the library:
    
# load the library
package require Steenrod
namespace import steenrod::*
# compute Sq(4) * (Sq(6) + Sq(0,2)) at p=2 and print the result
set res [poly steenmult {{1 0 4 0}} {{1 0 6 0} {1 0 {0 2} 0}} 2]
puts "product = $res"
# compute the degree of Q(0,1) P(1,0,3) at prime 5
puts "degree  = [mono degree 5 {0 2 {1 0 3} 0}]"
# show basis of reduced Steenrod algebra for p=7, dim=192
enumerator e -prime 7 -genlist {{0 0 0 0}} -ideg 192
puts "basis   = [e basis]" | 
        The output would be 
    
product = {1 0 {0 1 1} 0} {1 0 {7 1} 0}
degree  = 761
basis   = {1 0 {0 2} 0} {1 0 {8 1} 0} {1 0 16 0} | 
        The library has been succesfully tested on Linux, Solaris and Windows.
        The current version 0.7631 still counts as a pre-release: while 
        most planned features are already there
        (and everything that is there has been properly tested), the package 
        is still incomplete; in particular,  the documentation still 
        needs to be improved. The first officially released version will eventually 
        be called 1.0.
    
        The package also contains a little resolver program
        as a proof-of-concept demo application. 
        If you start it from the demo 
        subdirectory  with the command line 
    
tclkit ./resolver.tcl -prime 3 -algebra '0 -1 {9 9 9 9 9 9} 0' -maxdim 80 -maxs 25 | 
        you should see something like this:
    
                Screenshot of the included demo resolver
            
        Essentially the same resolver will also be used in the 
yacop project.