commit 73d8de9c965de8329ee50391665d5cc359049273
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 6 11:23:42 2012 -0800

    Update to version 2.77
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 9be5752d7c3af90aa006be7aa050e881916b3239
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 6 11:20:04 2012 -0800

    Fix RPM spec file to not install tutorial twice
    
    By default, the tutorial gets stuck in /usr/share/doc/nickle, while
    rpm wants it in /usr/shar/doc/nickle-<version>. Ignore the one in /usr/share/doc/nickle.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit b3e0c5b3893b8c67e4d8e42a013e1f16bae774c8
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 4 21:48:57 2012 -0800

    doc: Expand tabs to spaces in .sgml files
    
    Makes code examples readable.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 48ab6b7bc8eccb9a0c79ae1a044e99381cd01111
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 4 21:27:30 2012 -0800

    Build tutorial when docbook2pdf is available
    
    And build it on debian
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 85e960e9091c34820ec08f68336a0614dffda634
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 4 21:26:40 2012 -0800

    tutorial: Use sgml entities instead of < and >
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 8267429a2cc9f4a4f33a788dff6bca2ba7d38f1e
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 4 21:25:54 2012 -0800

    Tutorial: twixt doesn't have an optional 'else' block
    
    This was a proposed feature that was removed
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 3a96936bea9ac3376f33d07628231c1ff176ab26
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 4 21:24:45 2012 -0800

    Rename nickle tutorial to nickle-tutorial
    
    Makes any built files include 'nickle' by default
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit ad5cf39a2ce4730cba665d862635506da99a5167
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Nov 4 13:37:06 2012 -0800

    corrected some Nickle Tour nits

commit 7654ceb8b892ce483b8480755485888ef2402420
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 12 21:55:04 2012 -0700

    Handle OpFarJump in CompileReachable
    
    A FarJump within a catch block references instructions one or more
    frames outside of the instruction context. When checking for reachable
    code, look down inside the catch blocks to see if any of the FarJumps
    within them touch the target instruction.
    
    Fixes this example:
    
    void foo() {
    	for (;;)
    		try {
    		} catch uninitialized_value(string x) {
    			break;
    		}
    }
    
    Without this fix, the 'break' will not get noticed and no ReturnVoid
    will be appended to the object code for 'foo', leaving the break
    dangling in space.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 86456a8a2a7ae92da7c082a93d4ccf40c740f879
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 12 21:54:31 2012 -0700

    New instructions IsType and HasMember need entries in OpNames
    
    Otherwise, the array no longer matches the enum
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 9364ad117ab8cb6828fc308e99fd854a6029e277
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 12 21:53:46 2012 -0700

    Fix VALIDATE_EXECUTION test code
    
    Needed ObjType defined.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit c749d6a74d74aff873b93c6cf0883f4863b6d257
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 11 13:29:55 2012 -0700

    Update to 2.76
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 131599bc78bd0e3d7ff94535238c3df78092f19d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 11 13:22:15 2012 -0700

    Don't erase twixt pointer during JumpContinue until after stack copy
    
    Otherwise, if MemCollect occurs during the stack copy, the twixt's
    stack copy can get collected.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 0ced7273d96c6d86c1cf7676efb4321e610f9633
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 11 13:18:03 2012 -0700

    Check for lost stack chunks
    
    If a stack chunk gets collected, the 'type' field will get
    cleared. Check to see if this has happened and abort.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit e7352c5728c4773c54988308c9b54780e957d003
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 11 13:15:51 2012 -0700

    Add debug code to check thread validity during execution
    
    If something gets corrupted, it's useful to have this code to help
    track it down.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit e421d2775c25d717a72d29ac30bf67571655cbe8
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 11 13:13:20 2012 -0700

    Handle initializers with undefined types.
    
    Emit an error instead of crashing.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 5b00e11e61e5c659c7ad49fec7d7a4a1ab53d686
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 10 10:22:55 2012 -0700

    Handle systems which don't define PATH_MAX (Hurd)
    
    This is a hack; a correct fix would involve actually allocating the
    correct length object.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 77553983f0edd58201675da8cc020993513703bd
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:42:16 2012 -0700

    Version 2.75
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 364505a116c631a0dd4f4d8a01a0f9b65ddf78c4
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:56:09 2012 -0700

    Delete ancient .cvsignore files
    
    Not exactly useful anymore
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 1a499d9f0fe3f9203edd1286369c85939ce97f55
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:55:54 2012 -0700

    Examples shouldn't be executable
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit d1876db5e305ad157a9fbbe7c75fed0b8d4f342a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:37:43 2012 -0700

    Fix Source URL in nickle.spec file
    
    Point at nickle.org, as appropriate.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit fd7488e29c9c5dd6705368baf28dff248419d5c6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:36:42 2012 -0700

    Make 'G' format limit array and struct recursion
    
    This makes stack traces tractable.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit beab4e662ab095e914f9ad2ab3d1834633219145
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 08:35:16 2012 -0700

    Switch to dh for debian builds
    
    Vastly simplifies debian/rules...
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 197cb418aa20436d35124cb56dfff48d51cffedb
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 13 23:16:34 2012 -0700

    Stop printing recursive structs with 'g' format.
    
    This gets annoying really quickly, so just terminate the recursive
    struct printing right away.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 4bb7b4720f0c5a15e4b26bd70c9d01040f0612c1
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 11:16:57 2012 -0800

    Handle ref types in &foo->bar operations
    
    For some reason, this case was left out of the usual ref type hacks
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit a236e4a7e349b220760aefb58e6b4e62e3fea156
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 3 17:17:12 2012 -0800

    Version 2.74
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 97205c5a67f602af41a83032368ef5e65a7d50e2
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 3 17:14:13 2012 -0800

    Switch from debuild to pdebuild
    
    Catch more package building problems by using pbuilder.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit a572170045122e4f0942a250c12bfe4b0f422319
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 2 11:09:51 2012 -0800

    Fix Semaphore::wait logic (again) - partial means we've woken up
    
    The only way to run do_Semaphore::wait with 'partial' set to true is
    if the thread is waking up; in this case, the semaphore count may well
    be negative if other threads are also waiting. Ignore the count in
    this case and just complete the operation.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit e24a73f89019a22a2ced7c5fd0dc4681ff4de5c6
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 22:05:59 2012 +1300

    Add explicit debian source format 3.0 (native)
    
    Keep lintian happy
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 9c31311a34a7f6f6751a23eaf439ee1ef40890a9
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 21:48:16 2012 +1300

    Clean up some debian lintian warnings
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 8c1b5242e3605cf356c8c1643a415bc0f585c7d3
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 21:47:16 2012 +1300

    Fix new FileVPrintf 'G' format comparison
    
    Was comparing the pointer to the representation enum. oops.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 48c4dda9a1e56388173385caaa13ebfb04674d81
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 17:00:42 2012 +1300

    Update debian/changelog for eventual 2.73 release
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit f19cc51156c96689ac0207d3c30ed549c24afd6b
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 16:54:16 2012 +1300

    git-log has become git log
    
    Needed to build ChangeLog
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit b7c533e875dfe15ac46de4ecfee6586c8e759d18
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 16:49:39 2012 +1300

    Back autoconf requirement to 2.64 so debian stable can run it
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 22f9d58233450a4e6ff67abbaf8e4008e4f3998d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 27 15:06:05 2012 +1300

    Shorten backtrace display
    
    Don't display composite values in backtraces so that the
    backtrace doesn't get flooded with giant values.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit b1f691286f2aae54839a3b4e969d318e646c70c8
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 27 13:28:08 2012 +1300

    Typecheck switch expressions
    
    Make sure switch expression and case expresssions are all type compatible.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit d70e73e96b53142e4273565e63e10ebd2fa8d1d5
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 27 12:32:52 2012 +1300

    Add is_type and has_member built-ins
    
    These provide the ability to do run-time type comparisons without
    needing full introspection in the language.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 42aeaa3494c68fee1b1559dde8d99ee52677b361
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Feb 23 00:56:41 2012 +1300

    Add list.5c
    
    A useful data type
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit ab2ed22e6ff90868fbbebaba1e1851f131044555
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Feb 23 00:15:02 2012 +1300

    add 'millis' function to return a clock in milliseconds.
    
    Useful when doing things with sleep
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 67801c2111e9f35afcd1667fb59a72efcfdb5df8
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 23:50:18 2012 +1300

    Add Semaphore::count
    
    Useful for checking current semaphore value without
    modifying it.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 0d6d153498b51bf02286eff06d327ab42914361e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 23:49:37 2012 +1300

    Clean up do_Semaphore_wait
    
    Make it clear that the semaphore count gets bumped down the first time
    into this function.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 6fd77649e822e026000ea5c857d2c30af8874030
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 23:47:30 2012 +1300

    Check for thread switch even if current thread is last
    
    Threads can switch due to semaphores or other signals; that can leave
    the current thread last in the run queue. Check for any case where
    running changes instead of only when the current thread isn't last.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 61bd1359a1bc3766833071d04610176a5dfe6b6a
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 17:42:29 2012 +1300

    Make scanf not report valid conversion on blank input.
    
    scanf was incorrectly accepting " " as a valid number, returning a
    conversion of 0. Fix this by checking for empty strings in any numeric
    conversion.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit e6abc97a91f08a6ca6d06da5f88b627cf6b16a35
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 17:41:13 2012 +1300

    Add tests for scanf function
    
    Scanf incorrectly accepts blank strings for numbers; here's a pile
    of tests to validate various numeric input.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 2d3f8dc35a068bac522115d6dfc6f573922040c5
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 21 14:32:11 2012 +1300

    Add sort and skiplist to standard nickle library
    
    These are too useful to just be examples
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit d9d1cb686aac1709c55884f3c621185cfc94ecaf
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 30 19:32:27 2012 -0800

    Add gamma function
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 8a2d817b59aa16b0e15309d4372b69e4453cbc40
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 30 12:10:56 2012 -0800

    Printing rational 0 in 'e' format doesn't need an exponent
    
    Computing a negative exponent requires a non-zero value, so just skip
    that if the value is zero
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 9bdf4cd13fa6e473f23ffa171566ffc296074194
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 30 10:02:16 2012 -0800

    NaturalGcd must return a Natural* when aborting
    
    It was returning One (an Integer) instead of one_natural;
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 478825cfa4a72b7f0de80d8b4e07df1ae2e77c9f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 23:26:02 2012 -0800

    floor() and ceil() should work on imprecise floats
    
    They should return an approximate integer value instead of raising an exception.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 01b07df6e8929e2ef605327c3403271670eeccf1
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 22:53:07 2012 -0800

    Set version to 2.73 in prepartion for eventually release
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit faab094af3dcf9a062ba9b6ec1b6b74ab8291c50
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 22:50:46 2012 -0800

    Only call readline tty cleanup on signal readline is active
    
    If readline isn't active, the cleanup functions tend to make a mess of
    the tty state, so don't call them. This really only matters when
    handling SIGTSTP.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 9e373c7f302b194b33fc83c10b66d7d367a821d8
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 22:05:21 2012 -0800

    Update to version 2.72

commit d5a82d02ea1ae6d02a4c14898d9737d03ddb9cc7
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 21:48:07 2012 -0800

    Keep readline from catching signals
    
    This stops readline from catching signals, letting nickle handle them
    all by itself.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 8b7aef95d231edf71b5388702b16b706e3425000
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 29 20:19:09 2012 -0800

    Block in select instead of sigsuspend when waiting for I/O
    
    The kernel doesn't appear to reliably deliver SIGIO while the
    application is blocked, so sit in select instead of sigsuspend to make
    sure we hear about pending I/O.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 6719d500e3bcc2a3428680a7b4176b7660ecbe1b
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 28 22:29:53 2011 -0800

    rename configure.in to configure.ac

commit 8515fa7a571f4e7bf0e66e09b1b73e747fa597c6
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 28 22:27:33 2011 -0800

    Switch version to 2.72 in preparation for an eventual release
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 395b70966490f406c7b40a41d18c8f7b93c057a8
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 25 12:11:07 2011 -0800

    wait3 returns 0 when there's nothing left to do
    
    Don't keep looping when wait3 is done
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 416a3cff1f7f1a125326aa70eedeaf3a9170e14e
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 25 11:46:47 2011 -0800

    Update to version 2.71

commit a60ad0adac6a338839e4e6194838f5918dfa0953
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 25 11:33:52 2011 -0800

    Clean up a pile of build warnings
    
    Signal return types, unused return values and stepping off the end of
    the typePrim array (the value of which was unused anyways).
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit c4b149a4cca5a5c011d74502374a15900c5adfaf
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Oct 31 10:20:35 2011 -0700

    Catch attempts to use uninitialized pointer contents
    
    Dereferencing a pointer to uninitialized storage is an error, instead
    of passing this value along to callers, catch it immediately and raise
    an exception. Check for this case in the ++ and -- operators to
    generate a better error message (otherwise, we'll pass Void along and
    generate an error much later).
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 7a7a8a063796ab581af5179ce211f4cd5b602879
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 29 01:49:42 2011 -0700

    Exit after two consecutive interrupts
    
    If the first interrupt isn't received by the nickle code,
    when the second one comes in, just exit
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit cc6c2f55d76e2d1a07ded25bf09e313d5e6de255
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 29 01:15:39 2011 -0700

    Cleanup struct type changes

commit 0a8a685e99043f5e983d7b46a0db155e91cc2af4
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 29 00:43:08 2011 -0700

    Replace most parameterized macros with static inline functions
    
    Typechecking, decent compiler warnings and smaller code.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 0640100035a54205ab8b7117aa82291de19a03e7
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Sep 28 23:40:12 2011 -0700

    Replace macros with static inline functions in value.h
    
    Actual type checking, and smaller compiler output to boot.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit ee70963b79933423751ae8602882891bbefbb6bc
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Sep 28 23:32:17 2011 -0700

    Get rid of old-school variable length struct allocations
    
    This confuses the new _FORTIFY_SOURCE bits in GCC, so use the
    'sanctioned' form of placing a zero-length array at the end of the
    struct.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 1491af33c3bca94c6bb604b483a5eabcf038eef1
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jul 7 15:12:21 2010 -0400

    Bump to version 2.70
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 7334afef7a4235447e11a948a9d57c354dafac67
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 11:02:33 2010 -0400

    Test factorial function by comparing with Stirling approximation
    
    This checks larger factorial values for gross errors.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 40bde0fbd244462a282f922483ef5aa4994d590b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 01:29:07 2010 -0400

    Update debian bits to standards-version 3.8.4
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 601affcbaf587816a6be4b6815efd2cc99cff66e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 01:20:50 2010 -0400

    Fix prime sieve function to include 'max' when 'max' is prime
    
    The sieve code would drop the max value from the returned list when it
    was prime.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit d341e0220d181db50f7a6647433053293b3f45ec
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 01:20:11 2010 -0400

    Fix factorial pretty-printing
    
    The expr tree built for factorial is different now, so the pretty
    print code needs to adapt.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 6d4a60c69eac89ff72004a00a8e9a70876db2325
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 01:19:15 2010 -0400

    Add factorial test
    
    This tests factorial accuracy up to 1000, which should
    catch most errors
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 75187037e714eaadc671daba19a934608fd1069b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 01:18:08 2010 -0400

    Remove accidentally included cos debug printf
    
    This was accidentally added in the previous patch
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit b249d719eeb86e8834ccfa2c91c4ead07d497e09
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 6 00:28:41 2010 -0400

    Replace naïve factorial algorithm with prime sieve from Peter Luschny

commit 3111c1bbe21202ca13b0c3bba39ce61b87197269
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Nov 19 11:29:36 2009 -0800

    changd csv parser to throw a bad_csv_parse exception on unclosed quotes

commit ba82f22cf8eafa406618a93ec26bfc08e069627e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Nov 19 10:28:17 2009 -0800

    Included a definition of SUN_LEN for systems that don't have it.
    
    This fix responded to a bug report from Claude Marinier
    <claude.marinier at drdc-rddc.gc.ca> that Nickle networking
    wouldn't build on Solaris.

commit 168c8e3f857956401306d90f7bd3d3c8d17ad493
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Nov 19 10:22:31 2009 -0800

    made parse_csv_t public

commit 4c6a840a3f2596bf6565f1b9906b2500852b66c6
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 15:03:12 2009 -0700

    Update to version 2.69

commit eaf3950ad5308e33a5dbfd8b1c921ae2603fd5c5
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 14:59:31 2009 -0700

    Update to standards 3.8.3 and debhelper 7

commit b9bae75689465f0572deed07d0514f546648d32a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 14:58:49 2009 -0700

    Remove debian dir from debian orig.tar.gz file

commit bb5e73b56f322a04d914f48856d72c4d00626214
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 14:39:48 2009 -0700

    Ignore more files

commit a85c4aba193b67294c8bafeec24ce7c2b32ea75c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 14:28:30 2009 -0700

    Byacc now makes tables const by default. Remove Makefile.am hacks.
    
    The Makefile.am hacks served to turn the parser tables into constant
    data to save a bit of memory. That's no longer necessary now that
    byacc does this automatically.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit fb02b3053b9615b6872352fa0581ee68d047b625
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 11:56:09 2009 -0700

    Make debian build epend on libreadline-dev not libreadline5-dev.
    
    This ensures that we'll pick up any new readline versions as released.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit ac6bdfab92361bc999323e1f4bb1fa022527fd16
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 10:20:11 2009 -0700

    Get math-tables.5c built before tests are run
    
    This file is used by math.5c and is built by running the math-tables
    program; adding a dependency from math.5c appears to make sure it is
    built at the right time.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 0a80c1f7816a19970a0751af5baaaf0643f68bdd
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 10:00:11 2009 -0700

    Fix trig boundary conditions.
    
    limit angles to -π - π, make sincos generate correct signs, make
    atan2(0,0) return 0.

commit 8aa40d0d867bcfe8b917c49b7d36138c835130c2
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 17 09:58:56 2009 -0700

    Add tests for math functions.
    
    These compare the results of nickle with the C library math functions
    to provide a rough check of correctness as well as checking various
    boundary conditions for the functions.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit cab93dd5f5a04ce53bf826d9a0e5e8063bd293a6
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jun 14 17:27:16 2009 -0700

    math.5c: fix quadrant errors in atan/asin/acos
    
    All of these had various quadrant related errors.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 84f404bfbd19c460c559717f8d9f4f20ed92a3dc
Merge: 992ed90 0eb4259
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Feb 19 13:21:04 2009 -0800

    Merge branch 'master' of ssh://keithp.com/git/nickle

commit 992ed90e64cbe1cc9cc703dbcfaa64bc5ab6fe6e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Feb 19 13:20:09 2009 -0800

    Removed redundant gram.y in YACCCOMPILE
    
    This was preventing current autotools from compiling the
    grammar with byacc.

commit 0eb425902db7e6291afb881086aef5a4a4e5019f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 8 00:37:58 2008 -0700

    added variable to control default floating point precision

commit d24ae2f1bd182bd07eea8ef6918c3798c7d98393
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Sep 6 22:45:33 2008 -0700

    replaced the copyright symbol in value.h, which had somehow become mangled

commit c5dfef94042eedfd69d8bc110c7e2000f348efb1
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Sep 6 22:44:17 2008 -0700

    reverted inadvertent change to DEFAULT_FLOAT_PREC

commit 9a1ad39e7b3207925a807c27401450bd47d555d0
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Sep 5 22:18:08 2008 -0700

    added string reverse()

commit 815ea2aadc2644a426b87f8c4e41d58a01d50de0
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:31:29 2008 -0700

    Bump to version 2.68

commit e278cfc926e5cd2ee51c9e45a642b2803d93cceb
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:28:53 2008 -0700

    Bump debian standards to 3.8.0

commit d69f9ba5dbf231bf2c8ecd5ab55e550d11f5ebae
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:28:34 2008 -0700

    Add README.release

commit 74d032db530e2441f47b68549d18a70956ddf601
Author: Keith Packard <keithp@keithp.com>
Date:   Mon May 19 13:22:11 2008 -0700

    Non-interactive stdin is always available for reading.
    
    Failing to set the 'stdinOwned' flag meant that you could never read from
    stdin which wasn't a terminal. Oops.

commit d0604e797cf194eb025a1784766ebea8cf38ec87
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 26 23:21:41 2008 -0700

    Allow background nickle to not poll on tty ownership
    
    When stdin is connected to a terminal but nickle is not the foreground
    process on that terminal, the io code would poll to wait for ownership to
    flip back to nickle so that reads could be performed without generating a
    signal. Now, nickle waits until someone actually tries to read from the
    terminal before starting to poll. This means that simple background
    processing nickle programs will not poll every 100ms.

commit fd8d02af5bf2884858108421fec40b8c7ca9863b
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 26 16:22:44 2008 -0700

    Remove support for non-SIGIO pipes
    
    Older version of the kernel (before 2001) failed to generate SIGIO on pipes,
    so nickle had code to poll instead. I think we can safely remove that code
    now.

commit 5106300e425315c5f753dd4e1bf2c1ff6d19db64
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 21 12:31:00 2008 -0700

    Fix floating point printing to correctly round output

commit e7f78ce3e66259f0a08c0099de4b89ad739c03c8
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 20 10:56:38 2008 -0700

    Fix divide_by_zero exception type in fourfours.5c example

commit e00e48546d26c6e0c22c70cb7eb14e81c897c61e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 20 10:20:52 2008 -0700

    Make SRPM + RPM build work by serializing dependencies.
    
    $(SRPM) $(RPM): ...
    	build
    
    fails as it does 'build' twice.

commit 48e852689a43de236f93aa13172d31c8eb536fc1
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 23:24:45 2008 -0700

    Makefile fixes: make main.o depend on Makefile, ensure debuild actually does

commit 27ace3a23d90e8e5fe16b943743a8d9144cca7e6
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 23:12:13 2008 -0700

    Avoid having the 'pretty_print' builtin show two error messages.
    
    NamespaceLocate takes a 'complain' boolean that will print out an error
    message, but the pretty_print command also raises an exception when it fails
    to find the name. Two errors is at least one too many here.

commit 31e633b55cece8a6e46d763b2e51c974b450a12f
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 22:38:18 2008 -0700

    Rename the builtin Process namespace to PID to not conflict with the Process library

commit ffc553a721015347939cc07da4a81577d86093d0
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 22:37:49 2008 -0700

    FileGetErrorMessage returns a Value, not a char *

commit 3382f746e5423aa6bdd18349e6b47a8a6a5b5259
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 16:09:24 2008 -0700

    bump to 2.67

commit 88f787164419f814d149e39eec89b94790b164e3
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 17:19:26 2008 -0700

    Fix a few broken calls to RaiseStandardException.
    
    RaiseStandardException was changed to remove the need to pass a string
    argument first, but a few calls were not converted, and C varargs cannot
    catch these errors. I checked all calls and they appear OK now.

commit 085584b85f75c5ea25a95be949d2286e7974df2d
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 16:00:09 2008 -0700

    Divide by zero declaration is (real, real), not (string, real, real)
    
    The type declaration for the divide_by_zero exception was wrong.

commit b3023c298db4e22eb86fd809ef76d7776d7e68df
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 25 10:07:14 2008 -0800

    Change yacc invocation to make yacc tables const.
    
    byacc (and bison) leave the yacc tables in writable pages; this change edits
    the C output code to move them to read-only pages.

commit fec8c2e743f1b2ab194652b5074f99a9e373cc22
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 25 10:00:51 2008 -0800

    Track profile ticks per function in addition to per statement.
    
    Recursive functions make gathering useful profile data harder. This avoids
    some recursion mis-counting by separately tracking function and statement
    lifetimes.

commit eefcdbb5330160a0197e425b45f174f34b1b5db7
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 25 08:40:42 2008 -0800

    Remove old "function" keyword from examples

commit 3e6fed4d93df52b6593af4b93d320a7bac683c51
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 11 08:29:26 2008 -0800

    Raise io_eof exception when reading past EOF.
    
    Instead of returning -1, raise an exception so that applications don't end
    up spinning at EOF. Applications should check for File::end before reading
    or catch the exception.

commit 2d56ac7537216e699a24fa7127e6c3fa18e80ea7
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 11 08:28:13 2008 -0800

    Remove first string arg from RaiseStandardException.
    
    Every standard exception was required to have a string for the first
    argument, which isn't always desired. Eliminating this forced first argument
    allows each exception to have the desired arguments.

commit 9cd6fc05beac5155f9039781d79c11a112fea731
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Feb 7 17:52:05 2008 -0800

    Avoid using getc at EOF

commit 14bd65ea0fb8d23bbf553340cde57a270e2201cd
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 6 11:14:29 2008 -0800

    changed print command to print all public on no argument, fail if argument is bogus

commit 2b5a2b9f8fed04cd08a175e3916a089d54f89d21
Merge: 453e6d8 d285315
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 6 10:39:33 2008 -0800

    Merge branch 'master' of git+ssh://keithp.com/git/nickle

commit 453e6d8e416686b1cac547c4c31c9ccbbdb9c17c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 6 10:38:58 2008 -0800

    added reimport command

commit 6e99ad8d6210075f758c7311d9d628c09dad64da
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 6 10:21:38 2008 -0800

    fixed ordering bug when autoloading / autoimporting multiple namespaces in a single commad

commit 209997e5b9cf2e51b74816189615ebd64c187a15
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 6 10:20:01 2008 -0800

    cleaned up command.5c a bit before changes

commit d28531507f1064d5eea4b21988817ead2012fe7a
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 2 23:36:50 2008 +1100

    Socket: Provide varargs versions of bind and connect
    
    With this change, the hostname is now not-required, (and even not
    allowed), for an AF_UNIX socket. Also, for an AF_INET socket the
    port can now be an integer as well as a string service or port.

commit d710bcf28a3d6bbaea6ace8870f2c503f3576796
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 2 21:31:26 2008 +1100

    Socket: Store address family in file structure
    
    This is more straightforward than using getsockname to read the
    address family back out from the kernel.

commit 7c97c425b259d9c710bfe81aa226e6fa3acb0909
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 2 17:19:15 2008 +1100

    Socket::create: Make the family argument optional

commit 50f17cd7b03b984643f9e2fc1472160f939a3a08
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Feb 1 09:25:19 2008 +1100

    Socket::create: Add support for Unix domain sockets

commit 116b96de8e915d8fd8c48d6bbc2334e4641c5e7f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Feb 3 15:31:45 2008 -0800

    Add pid/gid/uid functions in Process namespace

commit 2ee7d1bc95bb2bbbbc5792ed11618a229133eb22
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Feb 3 14:36:06 2008 -0800

    Signal exception arguments were not getting forwarded.
    
    Exception arguments must land in thread value register so that they can be
    passed to the exception handler (if any). Also, add a test for signaling.

commit 6adae78f5e70be0031718e0e7ebeff81996951e3
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Feb 3 07:22:28 2008 -0800

    Add signal exceptions, treat SIGINT as raise signal(2)
    
    SIGINT used to interrupt the current thread and enter the debugger with the
    thread 'interrupted'; in this state, the thread could be continued. However,
    this means that threads cannot catch SIGINT and cleanup at process exit.
    This commit changes all this around so that SIGINT simply raises a signal
    exception in all threads.
    
    This patch also keeps the interpreter running until all threads have exited.

commit 689ea14db8ca29f3338a03e71be5865089972488
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 2 22:07:54 2008 +1100

    Add 'signal' exception and 'send_signal' function.
    
    The 'send_signal' function raises a 'signal' exception in another thread,
    causing it to abort processing immediately.

commit 20a5db3ef34d47fdff2dd98052b577db80f76ffc
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 2 12:32:45 2008 +1100

    Add unlink, rename, mkdir, rmdir builtins.

commit b5830866a10e7eed272c52e7aafc17d3593c2dac
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 2 12:29:52 2008 +1100

    Twixt mark function shouldn't reference leave instruction.
    
    Instructions cannot be referenced directly, only the object block containing
    them. The twixt continuation already has a reference to the object, so the
    extra MemReference on the leave instruction is spurious (and causes
    crashing).

commit b739d5a6f5816100b56b5278f4a99ab4ee937222
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jan 29 17:08:53 2008 +1100

    Silent underflow on conversion to machine double

commit 9f26613cfa6ce6dd58edf671390d3379fbaf1a34
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 25 19:44:19 2008 -0800

    Fix autoimport for nested namespaces

commit d9959cfa510ebc56ed6d66cd529c85529b780886
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 13 17:34:02 2008 -0800

    Notice that some TODO items were done a long time ago

commit a8439dbfd270b47bc62b0e6d9a8bf37471ba470d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jan 8 23:27:53 2008 -0800

    Support autoload/autoimport of nested namespaces.
    
    While nested namespaces could be loaded, the filenames would reference only
    the last element making it hard to actually use them. This change
    glues the namespace elements together with '-' when building filenames.

commit e324f392b2bf13f99a2e39dfde7b7f4913be7dfb
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jan 8 13:14:16 2008 -0800

    Search for unpublished names with NamespaceLocate

commit 4a8813f98e03663108757ade2da6d6f372598060
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 16:41:03 2008 -0800

    Bump version to 2.65

commit 8e8c6197f0b7448fd27fa1bae5daf2bb839ce1df
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 16:26:07 2008 -0800

    Exit with status 1 if last action was parse failure.
    
    Nickle normally exits with the status of the last thread; if the last action
    of the user was a parse failure (causing no thread to execute), exit with
    failure (status 1).

commit edc47ba279d74bbc18de3531dd8aabdbbdd60f70
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 16:18:49 2008 -0800

    Function declarations would segfault the pretty printer.
    
    	void g () { void f (int i); }
    	print g
    
    would segfault as 'f' was a function declaration without a code body.
    Fixed by adding pretty printing code to handle this case.

commit 691a76447cea42cb3c5bdc3ccb1aae228081fe3b
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 15:51:07 2008 -0800

    Check for duplicate function param and struct/union members
    
    While duplicate function parameters and struct/union members may have well
    defined semantics, they're a bad idea, so we make them an error.

commit cf60fcd340021ed1e29fdc208fe4634924c124e1
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 15:50:39 2008 -0800

    Reduce warnings when compiling flex output

commit 4ae8bb3a888432b3101e16fbbd63e04c9229fb9b
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 6 15:20:10 2008 -0800

    Add new '+' type operator; creates subtypes for struct/union types.
    
    Merges two struct, union or enum types together to form
    a unified type containing each of the elements of the two
    original structures.

commit 7761936b1b7318d29d4cc948308f9742f5c3f433
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 4 00:41:57 2008 -0800

    Bump to version 2.64

commit 0dde80f6dfed86346709a603499da6cbb2230e91
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 4 00:38:41 2008 -0800

    Floating floor and ceil functions broken for values with no integer part.
    
    The ceiling of any positive fraction < 1 is 1, the floor of any negative
    fraction > -1 is -1. These cases were missing from the existing functions.

commit b4a4b66be2ce66de162818cd94ae17d840b00c05
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 4 00:36:58 2008 -0800

    Add test case for floor and ceil functions.
    
    Floating point floor and ceiling functions are broken, this demonstrates the
    bug.

commit 0d645e8090c135b451949a844fdd53f8ebfc1575
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 31 14:23:56 2007 -0800

    Copy hash keys on insertion.
    
    Mutable hash keys must be copied when placed into the table as any changes
    to the original key value must not change the hash mapping.

commit 2727d3ade55570c172a6fd6d22a92287503c917a
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 31 14:23:01 2007 -0800

    Add tests for hash tables, including mutable key copying.
    
    Test hash tables. Has test that checks correct behaviour with mutable keys
    where the key is copied when placed into the table.

commit cafadd2f2655b30fcc86df0b76492ac5afbf4152
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 29 16:08:07 2007 -0800

    Update to version 2.63

commit b0638d82ad3ad22e6de8c0c371bf76330db489d3
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 29 15:56:28 2007 -0800

    Make foreign objects equal when they point at the same data.

commit 974283319c7ef54fa301df9b5eda26d3195e49e4
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Dec 29 00:59:41 2007 -0800

    added newlines where missing in calls to panic()

commit de73950c6dbad62d022378cf5e9e62b635458326
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 22:26:21 2007 -0800

    Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to test linker flags.
    
    The -Wl,-E option is for the linker, so testing the compiler support isn't
    sufficient.

commit 0d16382a67a39d928150b1970cf5295633ba2a50
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 22:09:30 2007 -0800

    Avoid using extra libraries unless necessary

commit 16240c3265bd1991e6317901460a504499a12ac6
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 21:20:44 2007 -0800

    Update debian changelog to reflect doc change

commit 44c2aa8ee30ea972eb852dec9d73075a569b273d
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 21:20:03 2007 -0800

    Update documentation to reflect corrected // and % semantics

commit eb5604f803cf5d442f389d1cad60301095266596
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 21:15:04 2007 -0800

    Bump debian changelog to 2.62

commit 4d90bffd79c2db94b377973321f552b4ee97e65f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 21:10:38 2007 -0800

    Bump version to 2.62

commit f78bf021e6bff9f422188f068a7a1b4aaa28d57f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 9 21:08:47 2007 -0800

    Make // and % operators modulus division operators.
    
    Herry S Warren Jr. defines three kinds of division --
    truncating, floor and modulus. For all three kinds he
    requires a simple invarient:
    
    	dividend = quotient * divisor + remainder
    
    Modulus division additionaly requires
    
     	0 <= remainder < abs (divisor)
    
    Floor division sets:
    
    	quotient = floor (dividend / divisor)
    	remainder = dividend - quotient * divisor
    
    Truncating division has
    
    	quotient = round_towards_zero (dividend / divisor)
    	remainder = dividend - quotient * divisor
    
    We select modulus division as it makes the most sense when you treat the
    values as a ring centered at zero.

commit 3c1973bbb19744d3a870ed5a17a14bf04ad34e75
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Dec 9 21:01:00 2007 -0800

    fixed modtest to check denominator properly

commit d4dd7d847b17f7143a3d99bd0c23fc02c2b087de
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Dec 9 20:59:17 2007 -0800

    actually added modtest.5c

commit 777fcaaefee0b25b09b62ed3bcf7a6d25a16b922
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Dec 9 20:58:02 2007 -0800

    added test for modulus, because it was broken

commit f697f8a66f4e4a408a076a6f7ea9daf5256a71c5
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 22:00:19 2007 -0800

    Bump to version 2.61

commit 94a41e46b6381304a5b1c67675afd9c5f3f8574c
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:51:23 2007 -0800

    Examples - use '.' in struct initializers.
    
    Add '.' before struct tag in initializers now that it is permitted.

commit 3cf7567bbfa16e93c32a5a2477b28e2a91b37ae1
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:50:59 2007 -0800

    Skiplist test code had a typo.
    
    "hi" is not a legal initializer for an integer variable.

commit 9be14d5dcb8e55d22066845a0278a0c22374b0c9
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:49:41 2007 -0800

    'randtest' example used now-missing 'vprintf' function.
    
    vprintf was replaced by the general '...' mechanism for passing
    an array as a list of arguments. Somehow, this example was never updated.

commit f8f1d223a46cffff9fcc89fa7524fdf57cbacf7c
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:48:22 2007 -0800

    Tests - use '.' in struct initializers.
    
    Add '.' before struct tag in initializers now that it is permitted.

commit 81beb0e9394e715e7354cebeb58c261a2e9b2019
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:47:11 2007 -0800

    Builtins -- add newly permitted '.' before tag in struct initializers.
    
    Now that struct initializers permit '.', use them for the builtin nickle
    code.

commit 96c5c70c8226c3f60419fa2eee981d259efb07f2
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 25 21:13:25 2007 -0800

    Allow . in struct initializers.
    
    C places a '.' before the structure member name in initializers, which
    would eliminate a shift/reduce conflict in the grammar. Nickle has not
    allowed the dot in the past, so instead of requiring it, we'll just make it
    optional, which doesn't eliminate the conflict, but at least works.

commit 102f74a6622b85aae100477bd861b1cec005cbe3
Author: Bart Massey <bart@bart.cs.pdx.edu>
Date:   Wed Oct 17 15:28:00 2007 -0700

    added comment about semaphores vs mutexes here

commit f8a0f102072afdd4cb234a28b8a91c99ffa3c0c6
Author: Bart Massey <bart@bart.cs.pdx.edu>
Date:   Wed Oct 17 15:23:16 2007 -0700

    replaced queue with mbox

commit 7110e52cdf3562adfd93073731b756f1fb26a96a
Author: Bart Massey <bart@bart.cs.pdx.edu>
Date:   Wed Oct 17 15:07:13 2007 -0700

    added multiplexor output delay

commit 22b106b4792531898d57ecd9ea32ed11cc8a5d34
Author: Bart Massey <bart@bart.cs.pdx.edu>
Date:   Wed Oct 17 14:40:56 2007 -0700

    added threaded multiplexor example

commit b1735afed1a772ca6aee87f0ba349c43e8ab2c3e
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Tue Oct 2 01:57:55 2007 -0700

    Bump to version 2.60

commit 2278b93b7e760f1153847a0b3c36d07684f72e0c
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Tue Oct 2 01:53:02 2007 -0700

    Manage file buffer chains with explicit malloc/free.
    
    Buffer chains must have life equal to the file they belong to; an
    unreferenced file may still have buffered data, so the buffers cannot be
    reclaimed. The nickle GC does not have a separate pass that checks to see
    which objects can be freed, rather it assumes that such objects are
    self-contained.
    
    Hence, anything hanging off of an object which can refuse to
    be reclaimed must not have been allocated from the nickle GC system. Yes,
    this is a significant limitation to this allocator.
    
    Someday I'll figure out a good general fix for this problem, right now we'll
    stop segfaults when applications drop file references without closing them.

commit 8e3690cea5da54d83e6fd6d26c073c1c4d8ae403
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Tue Oct 2 01:16:05 2007 -0700

    Extend Ctype namespace to latin-1.
    
    This should be extended to all of unicode, but that's a huge amount of data.

commit 52c9ae4e5c476f6b202b49de3840c7ffdd0e02d8
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Tue Oct 2 01:15:16 2007 -0700

    Flush file output on exit call.
    
    Use of the built-in exit function should flush all file I/O, just as if the
    program terminated by returning to the top level at EOF.

commit 68dfd4a10fc2c88b7618505b3c54e11ee4def1ee
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 21:18:31 2007 -0700

    Update debian bits to 2.59

commit fca9c9e60a67f9b4cb3bbf2d5305f9a95da6d1f5
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 21:12:01 2007 -0700

    Bump to version 2.59

commit fb835ca271df82ce282360a45937e4d4b2f8436f
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 21:10:30 2007 -0700

    Have git ignore nickle binary

commit 27873b849950eace51db8b02491f06cc0f0ec43c
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 21:07:48 2007 -0700

    Clean up some autotools warnings

commit 02f2eb1115ba8b7541e8448959b0357be4c89905
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 20:58:09 2007 -0700

    Make default rational display not include braces

commit 2bccdfcbbc85a86e544af1dd4f4e7756bd1f953a
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 20:46:52 2007 -0700

    Clean up some lintian warnings

commit 8b2a4a6bcf0fa2bf0187560ce4805f7fcce8796f
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Sun Sep 23 20:34:58 2007 -0700

    Construct ChangeLog from git history for distribution.
    
    Including a Changelog with the distributed code allows people not using the
    git version to see what has happened since the last release.

commit 89d28f4f223f96f6029fa4d373c39c3ff1779c40
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Thu Jul 19 00:12:49 2007 -0700

    No tail calls without a parent frame

commit d6e6609c4a5cd81742760a18d722ae2c8525b15a
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Thu Apr 26 08:07:55 2007 -0700

    Update to version 2.58

commit 897e8d99971cb1aa77662351f79ba6bcbffefa1c
Merge: 2016a94 44ec50f
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Thu Apr 26 07:50:03 2007 -0700

    Merge branch 'origin'

commit 2016a94eb42a4f078c55e1ae2c5e0f0ceac89df3
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 23:02:21 2007 -0700

    More ChangeLog removal from debian/rules and nickle.spec

commit 981d3c9742311d171336e6e0c8f070fc78a3bbd0
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 12:40:47 2007 -0700

    Use foreign automake option.
    
    Native automake requires ChangeLog file.

commit 7acdf0e3c6c2e56915f35f84ccc630e2ea38e3aa
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 12:21:56 2007 -0700

    Remove ChangeLog and remaining references

commit 667f493f249a0040cb095bb4f7232ca2494fd6d8
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 12:04:53 2007 -0700

    Move version number to configure.in script and out of ChangeLog.
    
    ChangeLog is no longer used, so move the package version number
    to configure.in

commit 0342ea7ea71bef8646bc851f17785f0bef45cff8
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 11:56:52 2007 -0700

    Avoid broken GCC signed integer changes using -fwrapv.
    
    Some utter idiot changed the semantics of signed integers in GCC. I'm afraid
    I can't express the level of incredulity I experienced when I learned of
    this change. Signed integers? Changing semantics? Have they any idea of
    level of random bugs this will expose?

commit f081b147735949d81d17060f766d4057bd385a58
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 11:46:16 2007 -0700

    PRNG is no longer loaded by default, tests need to load it.

commit b1146617f88c26e78ab3e6ecb8d344cbea9630f0
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 10:59:07 2007 -0700

    Merge IntBinaryOperate into BinaryOperate.
    
    This giant inline function was used only once.

commit 1739d9e887d3317a3cff95657419f29b98710b92
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Fri Mar 23 10:57:54 2007 -0700

    De-macroize allocator.
    
    Eliminate macros for main allocator functions; the function call overhead is
    not worth it.

commit 44ec50f2d511b62de12043b44b1269832a41587e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Mar 18 01:50:15 2007 -0700

    get rid of archaic "v" print and scan functions

commit db125426b90b6bacece1a35dc852a084684446a5
Author: Matthias Drochner <M.Drochner@fz-juelich.de>
Date:   Sat Feb 24 17:16:12 2007 -0800

    fixed signededness bug in integer carry calculation

commit cde771e23ecaf856c24e5f59a033fa604f17c896
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Feb 24 13:17:14 2007 -0800

    changed import PRNG to autoimport

commit b7a5a73aaa002d3ffee7452af8a2b55b519ad15f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Dec 20 23:16:05 2006 -0800

    CCITT/ITU CRC-32 computation example

commit 8a80fa756bd1f6465336cc2c77062790f4cdb4c7
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 18:14:16 2006 -0800

    example/fourfours was using xor instead of exponentiation

commit bf09d097b233433bb2d5be46ba233749b3fa4340
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 16:05:03 2006 -0800

    Fix release building portions of Makefile

commit b71a445cf9edabebf61f7ddeb0b66e6502ac238c
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 13:39:02 2006 -0800

    Update for 2.56 release. Fix 'release' target in Makefile.

commit 985ee1fc0374acca339eac36117888344d21933d
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 12:54:50 2006 -0800

    Uninitialized value visible during MemCollect in Catch record.
    
    Newly allocated memory is uninitialized and may contain garbage. If the
    allocator may be called during initialization of the object, all object
    fields must be initialized to a valid value before any further allocation
    occurs. This wasn't happening in the Catch object as the exception member
    was left unitialized while the continuation member was allocated.

commit 75a3ab50ceeb7314511448ae041134ed9106c564
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:48:42 2006 -0800

    Update debian files to 2.55 and new debian version

commit e5ba92562f689715fb59f27d535845ff9511ed26
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:48:15 2006 -0800

    Add fourfours.5c to examples Makefile.am

commit eae97db26e17447ac4cf1043453af11bd7c3dcab
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:39:04 2006 -0800

    Add changelog for previous commit, update version to 2.55

commit c582e76ae1452cc5a2eb6dc18e6522f2876e3878
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:34:03 2006 -0800

    Add four fours example.
    
    Using four '4's, find equations using unary and binary operators which
    compute ever integer from 1 to 100.

commit b20b748e4211c93bbc734fa41d20c5d0ae8ee4eb
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:33:16 2006 -0800

    Correct catch nest level inside multi-peer try/catch blocks.
    
    When a try/catch block has multiple catch elements, each of the catch blocks
    is a 'peer' of the others, exceptions raised inside any of them will not be
    handled by the peer catch. To do this, the compiler generates unwind code to
    set the exception stack to the right position before jumping into the
    exception handler function.
    
    This means that while compiling the exception handler function, the catch
    stack must match that from before entering the top-most catch peer. This was
    done by not pushing non-local objects on the non local stack while recursing
    to the peer catch block. However, aside from the nested catch blocks, the
    nested statement *must* have the correct number of non-local goto blocks.
    
    Instead of attempting to work around a shortage of non-local goto blocks
    while compiling the statement inside the try/catch, the non-local stack is
    stripped of peer catch blocks while compiling the exception handler.

commit 4525426c35809fa043e4f3c5e31b8eb54047d2d4
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 03:27:27 2006 -0800

    Fix memory debugging code (not built by default

commit 1d6ce081ad1f2205027cb5180cb9052772fceeb5
Merge: 8584b37 135fb9f
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Dec 5 01:22:54 2006 -0800

    Merge branch 'origin'

commit 135fb9f205c4664ec3d010e4d13013bf3a783a8f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Sep 23 20:40:18 2006 -0700

    Use "score" instead of "pct" for local, since the quantity
    is a score and not a percentage.

commit 14a340f73752e4c6ad7b09b8f84ef453b3a9ba8e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Sep 23 20:00:01 2006 -0700

    Completely revamped for modern Nickle, to take care of the
    clamping that should be performed in the calculation, and to
    give some references and rationale for the wacky formula.

commit 8584b377f56b7a44a9b56baeba5e07d45d6ede02
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Tue Aug 29 22:27:43 2006 -0700

    Doc string for File::print confused -1 (default) with -2 (sufficient).
    
    The documentation string for File::print stated that -1 used sufficient
    precision to represent the output exactly. This is wrong. -1 is an
    alias for the default precision (10). -2 is the value used to indicate
    sufficient precision should be used to represent the value exactly.

commit 11f4741efb4a662a0af3a816468ef83d002f9a10
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Sat May 20 11:07:54 2006 -0500

    time() builtin needs to return all 32 bits

commit 8bed6863b343acddad6fc8951ce3b83c44d4ec60
Author: Keith Packard <keithp@neko.keithp.com>
Date:   Sat May 20 10:47:21 2006 -0500

    Version 2.54. Compute NICKLELIBDIR at build time. Update debian build to 3.7.2

commit dccfc2bab5ad042a366c92d0ebc6b295a912401f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Feb 16 06:06:12 2006 +0000

    New example using continuations to implement channels and coroutines.

commit aa9ca7e62e1f9fcdd5940a3f21bee2322137a4ee
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Feb 16 05:46:09 2006 +0000

    Updated ChangeLog :-)
    New example using continuations.

commit da7006c1b4e6c8bc3fb0a5746dcc7a2502834ada
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Feb 13 05:46:19 2006 +0000

    New example using continuations.

commit 952a0eeff9e9dacf6955fbafcb67274cb3c6df40
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Jan 29 01:22:59 2006 +0000

    Update a bit to reflect current reality.

commit 63c0e18598d20d9cb283d6a520d8ccaf654be493
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Jan 28 23:17:25 2006 +0000

    Update for version 2.51-2.53

commit 6d17723725e976ef26596d062fc104766b56825c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Jan 28 20:05:26 2006 +0000

    Necessary version bump, no other changes.

commit c9593097382750f7216033df8372abc50537df40
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 24 18:36:35 2005 +0000

    Use rpmbuild instead of rpm to build rpms.
    Permit {} in numbers to allow exact rational input

commit 15fb3a5cff191da30db8eecacc9ddd4be6ec81cf
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Dec 24 07:53:39 2005 +0000

    Make usage() function user-visible by exporting closure when parse_args() is called.

commit 55be04624ec4f0deb6f53775a37d94b969da6357
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Dec 12 07:05:50 2005 +0000

    Update for version 2.52
    Since it's now autoimported, autoload ARC4 so that it will continue to work.
    Add needed autoloads/autoimports to make the examples work again. Not obvious that PRNG shouldn't continue to be loaded, and maybe even imported, although that would also force in ARC4 in the current implementation.

commit ede92e16e7998658a3648ea8b39799cea389834a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Dec 10 22:11:45 2005 +0000

    Update for version 2.51
    Don't load every random library; make the user autoload or autoimport them if they want them instead.
    Replaced putc and getc in copy function.
    Added &&= and ||= operators.
    Added Drop opcode needed for short-circuit code for &&= and ||=.

commit 3564c57b77f491a00c2443e60c747531b34c3433
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Dec 7 04:32:27 2005 +0000

    Update for version 2.50

commit 85b9e50f7cdfbe365c1541d294302904fb08a9eb
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 1 16:15:31 2005 +0000

    cbrt must use more intermediate precision to hit the specified error bound

commit a96d474cf9445e0dd3a3e67c55e1f47054d0a14a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Nov 20 08:49:33 2005 +0000

    New code to handle process creation provides system(), popen(), and run_process().

commit c283d668c690aae04267a99ae583db32a5ccbad5
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Oct 27 06:31:06 2005 +0000

    Fixed to cope properly where args field of argd is uninit. Most common cause: no optional arguments.

commit 6066cbd5eed1ec4d20efade71cb159d13ce0ae8c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Oct 20 18:24:22 2005 +0000

    Permit any numeric type in this function, result type will always be integer. Let run-time system catch any representation problems.

commit 4a64f9a79291099085622e146c00440c42c19a8b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Oct 5 06:17:07 2005 +0000

    Fixes for various buglets including mis-parsing single-character options and using the wrong variable in an error message.
    Changed the semantics of argv. It is now dim 0 iff the program reads from standard input *and* was not passed arguments.

commit e4c79eabe9936f298bccddcb6af161df2254811b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Oct 2 18:30:19 2005 +0000

    Older versions of GNU Make (before 3.80, apparently) seem to require shell invocation macros to be defined with :=
    Solaris yacc gives an error if a type is given to a non-terminal that does not actually appear in the grammar. Removed opttypename.

commit 3db2ae4c0dc4d528d0d370f44c952fa091902873
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Aug 3 18:07:47 2005 +0000

    Fix minor regression from argument parsing rewrite; library path was not augmented by script directory as it used to be.

commit da66ef35cfb6843dc00628f98b75a1ab62b4ed28
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Aug 3 06:34:06 2005 +0000

    Fix compiler warnings about signed/unsigned mismatches for StringNextChar (thanks GCC 4)
    Update for version 2.49 Use new readline (5), update policy to 3.6.2

commit a754a11f6a5820bc605e9a4b7b0fb853cca1e955
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Aug 3 04:42:53 2005 +0000

    Fix documentation to reflect new argument parsing.

commit bc845f39458598677fbfeeaa5fddb1a83d000800
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Aug 1 09:35:59 2005 +0000

    Bumped the version to reflect the incompatible changes.

commit 8a2a964aea5befac5eeb2556a1426b343f900df0
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Aug 1 09:20:30 2005 +0000

    Big rewrite of parse-args code to work better and be more usable. Will now accomodate Nickle startup.
    Changes to use parse-args instead of ad hoc argument parsing at startup. Changed key conventions: -e now takes a single argument; -e, -f, and -l can be freely mixed; interactive mode can now have argv through "--"; others?
    Fixed trivial spelling error.

commit 020c956026689f6270bff8556a4aafe91cb1f668
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 9 05:46:54 2005 +0000

    Set SO_BROADCAST just in case
    CompileCall with auto_reference == True must not return a pointer to the return type as this function is called from CompileLvalue which is defined to return the type of the underlying object, not a pointer to that type. The alternative is to return a reference type, and I'm fairly sure that's not right as & is supposed to return a pointer type, not a reference type, right?
    Make sure the nickle headers are installed
    Add a test for reference types which checks the above change

commit b9adbd89e45a1dadfaa6cb5fe2e104fe977c09b5
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 16 20:55:50 2005 +0000

    Prepare for version 2.48

commit fd2698e8cfc650b7104eacb3ca9f8cd370a2986f
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 16 20:48:33 2005 +0000

    &poly foo() { ... }; &poly x = &foo(); Compiler generated 'Dereference, do_reference' in this call which caused the object referenced by foo() to be copied. Notice case of call to reference value function followed by & operator and elide the Dereference/do_reference pair.

commit 832e52f02686f1c084e31ce494be9f8aa2b30c7b
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jun 5 01:03:42 2005 +0000

    Add π as an alias for pi
    Use signed_digit instead of long long

commit 15c6509f7c1521604f56a4f0892c5515a5c8e292
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 15 19:47:13 2005 +0000

    Update for version 2.47
    Builtin functions return pointers, not references as reference return values now auto-dereference

commit 224acddfb0c71576481b185f81290cdb72fce259
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 15 19:23:48 2005 +0000

    Check for NULL hash value in a valid hash element. This occurs when a reference to a hash element is made and then not stored through.

commit 746f7c0f8cd7bcf20f72cee0c3eceb2d5225c6a3
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 25 03:23:06 2005 +0000

    Initialize base.func pointer to NULL.
    reviewed by: Keith Packard

commit 17722446533988a648193d1e5e7778f098c99c04
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 14 16:58:53 2005 +0000

    Functions returning reference type need auto-dereference on return value

commit 5ef8945c0e50e59c74f34643675561f85431bc65
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 14 05:51:23 2005 +0000

    Bump to version 2.46

commit 2ae22162cf0868e7eb38ea0b5511cf6b39f3f44c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 14 05:44:00 2005 +0000

    Use error_type typedef instead of directly using the type.
    Use ArrayValue to catch uninitialized values
    Raise exception on non-float args
    Rearrange publish/class/type grammar elements to make them prettier Fix ignorenl decrementing to avoid going below zero on syntax error.

commit cb48e493587e7ca1419ab22616a922f0081608f7
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Dec 24 09:20:48 2004 +0000

    Update to version 2.45

commit 373ee99e719720a47366ef7af750ac1acea0c856
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 23 22:07:16 2004 +0000

    Change foreign API to include mark so that foreign objects can use nickle allocator if they like. Note this is an ABI incompatible change.
    EOF not handled correctly in '%s' scanf formats

commit df0df945509a35253d9aaa50a97ea6450f4d0225
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 19 03:01:01 2004 +0000

    Look for -ldl, but don't depend on that, instead look for dlopen et al directly. Makes it build on FreeBSD

commit 5efa521973ff1699f7dd28d7955026ee0ea6c9f5
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 18 07:12:40 2004 +0000

    Create and initialize dimension vector in BuildArrayType.

commit 8744f0c1f376da6d18dac1663848a36ce2e3f39c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Dec 17 05:49:33 2004 +0000

    Trim '0's from floating point when no precision is specified

commit da4820268b9e3531b4e34c06c02ce39cbaae7b71
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Dec 17 02:05:20 2004 +0000

    Add support for up to 100 user-defined types for builtin functions
    Fixed an execution ordering bug which should have caused an infinite loop in some weird file blocking cases.
    Don't print fractional part if it rounds to zero. Still need to trim trailing zeros from fractions.
    Best return 1 or the object will not actually be freed.
    Doc strings with multi-byte chars were broken.
    Add type construction helpers for foreign libraries

commit c0400042d277b792b0c93924027e2229bc27ba52
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 11 17:42:18 2004 +0000

    Forgot to add actual foreign dataype and interface code.

commit 2e8c0f8c168a0fa325b7ee8ca9d2068debec3795
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 11 07:46:49 2004 +0000

    Expose mechanism for using user-defined types in builtin functions

commit a3342f528271ad71feebc29af58ebfec6fc3cead
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 11 06:02:23 2004 +0000

    Add support for dlopen and Foreign datatypes
    Add block handlers. Change file block handling to use timers only on pipes, not on disk files or terminals. That makes for a lot fewer signals while idle at the prompt.

commit a109655693f01e5ca7cf3913ca473c77fdc010fe
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 11 05:02:53 2004 +0000

    ARC4 requires positive keys

commit 3ad0eb80cb11269ee883b96cb1496daeb27e1f45
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Dec 11 04:53:43 2004 +0000

    Round floats correctly for printing. Add double<->real conversion for (eventual) use in C code.

commit e24450697185280c445eed3d5a16e18517259399
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 9 23:27:13 2004 +0000

    Add #include <sys/time.h> as required for Mac OS X.
    reviewed by: Martin Hoch <hoch.martin@web.de>

commit 67e42ff16101341f3097b119172128feb887a899
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 2 05:28:38 2004 +0000

    Don't ship non-DFSG examples. Update to version 2.44 Fix debian bits to ignore extra (necessary) COPYING files Mark debian/copyright with all Copyright data

commit 90b8c8d2c4bd6da65da2ebe844b9f3ce0c9979c5
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 2 04:17:39 2004 +0000

    Must reference new stack object before allocating chunks lest the collector run and eat our stack. Zero out previous pointer to make sure the stack is valid in case the collector is called.
    Declare panic when debugging stack problems.

commit 3c256d0557beee4e365bf30a802f945434b12466
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 30 19:51:16 2004 +0000

    Provide hash function for float representation
    Implement general purpose crc32 function for hashing
    Use crc32 hash for naturals and strings
    Return Zero for representations without hash functions instead of uninit (oops). Initialize datacache to zero before adding as a root (just a cleanup)

commit ec2b05cdf7ab5aa024c29de2174fd932a97b01d6
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Nov 30 18:34:41 2004 +0000

    Made abort() available a bit earlier.

commit f99d6443ff0d46482c7f6490c29e2e695fccee1e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Nov 30 18:28:21 2004 +0000

    math.5c Added lsb()

commit a4e8b0bbc63030b0350f102b5e323b3299560d61
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 30 05:27:53 2004 +0000

    Move AC_CONFIG_AUX_DIR above AM_INIT_AUTOMAKE as needed for new automake version

commit 33fee3712fe99792265496b3d6f8349b043cb6b6
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 30 05:16:08 2004 +0000

    Call to panic had wrong arguments and caused a segfault.

commit 6bff6e3cf421c92b40ba732c95a76d7889d73530
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Nov 23 05:02:07 2004 +0000

    Change dims() to return dimensions in order consistent with array defns, setdims(), etc. Bug discovered by Jeremy Greenwald.

commit a7aa5a61aa6ba5ec5f9b35299450f8b1b46ede23
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 19 06:53:05 2004 +0000

    Change copyright symbol encoding from Latin-1 to UTF-8
    Catch negative array dimensions. Bug discovered by James LaMar

commit 30ad9204bf1ca9ce94e49d1ca5a2e8f4687cc5c9
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 15 20:16:38 2004 +0000

    Add a bunch of copyright and license information

commit 260c59910515526885a2866eb585c91559f9ec48
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 15 19:58:39 2004 +0000

    Lost **= somehow.

commit fa88ecbb671c881efa9277a7265aa2443767852d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 15 19:32:43 2004 +0000

    Implicitly initialize resizable arrays to zero-length array.

commit 14ceda097f2762d6cb71c463d2862f4ef2c06078
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 15 19:31:41 2004 +0000

    Add licensing information to some of the examples

commit fc8931ed39d990a12f610f7a36d210f5dcd0f5c8
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Nov 8 08:53:24 2004 +0000

    inchars() had the arguments to index() backward.

commit ae524ce01f9724dc61e0b89c01f5ad2e65bac8ac
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Nov 8 06:32:10 2004 +0000

    Forgot "public" in previous checkin.

commit e7faea2ec37ebe31bbb726b263f5a4bc2ad5e79e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Nov 8 06:28:38 2004 +0000

    Add shiftn(), shift(), chump() functions.

commit 7e5d477b1aa02824b9aa62f52d7c5faafa0daaf6
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Nov 8 06:06:44 2004 +0000

    Add wordsplit() function.

commit 7ab81bf7a4ed461875f5271e6156c4126887840d
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Nov 8 06:01:51 2004 +0000

    Failed to commit the ChangeLog long ago. Oops.

commit 15732e5f578d9f91899406cc7eba4cd3b13d5bb1
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Oct 20 06:17:55 2004 +0000

    Permit any non-ASCII character in an identifier. Better discrimination requires a better lexer generator as flex can't deal with UTF-8.

commit 3d8ec7976f93b166ce1fc715678e0d9f7df1f01e
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Oct 17 23:34:34 2004 +0000

    Add POW2 and POW3 operators
    Add several non-ascii character equivalents. Make \r be white space (and ignored)
    Remove spurious semi-colon from ALLOCATE definition.

commit 66664688212feb0cc4a0dc4f71555a63af9c5d45
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 9 22:49:07 2004 +0000

    Permit multiple namespaces in import statements

commit 1209101c78a08c8d044729dce5575c6e1fc56f9a
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 9 22:38:28 2004 +0000

    Optimize shifts of small ints by small ints

commit ead913203756ec040f51289f9b2f69f95c10bd8b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Oct 1 19:58:54 2004 +0000

    Compiler dumped core when trying to create a variable of incomplete structure type.

commit 71ad1daab5b1aa1d5bb89eda8ab60520fbe98ed2
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Sep 22 16:51:31 2004 +0000

    Made try blocks as well as try statements not create a new scope, for convenience in using try the way it is intended to be used.

commit 03877252224598811fc695d41835e683ef0035ef
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Sep 22 07:01:10 2004 +0000

    Added operator precedences to resolve 3 of 4 shift/reduce conflicts in the grammar.
    Make sure builtin.o is always rebuilt, so that the "build" variable is kept up-to-date.

commit a1cae8f4499722a9962b96c4013490163a7ed451
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Sep 18 05:04:17 2004 +0000

    Resizing arrays to zero elements would cause segfault when adding to the array

commit 38c1dc1af8ce6897483b3a96e0df603a2b1226f4
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Sep 17 08:05:16 2004 +0000

    Fixed to include soln to second puzzle. Learned a lot about Nickle doing this!

commit 497b4160563e820dd0799cf1fb9dcb69d06fc445
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Sep 17 06:57:24 2004 +0000

    Fixed to return proper answer :-). Learned a lot about Nickle on this one :-) :-).

commit 1323796bad6f424ab3a0e161ca559157c504365f
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Sep 17 01:16:05 2004 +0000

    Avoid having leading 0's convert in octal. Reformat to reasonable line lengths. Note that this still gets the wrong answer.

commit e1585ca40e498eba3151d89feac68ee7726c25ea
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Sep 16 17:53:48 2004 +0000

    Added Google puzzle solution. Needs to be cleaned up after Nickle bugs are fixed.

commit ee82a7b31b94ee2cb95fb1b9cda315d5eb69705c
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Aug 23 00:42:06 2004 +0000

    Base is allowed to be zero (in which case it uses 10).

commit 0f1cb525cfa9d3aea1e89c41f906a3269cdb74a2
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Aug 22 23:45:32 2004 +0000

    don't allow bases smaller than 2 in do_File_print(). Closes bug report by Clem Taylor <clemtaylor@comcast.net>.

commit 2712256f8ce211137390e5aa26eebeb5147b46bf
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 13 04:40:18 2004 +0000

    add clean-local to remove nickle.1 and nickle.spec
    Update to version 2.43

commit c91ab5248d3abca55d2da665e2eb0e78d6775a28
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Aug 10 17:45:40 2004 +0000

    Clean up new allocator implementation.

commit 92cb0a21ad5d1898668e2e23af807d8b0439fb74
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Aug 10 07:39:55 2004 +0000

    Remove avl tree code
    Rewrite garbage collector to place reference bits right in each object by stealing the low bit of the type pointer.

commit 9dcbb32471a64d9ac028838a7d580be84ffcd7d2
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Aug 4 18:38:53 2004 +0000

    Update to 2.42, noting significant changes.

commit a9ae70bd7116bc41a10b4cde746935f7ea92169a
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Aug 4 18:19:28 2004 +0000

    Bump version to 2.42

commit 3adb14d7b15577163b376546986596ab0a685b3e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 29 00:23:33 2004 +0000

    Unlimit stack so that GC can recurse forever
    Add skiplists
    Fix precedence of ** so that ++x**2 works
    Make sure hash element in table is valid before comparing
    Track newlines in files better.
    Add comments about x value for each test.

commit 07b97b9bbabeb98422a1bf5b73475edf6a855504
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Jul 22 19:42:06 2004 +0000

    Be able to mark a box uninit (for shift())

commit 1e0330c88654abb90d946abffe985e9025df7e4e
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 9 18:48:35 2004 +0000

    Missed a few pointers in mark code
    A nasty one -- jumping into a continuation that is referenced from the thread object itself (catch) drops the reference to the continuation before finishing the jump. Combined with careful MemCollect timing, this can break the resulting thread state.
    Add assertions to make sure the stack pointer is in range
    Deal with non-blocking file descriptors

commit 0afa63caad9da7200b8c837ee22d6112f1a1b899
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jul 7 07:32:47 2004 +0000

    Parallel catch blocks are peers, not nested. This affects how FarJump execution inside them happens; in particular, all of the peer catches are unwound before the handler is invoked so all jumps from inside use the same NonLocal data structure. Also added yet more debugging to continuation execution.
    Allow 'enum switch'

commit e4d2f4ffaa0f18bab62f08598b96f14bc61758b9
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Jun 23 09:00:46 2004 +0000

    Added rudimentary SVG output namespace. Added example: Floyd-Warshall all-pairs shortest-path algorithm. Added example: program illustrating both of above.

commit 53b88095daec0da5ad7bdf4791c2b35f4721c5aa
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 19 19:56:45 2004 +0000

    Tail call to lonjmp should not pop frame
    Make 'g' format print only the declaration, leaving 'v' printing the definition as well.
    Clean up continuation debug code to include call trace and adjust for changes since the last time it was used.

commit 697b3f3d1abbf7c62c9cc6488a5c13aa7a3f17dd
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jun 18 00:30:33 2004 +0000

    Add commands to upload release files to nickle.org
    Note changes since last debian package (2.38)

commit 94e2b5090811d32a6f1776fb9711cd9836dc7cfc
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 17 23:53:41 2004 +0000

    Generalize the previous fix to handle the remaining cases, including names.

commit 6ec547f14ec5bca43bad8b1d19d59667a2ef64c2
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 17 20:46:09 2004 +0000

    Update conflict comment to note new reduce/reduce conflicts caused by accepting ** and && as unary operators

commit f29f0e8ac135a917b908abf965c3888b8d5c7c1a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 17 20:30:47 2004 +0000

    Handle nested & in Lvalues with auto_reference so that &&7 works.
    Make ** and && work as unary operators. Get CodePtr out of CurrentFrame so that execution can refer to frame contents up the static link.

commit 2ad5e719500d4bc1692a4e27db117eaeee2fc080
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 14 06:58:32 2004 +0000

    Don't open /dev/null until needed for mkchild

commit 95f0b405f264ab5719e22c1ddcc2759b1233ef14
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 14 06:43:33 2004 +0000

    Add CVS Header and Copyright
    Clean up function doc comments
    Use 0.{3} for 1/3
    Remove typeGroup/typeField Add (#if 0'd out) TypeIsCotype while we figure out how its supposed to work.

commit 4d6ea5264c7da9f47edade95b1bebc1561f5cb8c
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 8 09:30:54 2004 +0000

    Add doc strings to all functions and exceptions.

commit a6efac7fc662cb1f49bbfb88a0007ef37e0b931f
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 3 07:46:23 2004 +0000

    Fix fix for crash with empty array/hash initializers (really do need 'null' node in expr tree)

commit 86269e10bb1eafc2e79e257cf1e90a579eff8e91
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 3 07:29:17 2004 +0000

    Fix crash with empty array/hash initializers

commit db682242a9c10dce96d3f60b125ce2af3f4ebdde
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 3 06:55:24 2004 +0000

    Eliminate 'primary' non-terminal. Add ENDFILE token to ensure files end at top level. Change NL handling to allow NL after simple declarations Allow 'func' values to not require SEMI termination

commit 3c3c8ead1ef5417a91bffb1e4e7786767b25e237
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 28 06:41:34 2004 +0000

    Build nickle.1 and nickle.spec from Makefile where VERSION is set Update to version 2.38

commit b4da997fd2b43fbe2e380a5c8753c65850215ce5
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 28 06:02:22 2004 +0000

    Update for 2.37

commit 21ab8f0b13ef1fa5104810a723641b7d891432a1
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 28 02:58:14 2004 +0000

    Overflow detection from small integer add/subtract was broken.

commit bbc98790df5ca0cffc02d2ff7dca6d24ed3686fe
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 28 01:26:38 2004 +0000

    Ceiling, not Round for negative left operand in shift right

commit fb29c84f5362ceca620bc3d8a961ed4bf4716af8
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 28 00:36:41 2004 +0000

    Update .cvsignore files

commit 5980b01903b27e524dd8101d29d51bea3bf8287a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 27 23:30:55 2004 +0000

    Bogus effort to truncate compliment answers resulted in broken IntegerLand operation

commit b6d2f0c23be55a5522c1d5a364fd8510af1676aa
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 08:59:23 2004 +0000

    Distinguish between array types of static variables and initializers within static scope -- dimension storage is different.
    update to version 2.36

commit 84b452afa8411147e07993d2e6edb77091f3b36c
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 08:11:10 2004 +0000

    Clean up examples to not try and run themselves as scripts

commit 5e1a04a2538b970ea0f89c7d4a4b3d1d921bd111
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 08:01:42 2004 +0000

    Array dimension values are always local in static initializers
    Clean up examples so they all work again. Remove old files. add 'scanf' to top-level namespace

commit 0860046f9754d93df03804adf883b63d0b39c04c
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 05:54:02 2004 +0000

    Add version-sh.in

commit 2f3f76ff4f7cbf95203200bd0844121ebe8cafdf
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 05:53:31 2004 +0000

    Move version 2.35 mark in preparation for tag

commit 8044204a5f7256a83cbb531ea1f96009ba340c36
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 05:52:53 2004 +0000

    Completely ignore VERSION support from configure and grub it out of the ChangeLog using $(shell) from the Makefile.

commit 4eae4e6c1fe5ed1b40a48d12b275a9303365af45
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 03:35:28 2004 +0000

    Add comments for version 2.35

commit efe734b2f7e4a84694afd635158b288bb3188957
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 26 03:13:06 2004 +0000

    Allow &rvalue and have it automatically box the value.

commit 58877a1554c06a939e8926e479e0912d254c72ad
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun May 23 06:01:51 2004 +0000

    Make version.h from ChangeLog now. Will require ChangeLog version number maintenance, but hopefully will mean it gets bumped now.

commit 0b9f90525fbf3363bc185a6adbdf2aad722c840a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 21 06:10:34 2004 +0000

    Ok, so the previous change was incomplete.
    Restructure CompileLvalue so that the processing of ampersands is unified. The unified rules were changed so that the value of a reference to a reference type is converted to a pointer instead of a reference. That seems confusing enough. Basically, it allows:
    &int r;
    *&int pr = & & r;

commit 00836f1153e7612bdfe88dd124e653f16ce51a6c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 21 05:21:13 2004 +0000

    When compiling '&' expressions, if the operand is of ref type, the result type is the referenced type, not NULL.

commit ebcff0ac30a9364f20ddf0833262f3b068263541
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu May 20 09:51:55 2004 +0000

    Bugged previous code.

commit ce0dba4cf4aa8cda5573f069295063ec2b337508
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu May 20 09:37:38 2004 +0000

    Two-argument for() loop is legal now (no init expr).

commit d09711c01d7e42e17a6e1e27d57d71cb921915e8
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue May 18 06:26:03 2004 +0000

    New argument parsing library.

commit c1839e070adea859b62ea87892b19f612d86939a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu May 13 22:17:20 2004 +0000

    Rebuild dequote() and parse_csv() to handle quote contexts using generator functions.

commit 9053f3605a5acbc5dea399cd84e12c461f3281a0
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu May 13 21:16:52 2004 +0000

    Rename is_defined() to is_uninit().

commit 04ecabb7cf3688d5cc04170748bef0de4a9bbf73
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu May 13 08:21:44 2004 +0000

    Added boolean is_defined(&poly)

commit f70b1380317e3d5e427a1d0e02c57a08416b5ed3
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 23 16:48:12 2004 +0000

    Turn each test into an assertion which exits with an error on failure so that 'make check' validates the interpreter

commit 63ad3b77deb1061de605eefe270df24e6b982df2
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 19 03:13:39 2004 +0000

    Label profile times in ms
    profile tracking code was quite busted, generating largely random numbers.

commit 1ab2fb73bd8f6872b900454d254b06c37079b3c1
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 16 21:41:52 2004 +0000

    Change string representation to counted rather than null-terminated. Allow nulls in the middle of strings. Trap strings with nulls passed to the operating system. Raise exception when attempting to access the null which is stored off the end of the string.

commit 15537e7d511f278af79b5cbd5de4dc7402fb00bc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 18:19:08 2004 +0000

    Last field wasn't being chomped and dequoted.

commit e9f5e2c52b83e79145a009ba117c5853726b5aad
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 18:09:26 2004 +0000

    Fixed unclosed string detection case in parse_csv. Fixed unclosed string detection in _dequote. Fixed function name in parse_csv exception msg.

commit 4a0f0f4eeacc71c7ee080e8795990084b645a711
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 09:34:30 2004 +0000

    Allow a zero-length substr() at the end of the string.
    Clean up a bunch of substr() references. Remove accidental redundant code.

commit c294b5f48f338f316cb1144a80a7c67a07a83140
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 08:24:58 2004 +0000

    Handle emitting backslash in quoted string properly.

commit adcf8dcadce46d9dab98c6a402baaa5491c33d4c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 07:46:02 2004 +0000

    Added new string functions _dequote(), dequote(), inchars(), readcsv(), and associated machinery.
    String depends on Ctype now, so reordered.

commit 96eae7a6a230527128675c9f78866f485af577b0
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 16 06:06:01 2004 +0000

    Fix warning about uninit 'good'

commit c96735976f17d7860af404c43c8d7d4a9e3e846a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 16 06:02:07 2004 +0000

    Always regenerate configure in case version.m4 changes
    Update to autoconf 2.59 syntax
    Update to version 2.31

commit cb7dd3f2fd90351be179131a5e73dbaa1cb9839d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 16 05:26:45 2004 +0000

    Change resizable array representation to be a vector of single entry boxes. This allows clean semantics for array shrinking -- outranged elements still have storage, but are no longer accessible through the array, even if the array is subsequently enlarged.
    Change File::end semantic to actually peek at the file and check whether the next read would return EOF. This seems like the only useful semantic here.
    Was using ArrayDims instead of ArrayLimits
    white space change
    Must propogate error when appending objects together

commit d3ff5a705869ba7f1d70a659ce2d38dbce5519d7
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 16 03:37:12 2004 +0000

    Allow identifiers to start with "_".

commit ca9219b31470771f41b00ffc053e2664f04c0e73
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 15 05:37:36 2004 +0000

    Make hash table grow when full on get of default value. Clean boundary case in test in HashSet. Keithp really did this.
    reviewed by: Keith Packard <keithp@keithp.com>

commit c235715f7e31e62b8a9c449b2df8abc659607713
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Apr 11 09:33:25 2004 +0000

    Added split() function

commit 9264194e2386bfd56685ab68b8d2bed664177448
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 07:02:12 2004 +0000

    Add AM_MAINTAINER_MODE
    Update debian to 2.30
    Update version to 2.30

commit 0306de21d12ab1289a58ec710f88e646df247f15
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 06:43:19 2004 +0000

    Primitive docs for resizable arrays and hashes.

commit 051c59c3cdf9505fdf39e29ba6025a780c274690
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 06:27:11 2004 +0000

    setdims arguments need to be inverted to match array dimension order for ArrayResize.

commit e608d3fb1a5d986f235aa1b26d35333d851142be
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 06:20:34 2004 +0000

    Ugh. Array shrink causes problems with references to elements now outside the box boundaries. "real" fix is hard, so here's a kludge to keep the interpreter from crashing and (perhaps) prevent the error from propagating through the application.

commit 916ecac2621ee3ecd34f873c58d9f4f26bc42c08
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 06:06:52 2004 +0000

    Make value distinction between resizable and unresizable arrays. Types now use '...' for resizable arrays and '*' for unresizable arrays of unspecified size.
    Also fixed a bug in the implicit array dimension computation for multi-dimensional arrays -- the dimensions were compiled in the reverse order.

commit 22979ba5eec5cb6a3e9991e61a971ca794b774cd
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 11 02:30:22 2004 +0000

    Add default hash table values, and initializes for same.
    Oops. Poly couldn't be a ref

commit 4c0748024a659f99000b5c5a2039f7930f97355a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 2 07:18:59 2004 +0000

    Mark debian bug 241417 closed

commit bf1726f44f951f9a26bf4e6d63ed4a569bf2e4c6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 2 07:06:17 2004 +0000

    Update to 2.29-1
    More pointer casting magic for gcc on ia64

commit 48514e9f806e60741ae00aa43f6cb66e2b06da7c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Apr 1 22:06:01 2004 +0000

    Ouch. NaturalRslInplace was not checking argument for zero

commit 5e38946735ffd2de0e788a19c0f16277837ab6eb
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Apr 1 19:49:56 2004 +0000

    Mike Harris provided a new .spec file.
    Move .spec file to .spec.in so that version can be set automatically.
    Add 'rpm' target in the Makefile
    Bump version (now 2.29)
    reviewed by: Mike Harris <mharris@redhat.com>

commit 54e83da04b60c93077271efc6582804d1cb01831
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Apr 1 19:47:39 2004 +0000

    Add casts to avoid warnings where sizeof (int) != sizeof (void *)

commit 5d2cf2dda0e03c263fb645b911bdb0a7cd2362a8
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Apr 1 15:48:23 2004 +0000

    Debian bug 241417
    Catch File::open_error when loading files and print reasonable message. exit(1) immediately if an file or library from the command line fails load.

commit 0a4a65dce408176ae254845442e0dc867d069305
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 3 03:09:54 2004 +0000

    Separate build dependencies with commas

commit c9115fb18d3c9dbf714c7018dd8065a928a819c2
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 05:53:12 2004 +0000

    Fix debuild stuff to always recreate tar files and share setup
    Update to 2.28

commit e99285011aaabba77432f812c6d2f248394ac2fd
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Feb 27 05:13:46 2004 +0000

    fixed buglet, remembered to bump version

commit 3c2a2d1387d2da45a9864ef759a3983eecefb3a7
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 05:12:24 2004 +0000

    Oops, lost package signing

commit a87b0ee45855189b13c8a8db16c58c28c965fee0
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Feb 27 05:05:18 2004 +0000

    Added true integer logarithm

commit 5c00e71fed2bf85de3aff7a671b5d241248a5d6c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 04:49:07 2004 +0000

    Add separate targets for signed/unsigned packages

commit 95eae85ab4555a245da9704117a277ef821a45b8
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 04:44:39 2004 +0000

    Add DEBUILD_OPTS to pass options from make command line

commit 50b2bca9c29c545cb253a6b1e208bbf4ef40e5b8
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 04:13:55 2004 +0000

    DIE DIE DIE

commit 68c3cdcbf23f77d93c0410ed62396ae699cb347f
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 04:13:08 2004 +0000

    Work harder at getting rid of builtin directory

commit 6843340b341555e99b6eee66e4be5a4da0a02a9e
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 04:10:25 2004 +0000

    Get rid of builtin directory contents

commit 3b525bf3523fe4c1f660e7642fa28427ebeb31a6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 03:50:16 2004 +0000

    version.h has moved
    Every file Change copyright to 2004

commit 84fe9b5d9174a06b84da968af159c19f919c3cb6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 27 03:19:59 2004 +0000

    Clean up debian build instructions to make non-native package that conforms to policy. Change version.h build instructions

commit 476b52500137d3b474d847d2ab02813417c57626
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Feb 27 01:40:58 2004 +0000

    Fixed some initial build bugs with update-version usage.

commit b41763ef9a39f5dc71a2d97c3d1512a69444461c
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 16 07:41:41 2004 +0000

    Move builtin sources to top level directory so that make works right -- leaving them in the subdir meant that yacc/lex wouldn't get run at the right time.
    Use unsigned bitfields to make :1 values easier to read in gdb Prototype more functions
    Switch standards version to 3.5.10 to make lintian happy
    Don't install .cvsignore files in docs

commit 13f5fc742e35ec27d826fa748f22ec6a20da2905
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 16 00:15:05 2004 +0000

    Fix EXTRA_DIST. Remove automatic version number updates. That should be done by CVS. Make separate build dir work.
    Take over debian package creation.
    Add 'D' format to print out 64-bit values (for tick counts)

commit 3fdfbf7c9e930d5be186b990064d69d0636f6ae2
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Feb 7 00:46:58 2004 +0000

    Made printf format strings of the form %0* work properly.

commit 89d2791a9d04b8928522a30d194e76e052c8325f
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jan 17 15:32:15 2004 +0000

    box->replace was uninitialized

commit 1b0f8ea96d0a07b190ff13ee7834c14d5e7f31a8
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jan 10 06:20:02 2004 +0000

    Switch fds to nonblocking for connect/accept calls

commit 6d62545e582343a4f5daa1ef5c3f6bd476aa272a
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 14 07:45:01 2003 +0000

    Use canonical type to see if ANONINIT is an array. Don't need to call TypeCanon before recursive CompileImplicitInit call.

commit 4ca53b50077ead73d48d535fe138e5561cf3ff2c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Dec 4 07:04:18 2003 +0000

    Fixed weird missing semicolon.

commit 69e510554cf1d6c6968c885a1635c637d39a0c65
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 25 19:00:33 2003 +0000

    Use automatic dependencies, fix up yacc stuff a bit. Replace autogen.sh with short version
    (this change was lost by a mistaken commit to the wrong repository...)
    Couple of valgrind problems: Initialize branch.offset field in all instructions so that CompileIsReachable can blindly fetch them before the real offset is set. Set the static link offset to zero for names contained in declarations; it was otherwise uninitialized.

commit 4fdec2cf1458caebdd6d0ad21ea13f4b3209e7ad
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 25 18:37:08 2003 +0000

    Eliminate bogus explicit dependencies from Makefile.am Eliminate need for gram.h in builtins Move #include version.h from builtin.h to builtin.c

commit e6380e1595df113d4fe481ab08eff689110957eb
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 24 01:30:44 2003 +0000

    Strings are separated by whitespace in scanf

commit cce0c479595883cba762ed6c29c23513738e32fc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Oct 15 19:28:15 2003 +0000

    Fixed missing dependency in auto-version stuff.

commit d573c9234fdbf4ef46abadc44e2b2d11eccbf855
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Oct 15 09:16:23 2003 +0000

    Installation instructions for novices.

commit 49a79a1d9c3a0776588697b94f482ad5de37b3bb
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Oct 14 01:43:55 2003 +0000

    More fixes to make auto-version work.

commit 4076cffdcddad30ce9749faed34b97952bafb2a2
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Oct 14 01:20:29 2003 +0000

    Experimental changes to auto-increment the version number. I can't stand it any longer :-).

commit 000b6e5f465fdbc893662b3e8bab0e3f77bc5bb2
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Oct 13 18:44:24 2003 +0000

    close errpipe on fork failure in FileFilter

commit 983a5752ecb0949aad6750f23044dd8b7d18229d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Oct 13 18:43:52 2003 +0000

    Poll for read blocked (pipes busted on Linux)

commit a7f2ef3b4512bca85d7bab45c528a76baebc93f4
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Oct 13 18:14:51 2003 +0000

    Leave file descriptors blocking. Check with select before read/write. This allows nickle files to be shared with subprocesses cleanly. It does introduce a minor race if nickle and another application attempt to read at the same time, nickle may select and then try to read which may in fact block. It's a small window, so I'm not going to worry about it, the benefit of leaving fds blocking is too great.

commit 09fc02f6c49e6eadc99529c4c115f7ae77086174
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Oct 13 06:15:24 2003 +0000

    added mkchild()

commit 3ad6981a518291cccc1f04bae30f4543dbbbe311
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Oct 13 05:48:57 2003 +0000

    Cleaned up File namespace substantially. In particular, added file.5c to hold non printf/scanf File code.

commit 06801de6f5d43ba4180568481cc861fdb5d5e2a0
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Oct 13 05:08:41 2003 +0000

    Use SIGCHLD to trigger wait

commit 7feef2e8b962ef19308247554e3f8ed29ffd47e3
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Oct 13 04:33:36 2003 +0000

    Replace pipe() builtin with filter() and mkpipe(). Yes, the name mkpipe() is a poor choice, but didn't want existing apps to be confused about what happened. Will implement popen() atop these primitives eventually.

commit e7dc87f792f447bb0b66e8831f6132c999fc7044
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Oct 11 09:50:05 2003 +0000

    Use close-on-exec to make Popen fail in parent if exec fails in child (thanks Keith)

commit 6b50480539b821d16345e865a3241a23ada21282
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Oct 10 05:00:49 2003 +0000

    The temp value in the shuffler was int, but should have been poly. Oops.

commit 0a0f475d0f80ae364fea4761ec57e89d20906aaa
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Sep 16 01:18:30 2003 +0000

    Speed up detection of large fractional part in rational printing. Speed up rational power by doing only a single GCD

commit ee665eb83e1c46a533c7f8032d760a6f8af01fbc
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 25 23:47:54 2003 +0000

    Hash tables map keys to storage. Compile array dims in the right order

commit a1b1d9e8d6814793891fafe7d09846adb58b676a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 24 18:10:19 2003 +0000

    Array types include dimension expressions. These are now evaluated where the type is declared and stored in the appropriate context.
    OpGlobal/OpLocal/OpStatic now all changed to not point at the symbol table and instead point directly to storage. Should be faster, needed to reference array dimension storage created above.

commit b2b348c113a7907bd260f554bf3ad2185d5b8e67
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 22 04:32:36 2003 +0000

    Eliminate bogus function layer in Hash API. Switch hash initializes from colon to double arrow (=>) Fix hash printing to produce re-parsable output Make HashHash compute reasonable hash values Add hash_key builtin

commit 1a49831f089136c4fa29d717b96b064917ab7391
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jul 21 22:22:11 2003 +0000

    Add hashes, fix subscript type printing

commit 6f6cc699a39b6fe61424bff2fb0641d7bd8f8b7e
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 11 16:27:34 2003 +0000

    Replaced ad-hoc autoconf version check in autogen.sh with AC_PREREQ in configure.in

commit bef226701845873735e906001e009deb35d42ec6
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 10 17:43:53 2003 +0000

    Updated .cvsignore

commit 06a28ebe1ccbb3eff3f2df06a1554e32423f7859
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Mon Jul 7 16:12:48 2003 +0000

    fixing an error in autogen.sh

commit 864520a6b4b1106e5575aa221cb6135ab485bd44
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Mon Jul 7 16:03:33 2003 +0000

    In autogen.sh, bart's test for the version of autoconf had a >= instead of a <=, so I changed it.

commit dd69efb24ffcf1a4add6f0437f727e501d4e8c1e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jul 7 02:36:24 2003 +0000

    Make sure that stale autoconf doesn't confuse folks

commit 7e0bf17b2b2a338b5de5dcb4b901ca43a48bba10
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jul 7 02:24:47 2003 +0000

    Make the debug trace depth user specifiable

commit 158d8b40ef604c2f9e95a4dc59348014eecdf18b
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 30 04:53:43 2003 +0000

    Tag arrays as resizable/fixed-size. Add setdims and setdim builtins

commit e775c0d4e1955a3991542985b034290f66c1a1c4
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jun 29 22:31:22 2003 +0000

    Dim function returns logical rather than actual array sizes

commit 6fede5c18bb73352074b9622c25327332ed804b8
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jun 29 18:16:20 2003 +0000

    Eliminate CDEBUGFLAGS as useless

commit 7d0acd89486773bd0e182ef2be5f281c23ade48c
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jun 29 18:15:27 2003 +0000

    Set data type after reference in allocate to avoid walking uninit structs

commit 54ba2ee8cb67169a56bca0bf72e14a1b33785587
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Jun 27 08:18:29 2003 +0000

    The claim that libtool 1.5 is necessary appears bogus for Nickle, and libtool 1.5 is not in Debian yet.

commit 55a59017088ac5d8504e8a9b749216c5f3827a31
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 26 11:18:22 2003 +0000

    Make sure continuations are initialized in the right order to preserve invarients tested in ContinuationMark

commit 8ce21c86f7136a937ac6337455eb1a96a5d8d759
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 26 08:59:10 2003 +0000

    Add File::reopen

commit 2ca9220c73abb2bc89a33aa6702e7f0f7e353fa6
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 25 19:52:50 2003 +0000

    Switch to autogen.sh and force use of automake-1.7 et alia

commit 0f3e8830651be5f0a7ec5ecef2d60b8636603720
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 25 19:49:14 2003 +0000

    Add stack trace to unhandled exception message, reformat message to reduce wasted space

commit 6fc2bee66bf098cbfe7ff71249e206d8337f3098
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Jun 18 02:49:44 2003 +0000

    Make the build environment compatible with reasonably modern autoconf, suppressing random warnings.

commit 478bc51cf2da08ae01c41929e11691dcdfad84e9
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 17 17:15:46 2003 +0000

    Make array output match lexer format

commit 346a170915c453c79dc25346bbf72f1b8488e260
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 17 17:10:15 2003 +0000

    Set type for anonymous poly arrays

commit 287254158b2ea1c3f919303b54370e6c69dd4d58
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 17 16:49:40 2003 +0000

    implicit Debug::done on EOF

commit 877d2dfe40289703fb1efeba98448e1c476a734b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Jun 17 03:53:14 2003 +0000

    Added vprintf()

commit 3aa139b60989b0994ab2a097943987951dfeb9a1
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 11 05:02:42 2003 +0000

    Add a couple of network address conversion utilities

commit e66f685102b4d37788c5a124e71908d053fca565
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 11 05:01:56 2003 +0000

    Allow declarations to be lvalues. Typecheck printf arguments against format string. Do correct base conversions in scanf for b, o, x formats. Include only appropriate characters for each numeric scanf format. Rename Sockets namespace to Socket Add Socket::gethostname and Socket::getsockname.

commit 382b9329d849c371f3ecbbb23828dc4f5c976aba
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 10 00:42:46 2003 +0000

    Make nickle exit with error status when the last thread dies with an exception

commit bb6e5e8a796f9578a543da22537887ac6f06e81c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jun 9 20:49:09 2003 +0000

    Refuse to quietly live without -lreadline during configuration. Clean up horrible acinclude.m4 formatting. Make autoconfigure.sh not tell you to type make if configure fails.

commit 2c27f29a1b248bc02693fd1bef153f742da922d1
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 7 18:21:19 2003 +0000

    Fix up debian package build and make dist

commit 1e39963352cb726a737c84d2eed45b9d46bfc0a9
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Jun 7 00:13:32 2003 +0000

    Fixed introductory sentences.

commit 971d8f520b2d968466d2dc04f3c18fd9e5ffdefd
Author: Robert Burgess <p186@cs.pdx.edu>
Date:   Fri Jun 6 22:31:35 2003 +0000

    Added comment by null statement in statements section.

commit bb6f6df1a2e74e6e95efb0b22f9e2d9120faf635
Author: Robert Burgess <p186@cs.pdx.edu>
Date:   Fri Jun 6 22:26:24 2003 +0000

    Changed lists to synopses. Tour subsection removed. Got repository up-to-date.

commit be56219c1c3e3e50f214e478532ae5be32e6b226
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 5 23:51:23 2003 +0000

    Make multiple catch blocks in the same try statement handled at the same catch level instead of being nested

commit 9ff8ad07085ed9a513c0ef8bd904f53bcb325868
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 5 15:07:14 2003 +0000

    Update comment about grammar conflicts

commit e1aa699fd58505f52751173c52982969a553674f
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jun 5 15:03:34 2003 +0000

    try { } catch a ... catch b was getting compiled backwards

commit d261cb738064aa25c2984f15301638ad25b2d606
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 3 06:03:57 2003 +0000

    Eliminate remaining RaiseError calls. Make unhandled exceptions get a continuation to the crash through to the debugger with a magic stack push/pop

commit c1417355cf1ba23bbac3ab2d2862730f389315cc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jun 2 04:10:21 2003 +0000

    Added shuffle(), and documented PRNG.

commit f35bc5a050ac44863ee83fd44d42c84961e878ac
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jun 2 03:31:02 2003 +0000

    added atoi() and atof()

commit d1a0fb86d46886b270799813581ef3e579b95205
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 30 06:18:51 2003 +0000

    Make sure twixt exit blocks are run on unhandled exceptions

commit 81cca1b76ea6f9754f53eeda0429486409a8ce4e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 29 18:36:35 2003 +0000

    Standard exception arguments were constructed backwards. Was attempting to use strerror; needed custom to handle EUTF8

commit e3ea6fae41150f7c2d8855e90372a963a7609f24
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 29 16:37:59 2003 +0000

    Missing NonLocal around twixt body

commit 01d8fa2acf205c34b59f4a839d179f3ba0b3cd56
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 29 07:47:33 2003 +0000

    Detect read/write blocks on closed files

commit a286218b26a439d10ef8886e49e94ac481deb624
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 29 06:13:09 2003 +0000

    Fix implicit multi-dimensional array initializers

commit 61a7e93796035309825860a54ae4ae324665aa76
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 28 23:12:11 2003 +0000

    dont reload upper level libraries when loading lower level

commit f979d1fe6574ee6a4f0fe85eaa72281170e95533
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 28 22:12:41 2003 +0000

    Make Sockets::accept work

commit 219dd432dd556410a4f7e6e9a40d87c0da48185f
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 28 21:20:26 2003 +0000

    allow undefined namespaces in NAMECOMMAND

commit ea141d45ca44a05986c5403592d5b021a061527a
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 28 21:20:06 2003 +0000

    Allow autoload foo::bar

commit d8715138aae8cee6873360dd7814e82e7ac5b25e
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 28 19:10:09 2003 +0000

    Dont try to check union case when types are broken

commit 1509df1866dd56a53353f414458416c76a1d5d03
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri May 23 23:49:00 2003 +0000

    docbook version of Nickle tutorial

commit 80116eacdb7ab053de587a41de785b638316386c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue May 13 20:17:26 2003 +0000

    Fixed up the Solaris build a bit.

commit 115b7d417fa7555761e8028a6f1703c088d55f0b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue May 13 18:18:05 2003 +0000

    fixed stale address

commit 6c71146f4ffcc62a138f05650ff24fde595b0887
Author: Keith Packard <keithp@keithp.com>
Date:   Tue May 6 16:34:42 2003 +0000

    Oops. Broke # "operator"

commit 274ee1381ac530221ee06ed9e55c90ef10f976fb
Author: Keith Packard <keithp@keithp.com>
Date:   Fri May 2 00:23:38 2003 +0000

    Replace TypeCompatible with TypeIsSupertype and TypeIsOrdered (which is a lame name, but is easy to understand at least)

commit ce1af8b8135c4a9a3a464e213c59d4fc8d3404c2
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 1 19:00:18 2003 +0000

    Rewrite . and $n in the compiler not the grammar to make pretty printing look right

commit cc4f5b2f1741a022d604ba3f1156ff086faad010
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Apr 23 03:11:28 2003 +0000

    Delay exit until all buffered output is flushed

commit f9bcdcd5184f44280a5723b3ebb5bca032422bc6
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 22 23:25:38 2003 +0000

    Delay freeing file until flushed. Flush files on collect. Collect on exit. Still to do -- delay exit until flushed

commit ec4293ae29f2cf5a341a12f1eaba63cb36afed6c
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 12 00:04:10 2003 +0000

    Raise reasonable exception on invalid UTF8 characters, use socketpair to support rw pipes. Update quicksort demo to use reference types

commit 9b3cbb99cd58279b678603049872ce19dbec3c73
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 11 23:49:38 2003 +0000

    trim floats to available precision, catch exceptions

commit 70d455f5fd7f648e23143b67b58c51d32166917c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 11 23:48:55 2003 +0000

    Dont accept non-positive precision

commit fd9d70a465501cb5f6b17d36fdcc324ba2cf8f8b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Apr 11 20:58:57 2003 +0000

    Added /dev/random code

commit c534faedd6d054fa0458d12e3533b718a578de31
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Sat Mar 22 00:06:30 2003 +0000

    Changed in debian/control Maintainer field to Erin Chapman from Bart Massey.

commit 2ee70f038a873f7accfbd34008c2a5e9160f4367
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 17 20:32:56 2003 +0000

    Rewrite references to resized arrays

commit 5df7cde9fab3df4abeda75aa2807513207e3d778
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 17 05:51:33 2003 +0000

    Add reference type modifier

commit f89f72c7a8cce89c3c033ba4fcb2110d44487001
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 16 22:49:26 2003 +0000

    Growable arrays and hash function

commit 7945f749e2a49dab0c6d6f21ea92f761780818db
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Sat Mar 15 01:24:44 2003 +0000

    Fixed a lot of little things so a debain package can be made. Also changes were made to pointer testing in orderofoptest.5c

commit d21b127191ec05fff02b20e0501f7c0544438ba9
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Fri Feb 28 22:39:42 2003 +0000

    Realized that the binary operators needed to be tested two ways, not just one, so I changed it so they are tested two ways. Trinary operators are tested 3 ways now too.

commit 65b8108f846d33210f076478830ee8050819bc03
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Fri Feb 28 22:02:20 2003 +0000

    Factorial order of operations test added.

commit 217ec9ed1fb4f90956ddcdbcc803d285c17d8adb
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Fri Feb 28 21:36:36 2003 +0000

    The tests for order of operations with unary decrement and logical negation were added. The test no longer prints out true or false as the results; the results of the evaluation is returned instead to simplify things for the programmer when changes are made to the file.

commit 57955978926296d8484300b1e60bcd3be5b86997
Author: Erin Chapman <me@cs.pdx.edu>
Date:   Fri Feb 28 19:38:56 2003 +0000

    Added orderofoptest.5c and optest.5c to the testing suite.

commit 0c412993be38cfe7ed2a0edbb885ff49625d474c
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 18 04:25:53 2003 +0000

    Lost THREAD_CONST case in compiler. do_Thread_id_to_thread returns Void on failure, not zero

commit 128d77daa4c5f33adbab157298bcf65ca471b242
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 10 19:50:11 2003 +0000

    Move use of string.h to mem.h from refer.c

commit dff04fa2052760262cdb367ef547ba1ae2b8a999
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 10 19:44:49 2003 +0000

    Clean up for building on Darwin

commit cad2e7e33287e1133c7f71c9962d93022a248a4e
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Feb 10 19:34:38 2003 +0000

    Conditionalize all errno values

commit 17265818bbca1f4f4876c113ecb305123a017225
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 8 01:48:35 2003 +0000

    Merge assignment back into simpleexpr, it adds a shift/reduce, but makes ? : work better

commit b1f9e8aa9d8beaebc6c69884f099f600c0c5ec61
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 7 21:00:33 2003 +0000

    Special case pow for 1/2 and 1/3

commit c714004f05818990eef82ee2e21348d4d28c5492
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 7 21:00:14 2003 +0000

    Compiling **= operands in the wrong order

commit e8f5895ea2f9f0ff19b29ea98da7479cea44eb49
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 7 20:59:56 2003 +0000

    Dereferencing null pointer

commit dccad212a0833e9b816fc649341126953b861246
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Dec 29 11:42:00 2002 +0000

    Screwed up the date format. This file should be built automagically from changelog.in to get the current version number info. That, in turn, should be automatically derived from a reasonable source management system such as BK.

commit 45b93816b30843d2bac9e2f5152492e91618684a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Dec 29 11:32:19 2002 +0000

    Get ready to build new debs...

commit 32ff062dde0eb82fedd61d02ec42f9ae4526d350
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Dec 13 19:09:52 2002 +0000

    Fixed bad bug in IntegerDiv sign handling

commit f72cc5a9da38585d9d954589a28f982e4ca01d5f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Dec 11 21:43:59 2002 +0000

    Fixed bad sign bug in integer division

commit 632f60407fff8fccf9dd6478caf128f45d621a82
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Dec 10 00:34:25 2002 +0000

    Minor formatting changes, for the webpage. Needs a total overhaul.

commit a9dd1050e87071f0fd179173f73e4bd9099c5b77
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Dec 6 01:24:11 2002 +0000

    Changed random default: cases that shouldn't happen to abort()

commit 0a60d775f95dd727c8704d5dcc87e7528187d39c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Dec 6 01:10:53 2002 +0000

    Rational subtraction was broken with two negative values

commit b138afe07387836eb7584a47e1315942bde87e86
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 5 17:40:41 2002 +0000

    Unhandled exception message had actuals in wrong order

commit a23e6f3beafe0d26918bab1fdf2cc253c2709b7a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Dec 5 16:10:13 2002 +0000

    Fill in exception handler frame the right way around. No need to remove actuals from stack after jumping to an exception handler

commit d53c31664e371c57eac28f184f2f023082d1903b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Dec 5 09:09:47 2002 +0000

    Fixed dependencies to correctly reflect ../gram.h role so that parallel make would work out-of-box (gram.h gets built now).

commit 1f98d63d302dc88aaeedda3baf77ab487853f0b6
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Nov 15 08:13:40 2002 +0000

    Just a descriptive comment.

commit d22466ff273ff071b5731df7c21b5e1dd8663332
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 11 06:45:39 2002 +0000

    Fix allocator to handle more than 2GB of address space on 32bit machines

commit 944c54be46b2c07c18132a8b0b5f539d7ef87f32
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 18:52:35 2002 +0000

    Unify popcount implementation and make large numbers count faster

commit 32b5e6f621f39a9e1265cd987d450658ab033578
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 18:32:25 2002 +0000

    replace natural with value in extended popcount computation

commit ebc418e06e527b237d6f360316249eed31b86791
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 18:30:47 2002 +0000

    Permit e notation numbers to be ints

commit 380a1d6988888851333e98af9230f45df1fe7f6b
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 07:38:25 2002 +0000

    Oops. Stupid bug in NaturalLor

commit 016e29b436bc61cf77eed79d6b4a61301e21b34e
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 07:26:28 2002 +0000

    Dont complete Raise when exception unhandled

commit 5b25f450438d84934b7b76d60776c36af62a8004
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Nov 9 06:23:39 2002 +0000

    More functionality and the new debug function.

commit 6dcc28f96c86321041cb4d317f1fadad71a1c539
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 9 06:23:09 2002 +0000

    NaturalLor was horribly broken -- walking off the end of the shorter number

commit aad9f9020bef6836d19f8a96ea01d78fcc26ac53
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Nov 8 09:14:20 2002 +0000

    Bump version number.

commit 1603593684194b0fffb33c859cf4e0d604dfef0c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Nov 7 19:34:02 2002 +0000

    Improve popcount performance a bit

commit 99ba66ff14dd7828aec9a022814e0b5909abd142
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Nov 6 09:32:09 2002 +0000

    Use real count_bits() algorithm.

commit ce4fa38fb7e5ca372abf5d389337707ed2060d2d
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Nov 6 09:09:07 2002 +0000

    Added popcount() builtin.

commit cd3fe4738e8637c792bbff28a7cc691791bb5e8e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 5 18:34:58 2002 +0000

    Always reference typedefs through the symbol

commit 67dd48854e05ad952ef44d7a1b3de3f99a615b0b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 5 16:59:33 2002 +0000

    Permit {} syntax for union initialization

commit c9c03c753f8489166e995cdfb05479eb001e8b6e
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Nov 4 09:48:04 2002 +0000

    Unbox ints. Untype boxes; use separate type vector or single type pointer. Eliminate duplicate data from arrays. Share boxtypes type with structs. Rearrange code to avoid thrashing on the reference stack

commit bf47372bf26c5c715a4b686625f822600089a241
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Nov 2 21:34:50 2002 +0000

    Move UTF8 I/O functions into C code to avoid duplication

commit 423f32a7a20c381bc181ac7e83798c97437c7501
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 1 20:47:51 2002 +0000

    Hack up barts commandline parsing some more

commit 7cbb5cdbf04c0342107d229514add5727a6d9df1
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Nov 1 19:51:22 2002 +0000

    Renamed Nickle path variables once again. Got rid of the heinous substitution in builtin.5c.in, making sure that C code and Nickle code agree on NICKLELIBDIR/nickle_libdir.

commit a7f9dc5d6b70fbd21a24e81692d92ab18fad1cbc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Nov 1 11:27:19 2002 +0000

    Fix bug in previous, add error message for bad NICKLESTART

commit 1a4f68b551fe94acf7e3794184233dad20915532
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Nov 1 10:58:05 2002 +0000

    Cleaned up all of the path nightmares as best I could. Paths should work right now.
    Bumped the version number.

commit 8b747db287f97587187233041b7cf0cb1cc2f77a
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Oct 17 15:54:27 2002 +0000

    Make more stuff const to reduce data size

commit f4563f0b15e07fcba9eafde731090ef31e74acd8
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Oct 8 00:34:51 2002 +0000

    Move command line parsing to builtin.5c. Fix implicit initialization of arrays of structures

commit bf0b4b9bcbc1bb300ab90718332bb06a9fa13dec
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Oct 8 00:07:46 2002 +0000

    Forgot to make FileGlobals public in File: fixed

commit a2c0fc61830f076e4524958c35a73c410ebed3d8
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Oct 4 20:24:51 2002 +0000

    Added ungetchar(). Restructured to remove duplicate declarations.

commit 84bb37b7d050faf9d8f23bd77e96c652bc06c223
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Oct 2 02:13:22 2002 +0000

    Fixed no readline library case FileFlush() call

commit 0c124a9e00b589038fcda5c621255176f1c257bd
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Sep 24 18:45:29 2002 +0000

    Add assert() to Abort

commit 4f058d2179746c844004393e67dfb76f065091d7
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 19 16:44:32 2002 +0000

    Handle missing struct initializers

commit bae419b357a9065fc8c498a81bb1f6b7041f1520
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 19 16:41:08 2002 +0000

    Handle invalid UTF8 sequences in lexer

commit a4d9685dfef4d22e4fea5a727d810e1021c2173a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 23:49:19 2002 +0000

    Modernize this code a bit, and clean miller-rabin up a bit.

commit ea689afa964a4e916513c276261ebc13c1ccd3b4
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 07:03:15 2002 +0000

    BUG: the invisible potential dangling else at the end of the startup was screwing the parser state (specifically, I observed this on a script where the first command was autoimport). Hacked for now.

commit d04b3282c8bd90eb2c724ba91a831367dd938989
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 06:55:08 2002 +0000

    Forgot to add this: necessary for builtin.5c.in now.

commit 6f62a43371acb2d65c932d140e5e580e17221929
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 06:54:28 2002 +0000

    Sieve of Eratosthenes in Nickle. Meant to add this long ago.

commit 093ed10659863ed177143fb5c5e2e22f66251125
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 06:52:59 2002 +0000

    Sort out a whole bunch of issues around loading builtins, autoload and autoimport, library path, etc. Not right yet, but much better.

commit e2eb904c4fb30cabc555731ca4b726e081a3bfad
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Sep 16 05:03:02 2002 +0000

    autoimport "fix"

commit da7132bb28ad4c1591f28bef4eabf531d4fdaf44
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Sep 12 06:45:44 2002 +0000

    Cleaned up and altered the behavior of require, creating instead autoload and autoimport.

commit aea7f443c878d8903d0bc1f116cf35c96ac51c96
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Sep 11 17:03:43 2002 +0000

    Add Command::valid_name builtin, fix require to use it

commit b807c09d790c5bb5f8cef657bd3946f76a0728ee
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Sep 11 16:15:02 2002 +0000

    varactuals were horribly broken. Made pretty print accept a list of names.

commit 1db79e467410ce18f6bd4de9e23c32b2afdec5a0
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Sep 11 09:01:30 2002 +0000

    Added ctype.5c to builtin list. XXX not Unicode yet.
    Added "require" builtin for loading a namespace file by name. Fixed a bit of machinery to make it possible.

commit e7969635f4ee679c651475358975e66a56b071a9
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Sep 10 06:25:15 2002 +0000

    Label data types with name, add memory usage tracing with both total and current usage. Found a couple of misdeclared datatypes that were eating memory (Fpart, ValueCache and StructType)

commit ab0ba2e4eb4f069ab492331edfa9859f9a13fa3d
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Sep 7 00:05:19 2002 +0000

    do loop was branching to the wrong place

commit c930ff8cf198a33ca3723abb8207a385cfd03356
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Aug 31 01:31:39 2002 +0000

    Reordered suffix type modifiers (array and function) to read left to right Repaired a bunch of array initializer bugs Cleaned up the grammar and commented the conflicts

commit ee76002f6fa0a5a2924052ecc6b648ddb54bbde1
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 30 07:14:35 2002 +0000

    Permit nested comprehensions

commit f31b2d712ed2e757c8b6d87eaebabcd6bf7d27fc
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 30 04:38:39 2002 +0000

    Dropped object pointer during UNION cast expression

commit 3cf67926cf80f1a53c2dabb58064a1945286babf
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 30 03:05:10 2002 +0000

    Fencepost error in atov

commit fe494a00f979fcc8d5189c8f19f78bc05b15676b
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 30 00:18:18 2002 +0000

    Permit arrayinit for a comprehension

commit 8644a3505263cd3f85eb3ad6c247eadad3416a1b
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Aug 29 20:40:26 2002 +0000

    Finally allow struct/array initializers to be arbitrarily nested

commit 4273fa88395be726eac8fe49e6d2d53cca43afcd
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Aug 29 03:12:26 2002 +0000

    Allow leading whitespace in # comment lines, fix atov to allow non-hex digits for bases larger than 16

commit 8bb9b7cd6d1522f920922d3de4ade20dfccf23b7
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Aug 28 16:48:38 2002 +0000

    It was way past time to bump the version number. Must remember to do better in the future.

commit f011a2e8701673e56144543291e748287862345e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Aug 28 03:38:57 2002 +0000

    Added lex and yacc dependencies. Shouldn't hurt; occasionally seems to help.

commit 28f79894cb0e0392fa6594296ef286b848ad9e9d
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Aug 28 03:36:57 2002 +0000

    Changes to compile on Solaris (hasn't been tried in a while, so was busted). Pretty ugly, but best I could figure out how to do. Some autoconf/automake guru should look at this.

commit b7fb9475c5655460bc1689ca1ab46ac1c0c7bdeb
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Aug 19 01:02:55 2002 +0000

    Added (integer-coefficient) polynomial operations, and a polytime primality test.

commit 27adcf624ea70ba25ee8c1c28c4de1a69a68215d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 16 15:43:02 2002 +0000

    Allow ... to initialize zero elements of an array. Fix unary * error message

commit 8dac2aafccc4479203d10cb2d49009aa056afe22
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Aug 16 05:58:23 2002 +0000

    Added a help command to debug mode.

commit 62a852a35aa42da5357e004b5f264f6a52e0a537
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Aug 16 04:43:02 2002 +0000

    Fix max and min to take 1 or more args.

commit 966986c8b564f826ff4f283e8fc28e22fe73f458
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Aug 16 04:38:09 2002 +0000

    Added ctype package. Added max and min builtins to math.

commit 258ae0e9bf87a9bbd580d9e8d1a9818f492dc854
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Aug 14 03:29:39 2002 +0000

    Fix printing of zero element arrays. Fix zero element array initializers

commit 610561c2f8780ec5d2ac206fca9f0d1c19cfdeab
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Aug 10 08:49:48 2002 +0000

    Ints were not getting tied down on return

commit bf9cca8cfadf698f1b91ce5c9e0ab1b3c918a64e
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Aug 10 07:59:03 2002 +0000

    Fix atan2 for each quadrant

commit c6682835d67e9f5206237d1455c4a4115f0c159e
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Aug 10 04:05:19 2002 +0000

    Clean up struct/array init parse tree generation

commit 10d6d600f7d942837c06657ac62108e2504c76e7
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 9 20:50:23 2002 +0000

    Add [] name for array in comprehensions

commit 53c9ec6736124f987867a352dad8b25ce2d93968
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 9 17:25:45 2002 +0000

    Add sort example code

commit 6b9607c6497df7546a29735de48123554a0f7142
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 9 06:39:32 2002 +0000

    Catch AInitModeRepeat at end of dimension

commit ee3c6e331f0aba3a91daf6fbcb351a1847a1694b
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 9 06:28:29 2002 +0000

    Compile while and for in correct order, reordering object code. Change comprehension syntax

commit 7ba2bc536211c8ae5c75ce7f366e928ffdf6befc
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 9 06:02:13 2002 +0000

    Fix syntax in ARC4 to match limitations on array initializers

commit 88290be659924279fa8c4405b872a6436b27da2b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Aug 8 05:45:48 2002 +0000

    Fix compile error message argument passing

commit 0b2f8c0610cdfc964d52652ae2b4c4deb8c05236
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Aug 8 05:43:47 2002 +0000

    Handle EOF on string input files

commit 709daf6dc9b2afea82eed505051a19eb493659ba
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Aug 8 02:09:03 2002 +0000

    Added sscanf.

commit 0e329898beba6223ed19fe1b992923e2b9916ef5
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 7 06:18:45 2002 +0000

    iAdded .cvsignore file for autogenerated files.

commit 7a4af7026b23d7a0b948a620cc7d8bba338f3ad4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 7 06:13:55 2002 +0000

    Added .cvsignore files for generated files.

commit 9d0d3b538145de9a3aac294f47576432b56e284f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Aug 4 20:09:18 2002 +0000

    Evaluate function before args to keep L-to-R ordering, fix prime example

commit fa03b1f876c3e1cd2ca083e6d9ae7d91031ce53a
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Aug 4 17:36:55 2002 +0000

    Regularize type errors, add comprehensions, clean up profiling

commit 1b997ff18f2859a6f04f30e8ff539606ce0ce824
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 2 06:56:04 2002 +0000

    Forgot to reference object block in frames. Missed one case of profiling disabling TailCall. Eliminate self from sub profile values

commit 0d9e6f56fecde241a2684b201e4fb2d12c6aa70a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Aug 2 06:07:12 2002 +0000

    Make array expressions evaluate left-to-right. Redo array initializations to avoid exploding the stack. Move instruction stat references to separate list

commit 36a785c56822e24e8966323aded20cd7c83e43e6
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 30 02:47:58 2002 +0000

    Eliminate compiler warning about uninit var (wasnt a bug)

commit 853fdb0d01c6421c1f1281031f197f49e03c3695
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 30 02:45:46 2002 +0000

    Add variable actuals, remove else blocks from twixt, add ({ stmt ... }) syntax to expressions

commit bca81fc65349f2320a3d217dfbac184ca9f6a1b9
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jul 29 16:25:44 2002 +0000

    Flipped boolean sense in do_profile

commit eebde0b9eddda52e40afc813d99c675b8562c1ce
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 04:53:15 2002 +0000

    Fix examples and tests to avoid null pointers and int tests

commit fe87ee327b39db7f41907dafa8521fbb864f851b
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 04:52:43 2002 +0000

    Raise reasonable exception on math domain errors

commit 94e679b53df2845043ff06dffc11071035a68c0e
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 04:52:30 2002 +0000

    Add constant folding

commit a8c436c12db0f21fc6d7702daeddf46a7f542289
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 02:16:20 2002 +0000

    Poly narrowing was smashing things

commit 249236517b11e4d014cce80807c33044e5c015ff
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 00:58:45 2002 +0000

    Fix union case compiling code a bit

commit e5ff3aeaaa1672ea9b1b2320c5e8ec4b6f8c7b79
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 27 00:03:34 2002 +0000

    Remove null pointers, add union switch case variables, switch to type lists for poly narrowing computations (eliminating anonymous unions), compute reachability for function return and union switch case variable scope, change syntax of union values, eliminate enum as union member type

commit 888c7b80c21fa3b88839c18c260b09d5fc2eb50c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 25 21:06:59 2002 +0000

    getc wasnt using getb

commit 96b4cc104163dde08a6e6dafeb47117aa0575329
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 25 21:06:31 2002 +0000

    Change internal terminolgy. Values have representations, expressions have types. Also clean up a few remaining bool issues in the examples

commit 8d77cfb70e86ee0de223c12d01f559b66dc21b8e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 25 18:15:48 2002 +0000

    Change internal terminolgy. Values have representations, expressions have types. Also clean up a few remaining bool issues in the examples

commit d4e5b9ca3949dc96e1ef778dbce28fc48bf0d6cd
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 25 17:29:27 2002 +0000

    Fixed array declaration examples with incorrect syntax.

commit 5f4b46a46db3e41332f1953d049f41976025c421
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 25 05:12:12 2002 +0000

    Check for recursive types

commit 6e62c97bf7bd921d1a9110ad854c3614fe7675d9
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 23 21:40:35 2002 +0000

    Switch to UTF8 for characters, add bool type, fix evaluation order of assignment operators, fix default struct creation to check recursion

commit 669a0b145306dada3176546ad3f3b10703c8049e
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jul 21 23:36:53 2002 +0000

    Add support for binary/hex/octal float constants

commit 766d524bf03338b7f585e69377bb2594a67fa777
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 20 20:56:24 2002 +0000

    Stack marking didnt handle GC while allocating stacks

commit 70951f8db7303891f6948fc7b01324ed6734a119
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 20 19:05:55 2002 +0000

    A compiler warning and a broken semantic error check

commit fb1055a3eaf663b188e2983c554e28b1f365756b
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jul 20 19:00:13 2002 +0000

    Fix non-local branches from catch blocks

commit 2a561b7a002ad19183fe41075bd204c6d006a7a1
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jul 18 17:18:05 2002 +0000

    Initialize frame before allocating dynamics, fix builtin exception argument order

commit 464451f7ca5d8acc7f31721f313e64c916522de6
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jul 17 13:44:01 2002 +0000

    Create exceptions for file errors

commit 29a5559f7c7985493611c5f1eee3d36943820511
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 25 09:32:42 2002 +0000

    Another uninitialized memory problem with -e arguments

commit 431605ec289cd128aef7add228e6356efba14c98
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 19 23:30:24 2002 +0000

    Array creation left element uninitialized across allocation call

commit 01a109d501e92276ca869891398ba94467c81d86
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 5 08:06:15 2002 +0000

    Fix profiling number printing to leave enough space for big numbers and not fail when numbers are too big

commit 07f17a91a2cbc947077acefdde953685f840d89a
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 5 07:18:55 2002 +0000

    Thread continuation wasnt getting frame value initialized on thread creation

commit 549e1c6541a08b2bf1ac9529ae995b7e491c7b4b
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jun 5 07:01:45 2002 +0000

    Missing type canonization for func return values. Missing bzero on implicit array initialization

commit 36d9ef5445f9d47503fe3619ac543037ab0390e2
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 4 03:36:49 2002 +0000

    Flush IO in exit builtin

commit b2debe4e0492e9b213697609dfe3824fd2a5f1c8
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jun 4 03:32:50 2002 +0000

    Scanf for strings was not checking for EOF

commit 743ac1b2d5b7bc7926f3b5c5d97c3aed39b6e9f3
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 07:45:32 2002 +0000

    Fix socket code to block waiting threads

commit c807b14f90152a9535efef3855816852c05e60a2
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 07:07:37 2002 +0000

    for(;;) was using BranchTrue (oops). Thread creation wasnt saving pointer to initial thread code object

commit 687ae965a207179119263c64463b8453f93049f0
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 06:42:54 2002 +0000

    Get rid of lambdaexpr, folding lambdas into primary and accepting a reduce/reduce conflict. Reorder grammar to reduce the right way. Fix pretty printer to print lambdas

commit baa817e4da331e16d4f8a5cf48c8b0aebe19aba9
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 06:03:59 2002 +0000

    Lost parens in exception and func definitions

commit e812788298aba76c632878f0dabf04ee9965d0d9
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 23 05:36:10 2002 +0000

    Make "function" no longer necessary in function declarations, fix pretty printer to match

commit 012385636ccb47e5c72405a6e9ae117c81a4f2ab
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 9 20:53:09 2002 +0000

    broke a comment with a global replace

commit c440c06bbc0322d38783073e3e6b4b82766532ba
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 9 20:48:37 2002 +0000

    Replace Contexts with Continuations everywhere

commit 461c3c50462fed692497de5fba22170b2d7d077c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu May 9 19:39:53 2002 +0000

    Create and use common continuation structure (Context) for thread, continuation and twixt

commit ede48bd014e8d1668db3a32f7d6ff7187441bb9d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue May 7 07:08:20 2002 +0000

    Remove _Bool from value.h as that name is used in some environments already

commit 874fe5dec173d3b0fac77bdb26e23c2308625f92
Author: Keith Packard <keithp@keithp.com>
Date:   Tue May 7 06:15:54 2002 +0000

    Performance tuning:
    + Remove memset from MemAllocate
    + Make lots of small functions inline
    + Reorder code generated for loops
    + Move ThreadStep inside ThreadsRun
    + Cache recent int/ref values
    + Change stacks to have one stackPointer
    Opcode reorganization:
    + Separate name/global/static opcodes
    + Combine binary/unary opcodes
    + Combine branch opcodes

commit 65a9efa636a85bf35795c3ec3d462f2d8e88a7d7
Author: Keith Packard <keithp@keithp.com>
Date:   Sun May 5 08:23:09 2002 +0000

    Eliminate tag per value, fix few minor grammar syntax errors, tweek mem to eliminate sizeIndex array

commit c646b736b09efc8bee16df2282680ba1a5a196d2
Author: Keith Packard <keithp@keithp.com>
Date:   Sat May 4 18:27:36 2002 +0000

    Add nested profiling, clean up profile printing, optimize a few hot spots

commit a57c4c5127906119c2fd4ae2291bb0579c8bb2fe
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 1 23:59:55 2002 +0000

    Close other end of pipe in child process

commit 17a648aebe80c3688cddbaf3e0c817dd430e80d1
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 12 20:46:53 2002 +0000

    dims builtin created invalid array value

commit 9c67ff5ce2ce22cc37e59379d3f6b11cbb7006a6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 22 07:30:30 2002 +0000

    Remove unused history C code, fixed try pretty printing, fixed exception argument fetching

commit b0a54da716232f7754d9602d2e3ff18e82f50d57
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 21 06:50:52 2002 +0000

    Add convenience command "char" that displays characters from integers

commit e48d77ed3074f3c47cd02c07bfa630047f3ca65b
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 21 05:44:35 2002 +0000

    Rewrite printf and history in nickle

commit 4250703111b5a3073a7b700c065605a07b17ba70
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 07:28:23 2002 +0000

    With forward function declarations, the function type must pass from func_decl to the declaration directly instead of through the symbol

commit 02fccc033aff45b7d973ed4f5296561ae6e0e8ac
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 07:08:17 2002 +0000

    Clean up forward declarations to make sure types are contained and that the forward value is reset

commit 2e22d78cffdc1d53f56671cc7e9267124e7c3b34
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 07:00:27 2002 +0000

    Permit forward declarations of functions, allow function arguments to have no name

commit 0b1e603dde1b61d1c5f5547d5a9360cc2f70316c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 05:10:02 2002 +0000

    Dont force evaluation for unused expressions

commit 4f2bac0fff637767b3426474839d0c54e9c26d57
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 03:56:06 2002 +0000

    Use formatted output for menace2.5c

commit 63443330434b6bca1c4c9935ba21b0d5f8872203
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 31 03:55:50 2002 +0000

    Permit use of names within initializers for that name

commit 6165555a8771e8c119797c10ac8d0bb07b0bfd33
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 30 02:18:05 2002 +0000

    Inhibit readline completion so that tab works normally

commit de21539f01579d9db64b4482e6cf574570b4ee18
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 30 01:15:21 2002 +0000

    Avoid crashing when compiling a declaration using an undefined typedef

commit 5ee87169df092cbb2de6394e7bbfe02d7ab95885
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Jan 2 04:48:06 2002 +0000

    Expand missing symbol error message to indicate hidden private symbols

commit 68d604594630a5f701b1f2a2883945e88dd841d3
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Nov 24 05:31:32 2001 +0000

    Michie's MENACE TTT learning algorithm.

commit c071af012751528c4ed21892a6f1299f0a519175
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Nov 16 20:01:25 2001 +0000

    Non-ascii chars printed wrong in %v string format

commit 2c132f582a55b013ad537f09870b8c4ba157ad2d
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 27 17:10:41 2001 +0000

    Wrong archive file name

commit f86533379fcbff1c06e8d0464c8ea1daaba991e8
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 27 16:59:01 2001 +0000

    Add AC_CONFIG_AUX_DIR to fix build issues on Mandrake

commit f8cfc939193677b0b847de0baa947b781b6fb486
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Oct 27 16:56:33 2001 +0000

    Modify build-rpm to work on more RPM systems

commit 6d9880424af63727e6e2e5a57a75171d7d618044
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Oct 27 06:26:57 2001 +0000

    Fixed RPM to be built using version information extracted (very crudely) from configure.in

commit 03a627a43530d9978435319eb6366185a2952001
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Oct 21 08:28:03 2001 +0000

    These should be provided by automake in current versions

commit 60cdc6eb6330a50f93a02b6273819b319990d2aa
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Oct 21 08:22:46 2001 +0000

    More debian package changes.

commit 364ad13698691c5231233162211978174adbc00e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Oct 21 08:21:50 2001 +0000

    *** empty log message ***

commit 96a7b694716db258b688f2e7c389828a4ba528cc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Oct 21 05:59:22 2001 +0000

    Bump version to 2.00 before Debian package release

commit 431ae5f2609a817886b7d418adbf0420e3c9d633
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 5 07:56:41 2001 +0000

    Clean up floating point formatting

commit 85d0f057fdd8e0698354329d0760c1fd082e2f93
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 5 07:14:44 2001 +0000

    Clean up rational number formatting to respect width and precision arguments better

commit c59249299b20d501057b8d6a8fede72649044aa1
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Aug 27 07:22:22 2001 +0000

    Speed up rational decimal printing

commit f6024295cd1d1c80d62298611cd935abd21d0c16
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Aug 14 08:34:14 2001 +0000

    Add const storage class; easier than const data or general variables and more reasonable.
    Add 'enum's --actually union members with void type.
    Fixed array dimension order compilation
    Change mutex implementation to use new enum union members

commit 34be8d42597b69c05e0f0a60d0f1842bf3cada15
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Aug 13 01:48:30 2001 +0000

    Fix pretty printer to print void, fix voids to compare always equal

commit 4399ecf1378f1da5373faf504ebaed77b2eedc25
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Aug 13 01:24:57 2001 +0000

    Raising an exception checks for its existence and exceptionness now.

commit bdf6c1726d29c0601e40d93618f312e42ed511b2
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Jul 29 02:59:52 2001 +0000

    Need netinet/in.h on many architectures

commit 0aeba128703abc651919d54d6bb6767b7113728a
Author: Jamey Sharp <jamey@minilop.net>
Date:   Sun Jul 29 00:19:13 2001 +0000

    Added networking builtins for TCP and UDP. Fixed a minor build annoyance leftover from the builtin split.

commit 112cff068382592cb3cdf3a04b28264e98b7b220
Author: Jamey Sharp <jamey@minilop.net>
Date:   Fri Jul 27 08:36:31 2001 +0000

    First shot at debianization. Not quite there yet. In particular you have to move the nickle directory to "nickle-(version)" before the packaging tools will know how to work with it. Also I haven't quite decided how to handle the ChangeLog and COPYING files; I want this to behave like a native Debian package, but that requires moving those files to debian/changelog and debian/copyright, respectively, and imposing a machine-readable format on the changelog. For now I hack around the copyright file and ignore the changelog.

commit 7b1bdc9a5fc5d27a6d967f72c8c29485eec8ae89
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 08:19:10 2001 +0000

    Incorrect comparison for font selection

commit cc531d0b2b7a836eb85159be576deb5fc62b2bec
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 08:01:59 2001 +0000

    Add smlng generator

commit 9281867552d15c9f0a0d6ee2c01488660bd2935a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 07:55:45 2001 +0000

    Require type compatibility in equality/inequality comparisons

commit bc9b7f164dab67d40386aeabfa17dd52dfd22f3d
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 07:49:59 2001 +0000

    Fixed precedence bug preventing EM tag from working

commit cec7bbcb0354049647a53abccab088018adb5c7a
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 07:41:06 2001 +0000

    Fixed some bugs in the parser

commit 5e8559ef26d4a09bd17c2d4e24ddc46d989f8913
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 07:28:54 2001 +0000

    Fix context chaining after nickle reference was fixed

commit d9f19b6ba136a4c422a371bd47fafdc25841b64e
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 07:27:31 2001 +0000

    Make reference copy its argument

commit 6a1f99ffa68ececfebe72b01c60139c0c9263b14
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Jul 27 07:10:58 2001 +0000

    Got this committed :-(.

commit 533da7243fe128bd87ed70803bfbddb6e55d5205
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 06:44:12 2001 +0000

    Initial commit of test.5c

commit d04a2909c445b5a2f88c8191fac2d95c16362b64
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 06:42:32 2001 +0000

    Committed the parser, lots of bugs

commit 7ac331d3f90c5c380adafae597e62cb69ff7bdae
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 06:09:27 2001 +0000

    Print parameters in the right direction

commit 7025648808776ab653881ef429131b419f630e6c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Jul 27 05:35:41 2001 +0000

    Needs a new version number

commit 65bae2486ba2b8cd3515c433920082f3b2fb6bbb
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 05:22:44 2001 +0000

    Add build-rpm script

commit 4c0e79b4128ab0d69c52d8649e44717e84a97408
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 05:00:48 2001 +0000

    Handle uninitialized undimensioned arrays

commit 6b5be6642bab88e7b8a149693e6fd6d2ddda352b
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jul 27 04:40:22 2001 +0000

    Cant assume initializer rvalues are const

commit c5d36950171dace7be4438aacbfaefd7d300cdfb
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 01:04:51 2001 +0000

    Initial add of state.5c

commit 63934d96f723202a1188445d6051cc95f5d8e34a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Jul 27 01:04:32 2001 +0000

    Cleaned up some bugs in Jamey's code and config. Bumped the version number.

commit 6c0435000ef59c704b18af712d19c99ab20b279e
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 27 00:54:37 2001 +0000

    Initial commit of Keith's sml parser

commit 92d4ed52720c20303fe864c69fea628a664ca70c
Author: Jamey Sharp <jamey@minilop.net>
Date:   Thu Jul 26 05:49:56 2001 +0000

    Split builtin.c into subdirectory "builtin"

commit 1b061dc7416a4971b4bf680e4c70d841241d566a
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jul 3 04:08:31 2001 +0000

    Fix aetov to use Negate, update config to use stdint.h

commit d3097e9400d228316441a54a5bb02195ed9c4bd3
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jul 2 18:30:41 2001 +0000

    Make aetov() put the sign back at the end.

commit 8ec6e7ca40a9f6e95fbbb0ebd216381b3a36390d
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 16 09:01:11 2001 +0000

    Off by one errors in argument parsing

commit 52c80698113c78b71d7febaabb72ed505a15267e
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jun 4 09:40:46 2001 +0000

    Add profiling, evaluate arguments from left to right

commit 679ae6c1ddea9790ba3bd5ad73b194513368adbc
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Jun 4 06:58:52 2001 +0000

    Added examples/turtle to distribution info in Makefile.am. Fixed typo/formatting in sched.c: now is <continuation>. Added examples/restart.5c to repository (not yet in Makefile.am).

commit 9e4474b841c1c8f86782cb93c84c9c55d5c1a3bc
Author: Keith Packard <keithp@keithp.com>
Date:   Wed May 30 19:36:10 2001 +0000

    Speed up math functions using exponent values, fix compiler to emit correct error message on missing struct tag, fix compiler to set correct statement expr in declarations

commit 057e297f2b8cb06173f22cda451eadb8bbcaeabb
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue May 29 02:56:32 2001 +0000

    Added turtle graphics and snowflake demo.

commit bf5a5da6df4b1a3412bfac1fc62d54fd466048a5
Author: Keith Packard <keithp@keithp.com>
Date:   Mon May 28 23:59:44 2001 +0000

    Fix sqrt initial estimate

commit 068c6e3b074ab0ecb5679955079332704158ebe1
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat May 19 16:25:05 2001 +0000

    Changed decls around.

commit 535480aff242e1592fd76d2050508e9bd8d9b1e1
Author: Keith Packard <keithp@keithp.com>
Date:   Tue May 1 05:03:23 2001 +0000

    Stop using sigrelse -- its not what we want

commit 7e1e1fd0a7b6e37501a229ad7c33c777acbe0b8c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Apr 24 22:15:25 2001 +0000

    More fixes to TODO.

commit 3fd7c058e9fdb239e49259513ccc49ef530fba32
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Apr 24 18:23:28 2001 +0000

    Updated TODO list off my whiteboard. Fixed missing bits in runbench.sh.

commit af5429990b68ce4a90396f79c9dc86cc0fc4cb4d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 20 09:12:41 2001 +0000

    Natural addition divide helper is different than multiply helper

commit fb2f68c5028b982d4c76ac352b3cda135f918bd2
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 20 07:23:47 2001 +0000

    Make run-time typechecking use represenations rather than types for arrays and pointers

commit 5dae78f5ee4b04f37627cb323da1af7e49cae097
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Apr 18 15:50:05 2001 +0000

    Handle break/continue/return from inside twixt/catch

commit d0a1293de73015289dbbc16209ae6135d127fa9e
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Apr 18 07:19:41 2001 +0000

    Add Karatsuba multiply code, rearrange natural arthemetic

commit 88f445b97fa4ea487bd3e308a1ae57bd32bb60ba
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Apr 18 02:25:44 2001 +0000

    Benchmarks for Nickle

commit 952f8fa509cf55156f7bd1d379f05776beaca0d8
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 17 20:55:09 2001 +0000

    Set forward typedef references to reuse existing symbol

commit 0498c0939467fef928d3f63f220e787d6f13e229
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Apr 17 09:20:53 2001 +0000

    Changes for Solaris (and general portability):
    Fix pair of actions in gram.y with no symbol between them.
    Replace builtin.c setenv() and unsetenv() calls with putenv() + C code. (Arguably not done yet: should dispense with putenv() as well.) TODO: Is the variable passed to putenv() rooted properly?
    Instances of HAS_SIGACTION should be HAVE_SIGACTION TODO: Do systems with HAVE_SIGACTION false actually work?
    Replace uses of SIG_IGN and SIG_DFL with "UNIX98" sigignore(), sigrelse() when available: this avoids prototype hell, and may be "better".
    Completely revamp configure.in readline library support: now does a very complicated thing when e.g. --with-readline=/pkgs/gnu is given. In the process, split bloated readline code to AC_LIB_READLINE in acinclude.m4. TODO: Is this the right way to handle readline yet? Can this code be replaced with code that doesn't depend on semantics of -L and -R options to GCC/loader?

commit c9b938c054fb66198dba610bb0c11617215dec5c
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Apr 14 08:05:02 2001 +0000

    5 bits == 62.5 cents

commit 3dd60e0703dc1dbd495710aed7b3a9cd3710ed95
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 13 23:45:09 2001 +0000

    Get malloc/free definitions from stdlib.h

commit 03b40c5b8ae225dfee9c3725bb207443e85aefd9
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 12 08:23:11 2001 +0000

    Added cribbage scoring example.

commit 5488903ee244f520e6cdb0ec50ceedb5a24942d4
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 07:57:36 2001 +0000

    Block lexer until stdout is writable

commit 6d9c8853ef4557c6b90e9c1489b283fdb75b74ef
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 06:17:38 2001 +0000

    Run aclocal before autoheader

commit 769c8bce229e1921e7ec9851beb39364afe8d16e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 06:00:54 2001 +0000

    Fix up builtin.5c to use installed version, fix configuration to set associated variable

commit d896656d85c62ee1048f4b0538cdd4caf2d1d81d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 05:12:52 2001 +0000

    Make builtin.5c just use lex_library instead of embedding path names

commit 42174a17fac9deec8c8a517d9dac839a31774efa
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 05:00:29 2001 +0000

    pkgdatadir only exists in Makefile, not config script

commit 7cfbaedefa728aaab2d6afb06ee8fc3568d04f0c
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 04:25:28 2001 +0000

    Change default prefix dir to /usr/local

commit a15041e8c3953bc1252e08a6e32b1beef95ed472
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 04:18:11 2001 +0000

    Prepare for RPM release

commit 414fc6b58b1dbe7b2911f7962d24d78aede0c938
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 03:56:35 2001 +0000

    Add spec file to build rpms

commit 01818ff505f336c66869097820605d457fc96f32
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 10 03:55:50 2001 +0000

    Fix data directory installation troubles (should have used pkgdata_DATA)

commit 7354ae328a68c85c173fd4f3101435955dcd379d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 06:49:56 2001 +0000

    Pass -DVERSION on compile command line

commit 72e087c85789ee639f39e6b8faaae0202f6f4aaa
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 06:37:43 2001 +0000

    Make imprecise conversion to int fail with insufficient bits

commit 54bb545dea04354c2dad94db102c9f1be1a75344
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Apr 9 05:45:33 2001 +0000

    Finished all of manual except for fully-.5c namespaces. Changed the semantics of Environ slightly to tighten the type of get(). Since it's not used anywhere I can find, this probably won't hurt :-).

commit 1c33db59f62dc3d33a3fa1402019a6308908488d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 05:02:25 2001 +0000

    Recognise commands only at start of line

commit 67d73e27a6692b10484c15a16d038c0be8a10e74
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 04:28:24 2001 +0000

    + Detect void tail calls
    + Fix tail calls to builtin funcs
    + Make fork a low-precedence unary op
    + Fix factorial to avoid churning memory

commit 1c5647ae0f83cd11408393ce05715ffa1b02e7c8
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 03:24:53 2001 +0000

    Eliminate spurious ReturnVoid in TailCall case

commit a95557a8113f81f4a914ca08a344756a61280b05
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 03:20:02 2001 +0000

    Add tail calls

commit aeb7f97e06ee00773880c7f9e6ec5942005f71b7
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 9 02:26:09 2001 +0000

    Automatically allocate fully specified composite types

commit b4c9c3abbe7860942e11df26b9747c4e201a72df
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Apr 9 02:09:22 2001 +0000

    Got NICKLELIB out of the Makefile now that it's in configure.in properly. Took the default binding for NICKLELIB out of builtin.c, on the theory that something's wrong if configure doesn't build it. Added a couple of static types to math.5c. Finished File section of manual.

commit b12dbbe23e7eee4e31493b53a2f0bcd3b7f2d849
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 8 21:52:48 2001 +0000

    + Move e and pi from builtin.c to math.5c
    + Delete gratuitous Syntax namespace from command.5c
    + Add protected scope - protected names are visable but not exported
    + Fix NewLexInput to set interactive value

commit 78db835effd462826a68e4cc57133c88d334f46a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Apr 8 21:11:17 2001 +0000

    Finally got config.h to have NICKLELIB defined. More fixes to argument parsing.

commit 909021013f80b71a58f9c002c40866228072f2f8
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Apr 8 20:48:52 2001 +0000

    *** empty log message ***

commit b6ff671ae18c30d7b883cf346f96628462403ace
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 8 20:12:44 2001 +0000

    Make lex_library builtin

commit 1c0a8a2c466b89ef20047e0c50ead7e16988be4e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Apr 8 19:51:49 2001 +0000

    More manual. Fixes and cleanups to some examples. Argument parsing implementing most of the spec.

commit f08fc654e5ee7e1c1dc6ca02913c1a422ab18f1a
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 8 02:56:25 2001 +0000

    Functions declarations werent equivalent to initialized variable declarations

commit f56e2183cfdfb12e33cdb84750201e18599205da
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 8 01:23:01 2001 +0000

    Raise exception on negative square root

commit 4926f41d019fce50bd15c847627ade582cc067c7
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 8 00:10:25 2001 +0000

    Identify nesting of brackets in lexer

commit e77206529e6d82414a6f89d26479f0476a5b999b
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 22:57:16 2001 +0000

    Fix a few examples to track language changes. Add LexFileAfter

commit bcf7e96f93dd1836d57a63e4cce472172c97b0b0
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 19:21:25 2001 +0000

    Unify attendnl/ignorenl on brackets

commit d9f03bc5c8ea913a4aa3667be8ea5caba4ed6a60
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 06:32:51 2001 +0000

    Allow empty array/struct initializers in declarations. Fix rijndael example to match grammar changes

commit 03121a0225301abbab024cfefb51802c3ae610f9
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 06:21:36 2001 +0000

    Allow empty array initializers (alas, requires {})

commit 9fed9e7b1bffcfea1fdd035fe6dbdaf5dd95a9bb
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 06:01:58 2001 +0000

    + fix compile error bug in printing atom names
    + floating point printf was doing large rational computations
    + make newlines ignored during struct/array initialization
    + allow C-style initializers
    + fix precision errors in exp/log functions
    + track abort at top level operator functions

commit eaa44f81d9b80907a9d794db9fe7dcdc69760255
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Apr 7 00:02:15 2001 +0000

    Tune e format rational printing

commit ffde1ab383266bcce0a99ef3868ea09679fb7dbf
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 23:08:26 2001 +0000

    Add e format for rationals less than one

commit 6ef33d1664047b8c56c6cb4ff27150c416b09193
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 21:29:57 2001 +0000

    + Provide FilePrintf format 'S' for pretty-printed strings
    + Display current token with syntax error message
    + Track and correctly reset top-level namespace on parse errors

commit a7eff623ac7081daa6c8ecc919e834284b006e02
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 20:26:28 2001 +0000

    Use char * as Atom. Use SymbolPtr instead of NamePtr

commit 9a85acd4ac32df1c6a1520c467aec947bf43ed8d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 09:32:27 2001 +0000

    Declare ParseCanonType before using it in the grammar

commit 7452e7b2d6d6ffa8b489fc22ea757c51e087772a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 09:30:23 2001 +0000

    Syntax error in grammar (caught by bison)

commit c214a0d0edeea757eb689500a3151499a2f0444d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 09:21:55 2001 +0000

    Broken some errors with symbol changes

commit dbfc2e0051d8ea16508acc107d3ee8726574845c
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 09:16:03 2001 +0000

    Remove bogus NameSymbol macro

commit 2efbf5132e7a19db5d3f2989d332b3a174efea88
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 09:10:44 2001 +0000

    Move symbol creation into parser

commit a3e7f3e97e5e8a6ce974418418bd146818d52581
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 07:53:10 2001 +0000

    Clean some things up now that typedefs are gone from the compiler

commit 93ed6069c593f5f43de4b27b1d1927cb074c7aba
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 07:18:21 2001 +0000

    Add Rijndael example

commit e583cc398f41dff390c246940c962713d4a56b54
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 06:30:09 2001 +0000

    Import from even uncompiled namespaces by referencing the original namespace name

commit 828179625dcbdbbed9d37fefb549ac5891a9c744
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 00:27:08 2001 +0000

    Add initializer example

commit 3e1f0f43c4db50d974092dc67b8f5ecff8ac9f8b
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Apr 6 00:10:47 2001 +0000

    Add dynamics to static initializers, fix name scoping in initializers

commit 410f2a89cfb0c5ae88b91071525e674c774c0a7f
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 10:13:36 2001 +0000

    Previous changes don't appear to have committed. Go figure.

commit 4b630cbc4abfb7bd9d9f3d764432358e072acd58
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 10:11:52 2001 +0000

    Limited the scope of definitions in initializers to the initializer. Added an interesting printf in prime.5c.

commit ad690cfe2273f5b7343729d6d2f445ab14d81346
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 09:40:50 2001 +0000

    Clean up printing of namespace contents and namespace qualified typenames

commit a4497aacc308854e923e568e400d8f762917c078
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 09:40:06 2001 +0000

    Eliminate LALR(1) ambiguity in parsing struct/array initializers

commit 09c0f58d00ca559dc683735a6a6dd85add768bf8
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 08:44:02 2001 +0000

    Allow import to use namespace qualified names

commit f6e0f0fab4d0a838d589c6cdde1291f17a7b8368
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 06:55:40 2001 +0000

    Minor makefile.am changes

commit 8723da03a0e1a008a1dd4fdbd1b36fb123b59e4b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Apr 5 06:54:57 2001 +0000

    Hide non-public symbols in namespaces

commit c7b2d372e9d2e7fee0b75c0d6642dba7855d5359
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Apr 5 00:11:42 2001 +0000

    Clean up pretty printing of array constants

commit 90ad4ea429598576867b9d575ff427906527f001
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Apr 4 22:54:53 2001 +0000

    Parse-time symbol lookup to fix typedefs/namespaces

commit cc46b8c3eb73f3b4a3661cb4b8cebd35e4390931
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 3 06:39:10 2001 +0000

    set Command::library_path from NICKLELIB

commit e077895c6bb595c661c16a9c30c437b59c5c5785
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Apr 3 05:51:09 2001 +0000

    Added autoconfigure.sh to Makefile.am Added -c to automake in autoconfigure.sh Deleted extra include of is_void() in builtin.c Much more manual.

commit c2be4a160db95d74c08ee3f0c3e3e5aaec343976
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 3 05:35:23 2001 +0000

    Fix return type of exit and sign implementation

commit cd7f91dd11dd99a81064c32a2c46e04f48fb89c5
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 3 05:18:20 2001 +0000

    Pass constant types up from lexer

commit 427620f63e35ed0bbef8552b1a463ef792476f1b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 3 03:22:08 2001 +0000

    Make %v enclose rational in parens

commit 0660c63470e19cdebd29c69963d0bd989b332787
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Apr 3 02:12:24 2001 +0000

    Clean up value exception names and factorial types

commit 7ece5df7960047b515cc87de81cd18d2b6f6b5fe
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 20:22:57 2001 +0000

    reduce representations to lowest form

commit 035b07cdcc563f7b75c9f647d3a2e89703dd7d32
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 09:40:40 2001 +0000

    Fix for -pedantic

commit a7c517fc780492690f8c126465a726a52969a413
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 09:19:00 2001 +0000

    Allow readline to be optional

commit 50497e56f0b22153e4363549092f97fe99b63098
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 08:50:50 2001 +0000

    Explicit dependencies

commit 9eb4bad8059058658af30c49827a6298d1b482b6
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Apr 2 08:45:19 2001 +0000

    Get rid of useless automake -i option.

commit 0004e3e3a4d4ce7a4f1cba49a92fdb43bbb09766
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Apr 2 08:40:45 2001 +0000

    Need a script for this...

commit a8c402d26a5bc173a7ff8588f68ad5f90587e636
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 08:22:36 2001 +0000

    Remove generated files

commit 65b78e6d7811c4fbc1cdf30eea3862a588c8a40d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 07:08:16 2001 +0000

    + rename set_jump/long_jump to setjmp/longjmp
    + Add readline support (with autoconf magic)
    + Set type of argv to array of string
    + Rationals are sticky, no longer reduce to integers
    + Change div operator to floor (a/b) to make sure result is int

commit 7845c427918a76cbd874bb4d491b924bb759b4e5
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Apr 2 05:33:56 2001 +0000

    Clean up unit type mess, add readline support, fix scheduler a bit

commit 3ed61d82ca801f617885038a229400284653a7d5
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Apr 2 05:23:24 2001 +0000

    More manual. Fixed buglet where initializers like {0...} would be lexed improperly.

commit 862d6028281cc833aa5ae0ef86e6a5af055a6386
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 07:14:36 2001 +0000

    Typecombine reference subtraction

commit e8a1fa0cf42a5171c6a22137a5fdcd2f08378c33
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 06:47:33 2001 +0000

    + Boxes have 'array' attribute now.
    + References to different elements of non-array boxes are treated as references to entirely different objects.

commit 2fab55d60dac14824b10a7a5f099153289979894
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 05:07:40 2001 +0000

    Fix typechecking with references by using type in referenced object. Now pointer arithmetic typechecks correctly (at least at runtime

commit aa31209374232ba881210abd5b01da0ad6e4afac
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 04:31:43 2001 +0000

    Add variable array initializers. Dimensions must match

commit d50e71263cdd9adce86941fca6c4862fed2aa14e
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 03:52:56 2001 +0000

    Add library command and make NICKLELIB a path instead of a filename

commit 167a51bb4df9b3a1c31af243d844fa75fa1a1fe0
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Apr 1 00:02:25 2001 +0000

    Clean up a couple of missing expr types. Dont close input on execution error

commit 9c793442f28c3bd79351099e3ebf1281b4ce9754
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 23:30:39 2001 +0000

    Use binary operations for arc4 and prng, improve some ancillary gcd routines

commit da38ee7b173da99db36dde9de19df953d2a6c007
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 21:15:31 2001 +0000

    Replace bdivmod with faster implementation

commit 361d537a41707720349e5ebb6699e592a157d752
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 30 20:53:23 2001 +0000

    Add some simple numeric tests

commit 7e4e8d21e20cf0a656bf730627d2513fcde18269
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 29 19:09:50 2001 +0000

    Make sure exprs always have typesPoly on error

commit ad3626eb429c5d5014e0d5db442152fc5ecf7f66
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 29 19:03:32 2001 +0000

    Allow twixt enter block to be optional

commit 7da079357bb091b922db742c3591f91816109a56
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 29 11:27:26 2001 +0000

    Fixed bug in continue handling for while and do loops.

commit 03036d47babb6599ee5608693a561b4cf33d0f12
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 29 08:12:01 2001 +0000

    Fix gcd (again)

commit 2a91424cc0119c26c58e127919a242a256181dc1
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 29 07:23:23 2001 +0000

    Added more manual. Fixed bug in twixt statement with empty leave and enter expressions. The break statement will now exit the nearest enclosing twixt statement when applicable.

commit f0d153d1c7c7e9bdd5537402931c30323b859ed9
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 29 05:26:54 2001 +0000

    Allow untyped declarations

commit 5fc394de2388d4782f8bc62c641253e466cbc25b
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 29 05:14:47 2001 +0000

    Need args box even for exceptions without arguments

commit 4f881c551651cacb6996a83e9eb396f452f928b4
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 28 10:20:50 2001 +0000

    Array bounds check exception was busted

commit a32880ee51f31d3419c3521838b6706676f15a15
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 28 10:11:23 2001 +0000

    Complete weber gcd code

commit 5c5c03aaf2df03341914e28181017f6e01830a6e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Mar 28 09:07:18 2001 +0000

    Make double-quotes in strings and single-quotes in chars print escaped.

commit dd9c2b1cb756a76fcc49b08fe63a02030b3bee2d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 27 19:59:45 2001 +0000

    + Add bdivmod accelerator for gcd
    + Unify natural helper routines in natural.c

commit 5dda54cbdfd4410a907c0dc64af9425741d7e906
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Mar 27 08:10:16 2001 +0000

    Some of the stuff I committed previously seems not to have happened. I hate CVS.

commit bb6bb663319cfd92038c9e46714c9f6fd0f3d816
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Tue Mar 27 08:08:07 2001 +0000

    Fixed funny -W flag in Makefile.am. Cleaned up TODO list. Changed Strings type to String for consistency. Fixed miller-rabin prime-finder to probe randomly rather than sequentially. Added idiot-level random-number test. Added demo driver for rsa example. Regularized \r,\n,\b,\t,\f support. More of the manual is there.

commit 5fd838f8d4bea566ec8747f15736cbe18dc6c5a3
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 26 06:55:06 2001 +0000

    add bit_width

commit 8c17733e29ce487a52447dd07ab64ad7e5618070
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 26 05:35:46 2001 +0000

    + Clarify that 'void' means the same as the ML 'unit' type
    + Make void a subtype of poly
    + fix type testing functions to take poly arguments to avoid runtime errors

commit cbf74e5bba51bc38d2177db4d360f4fd7ae987a2
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 25 21:00:30 2001 +0000

    + Now that declarations are expressions, they often need a type and value. Declarations uniformly have the current type and value of the last declared variable. This may not be reasonable for static/global variables, but other alternatives are less plausible:
    function foo () { int i = (static int k = 1); k++; return i; }
    k is initialized when the func is evaluated (i.e. when foo is assigned to). So, each time foo is called, that value will be incremented by 1 leaving foo returning an increasing sequence of values.

commit f701f8515af61dafb8ca9b34a191812c3bb82c3b
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 25 20:02:00 2001 +0000

    Clean up array/string referencing exceptions

commit 68dff2a6fad3c046f92567e1ab661035476941b7
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 24 05:26:12 2001 +0000

    + Speed up 1 and 2 digit GCD (still need Ken Weber's algorithm for longer)
    + Shorten e/pi constants to dramatically reduce startup time.

commit 0762caf93b8b99a20d2462d27c761cf16dcaf076
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 19:12:00 2001 +0000

    Cache small ints

commit 32c82f47ae01f5ac8ce5574e62bc41cb9a40c927
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 18:49:34 2001 +0000

    Clean up startup file handling

commit 3ff4c6e46d263f85e1770e0fa3fc9f8f049659a3
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 08:24:44 2001 +0000

    Add primitive -e command line processing

commit 33474fe5ee5c282966cb98629b9f1c682c126d79
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 07:30:30 2001 +0000

    Pretty print exception declarations correctly

commit db0421516383c76308addf668b6dcb73f0c1306a
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 07:04:49 2001 +0000

    Add command.5c builtins

commit 0aed09add6e57473540874dc4d926e748fd9a775
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 23 07:04:23 2001 +0000

    + Add syntax extension for new commands
    + replace existing commands with syntax extensions
    + Add real unit type
    + Fix top level expression evaluator to not print void function returns
    + Reduce error cascade from invalid function calls
    + Typecheck return values both runtime and compile time
    + Debugger variables were typed wrong
    + Add debugger commands when debugger is running
    + Reset to interactive input (if any, else close input) on unhandled exception
    + Fix edit to work with mkstemp
    + Allow ';' at end of commands
    + Pretty print decl expressions and statements

commit 9f2a174947b7d87d845801187b001a1fce0b1249
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 23:32:49 2001 +0000

    Fix lex input to be a simple list

commit 6d01b52e222de68f9a387f5d7b7ffb2adc282311
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 08:18:03 2001 +0000

    Switch array syntax around in examples

commit dda4b856db68e246b4a7334491e2b208cf95fc97
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 08:07:22 2001 +0000

    Tagless GC isnt done yet

commit 16a45e16c42997ab874ee65df3dec105f9723b8b
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 08:04:03 2001 +0000

    More efficient lg implementation

commit 6331583b27e3c4efbd667857375fdc7cb4f5222d
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 07:42:58 2001 +0000

    Place declarations inside compound statements in nested namespace

commit 4998124b1bd81fb44396944cd89e8f4659081a90
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 07:24:50 2001 +0000

    Change constant array syntax to make it sensible

commit 2d3bff7b73ac382579760822be5cf5187c4ba80c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 07:14:47 2001 +0000

    Make declarations expressions so they can be used in more places

commit 299881608e46b81ff8809a867a69a39bbe0c2146
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 06:29:24 2001 +0000

    Add string io and pipes, plus fix float ceil/floor to handle overflow case

commit b40f94961f7bf25dac3b2c41e90594698cbb38b9
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 22 04:28:56 2001 +0000

    Added many new examples and cleaned up old ones.

commit 8a88854dc695937439a95efc16cc7f42342408b5
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 22 02:12:22 2001 +0000

    Cleaned up Math a bit. Fixed bad bug in PRNG: low-order n%8 bits of random numbers were unset.

commit 9115b1d2b4be0cca380d41ed194c118f73a1b78b
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 22 00:49:09 2001 +0000

    Added crypto PRNG based on ARC4. Started docs update.

commit 46b393b6fc97b7af7ebd61e403124921b0d0452e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Thu Mar 22 00:36:50 2001 +0000

    Commented out BSD_RANDOM support in builtin.c. Added crypto PRNG based on ARC4. Started examples cleanup. Started documentation update.

commit 66baa73b7007b6f92217a97346d0fc3369ada07d
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 00:35:50 2001 +0000

    Remove memleak files

commit d7fc0c5e2aa8bb872916b0a5ba05feca77c18a25
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 22 00:26:31 2001 +0000

    Rename arc trig functions to asin et alia

commit 8dcaa9ae626a5195d556e8553a35d258e80b9d5c
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 21 22:12:19 2001 +0000

    Array initializers typechecked at compile time, built arrays get type set now

commit 91a87f95001e63bbbaa63d23ed9723a7b6807898
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 21 20:49:27 2001 +0000

    Fix multi-dimensional array initializers

commit 9758756f59191dcf59360bafd61f10d50d3e4013
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 21 18:38:18 2001 +0000

    Fix array constant syntax

commit 1f706251addcd977886d65bfce039cce8be47a3d
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 17 07:04:00 2001 +0000

    Add nickle great circle example

commit 06f3293cd3b8d39fb00b9964adc526dc8d27b8df
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 17 07:03:34 2001 +0000

    + Rename 'integer' to 'int'
    + Fix imprecise argument type to real
    + Use different tag in expr tree for character constants
    + Do both anonymous and tagged unions everywhere in typechecking
    + Update examples and library to use 'int'

commit 78eb7f17b6e73d155d1da670d4a8c8bd034fa02f
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 17 05:50:09 2001 +0000

    Make 0 be integer and *poly, allow circular typedefs

commit 2d23889b8c7272514a98040e44200cd109ac4165
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 20:31:22 2001 +0000

    Compile-time catch typechecking fix

commit f267e15b1014672986c28381fbef07dc7c899a17
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 20:17:21 2001 +0000

    Make mutex exceptions public

commit 7a27cce7f0ff8551e365654d4e922d9fc8ecd501
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 20:14:07 2001 +0000

    Add mutex example

commit 9b73505b3d3504b69257bdcb47e819760825d53e
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 20:13:50 2001 +0000

    + Add mutex datatype in nickle
    + Fix syntax of 'raise' statement (missing ;)
    + Pretty print union constructors
    + Type system internally uses anonymous unions, make them not affect real unions

commit 10bf2b9be833211d08543d9e7908a49b5ce5fb6f
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 18:57:12 2001 +0000

    + Avoid type error cascade by setting failed type checks to poly
    + Add a few missing compile-time typechecks
    + Add void function "type"
    + Move runtime argument typechecking to also typecheck builtins

commit 8af44eb07f4f58a95f10b29c15c3d3d0a26ec00d
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 17:23:47 2001 +0000

    Add a few more examles

commit f4682f8d6b73b50dca237e602d4c3dbe4e42b366
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 16 17:23:24 2001 +0000

    Back to tagged unions

commit 233acc40aa2dab5cff754c4bec846539a4bd4f79
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Fri Mar 16 07:29:01 2001 +0000

    Auto-generated file.

commit decfd312de11eaec1b670cfeab78604b1f841cbd
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 15 23:40:13 2001 +0000

    Improve builtin typechecking

commit 36d11ceee354f6af4692612b40a5b9ad686d5b93
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 15 19:28:06 2001 +0000

    + Fix new invalid_unop_type exception builtin defintion
    + Clean up formatted type printing code
    + Fix unary type combinations to use same structure as binary

commit 79db4ca8b75809649728797267c752ee7fec5b54
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 15 18:22:24 2001 +0000

    + Clean up and unify internal formatted output code
    + Lexically identify assignment operators
    + Make '^' be xor and '**' be exponentiation
    + Add invalid_binop_types and invalid_unop_type exceptions
    + Fix type inheritance in binary operators for poly type

commit f69fa953e80b3c0833d2347862c8f8b05fb281c4
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 14 09:03:45 2001 +0000

    + Clean up asychronous events and instruction restarting semantics
    + Switch to sigaction under #ifdef HAS_SIGACTION. No autoconf/automake yet
    + Replace binary semaphores with counting ones
    + Implement WakeOnce scheduling option

commit 86c7aff4756c1b019fdcd92806c9693e96e5c7c0
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 13 08:03:37 2001 +0000

    ThreadStep was not inline in last patch

commit 1e47e9d190d3ed25a78ae0e163797a28f8b00787
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 13 08:02:17 2001 +0000

    Fix array compile typechecking. Missing a couple MemReference calls for threads

commit cc177c3eea93ec96ff3c7c31e01b652cb944bc8d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 13 00:16:22 2001 +0000

    Ad-hoc unions

commit 4b819d61c8089c81ec611434b357bd977c395ed6
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 12 08:20:46 2001 +0000

    Add union.c for union types

commit be76665a738eab693970d72c2b76515d21a601d8
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 12 08:17:14 2001 +0000

    + Add standard exceptions raised by bytecode machine and builtins
    + Use standard exceptions in some places. Lots more editing to do here.
    + Detect misplaced break/continue at compile time.
    + Change union type to tagged union.
    + Automatically build struct/union objects as needed
    + Add 'union switch' statement to allow run-time checking of union tag
    + Mark compile errors with file/line
    + Eliminate internal statement cruft from error printouts

commit 13dc8e4a4f27846b4f8e1f0c4319f17220234fb6
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 11 03:21:25 2001 +0000

    Allow unset values in type checking

commit ba87a810c19fd45a457335432fb6f03f5ef0aad9
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 11 00:55:31 2001 +0000

    Fix union type computations

commit 6d9170e6df775ae538802c3a9d852d0685ec604a
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 21:15:29 2001 +0000

    Add union types

commit fc846542bff8216f8f0a4c5be4e1075daa4ba0d6
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 18:46:04 2001 +0000

    Avoid infinite recursion in typecheck (no unification yet), fix canonicalization of struct types

commit 01fdfa6319182d749afe2a4dc22ca79b040b0462
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 12:32:09 2001 +0000

    Document recent additions

commit 5bbe32c4cbf110bd567ba0b126b620c82d783a80
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 12:22:11 2001 +0000

    Forward typedefs, deep assignment type checking

commit 8536b07f3f84257e153a1208c022986b95f76a15
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 11:10:55 2001 +0000

    Remove MakeOut again

commit 3d4ebe28695d6148f557ec8534ddcd3ddb2db40e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Mar 10 09:15:02 2001 +0000

    No default initialization

commit c65481f78b5a7662476370602a76cb678faa5356
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Mar 10 05:43:35 2001 +0000

    Add extend namespace statement

commit 73981ec4d398328e0113078cd01a6ccb4c7678d3
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Mar 10 04:37:09 2001 +0000

    Remove config.log

commit cf9183822bbcd25c7566f8591a1af0d9400bae0a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Mar 10 04:33:32 2001 +0000

    Fix gram.h dependencies

commit 7be0b3407015b2e43eaa66180671807f86c2d9e4
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Mar 10 00:40:54 2001 +0000

    Remove .tar.gz file

commit 1cde98a331ae9fbd6c0e0a028e3ef9e338cbc12f
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 9 22:25:46 2001 +0000

    + Add scanf.5c which has scanf, vscanf, fscanf and vfscanf
    + Remove bogus scanf builtin
    + Add File::ungetc
    + Fix compiler to catch jumping past end of function
    + Fix Debugger::dump to label branch targets
    + Fix aetov to work with base != 10
    + Reimplement pretty printing of arrays and constructures

commit 768a7504d1e8f4c0208a2c98af6ea73197f771b6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 9 18:52:33 2001 +0000

    add switch statement, change namespace separator to ::

commit d1e84c31276394101dceea194c63c249740fdce2
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 9 01:50:31 2001 +0000

    + Add some builtins to manipulate file status (end, error, clear_error)
    + Fix string typechecking

commit 87912122d5491ee5ea0610f485eef290c4ff6621
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 9 00:40:14 2001 +0000

    Add string<->integer conversions

commit 67a86554b24f62e0d08e93e81ada7d9a9f262344
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 22:54:29 2001 +0000

    Allow varargs param to have type and name

commit 9e096e03f95125f41c775b6a55051116d635c816
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 18:51:26 2001 +0000

    Add varargs functions.

commit 2531eefd9c86c144640ab9dbd5ad902f5b66c439
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 08:00:09 2001 +0000

    + Add shift operators (<<, >>)
    + Add logical operators to integer type
    + Add xor builtin function
    + Add log2 in math.5c

commit 06443806da290859ce3af15fce1671824a6e1006
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 01:42:17 2001 +0000

    Add kaiser window filter design app

commit 672b9260d1a2267fbadacd8d1c791cfc7a60894e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 8 00:12:30 2001 +0000

    + fix floating point floor/ceil when mantissa needs to change
    + Compiler was overwrting memory when error detected

commit 98105000a0375c5bbfb824c3c046c62212078e70
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 23:35:53 2001 +0000

    Allow artificial precision increase for floats, take advantage of that to improve precision of trancendental math functions

commit 5d79a6bf2ddac9a014678c423828a20e729108ba
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 18:24:10 2001 +0000

    + Fix interactions between twixt and exceptions, this requires the exception arguments be saved during the twixt and pushed on the stack before the exception handler is invoked.
    + Clean up stack handling for long_jump/set_jump, now set_jump fixes the stack before returning so that long_jump gets a clean version
    + Pretty print additions for twixt, try and raise statements

commit 452672e67c1f1bce9d2b97cc30be3dabe92decbe
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 08:50:46 2001 +0000

    Twixt not active until *after* enter expr, clean up jumping down into twixted continuation

commit 48cc53270799f697cd60318a7f044cf18fc3dbb2
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 08:11:45 2001 +0000

    Replace . with : for namespace separation

commit e9eee80304b322c8ad8585b7e750a86dfc9ff665
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 07:46:27 2001 +0000

    Turn off divide checks

commit 7e6e116caf1de76b4a2c32bac70512709fafcc26
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 07:37:15 2001 +0000

    + New symbols now always get dumped into the namespace before older ones.
    + Found and fixed a nasty divide bug caused by overflow in 64/32 division
    + Sped up math library, replacing arctan function and precision estimates

commit 6c0fa57c597abea0dc99fb44af5e4b9170a429e9
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 7 00:00:52 2001 +0000

    Update TODO to remove ^ work

commit 4a382f845630275ca3ad36451c3ffd1d4a449123
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 6 23:58:37 2001 +0000

    Fix adding names to existing namespace, have ^ call pow and ^= call assign_pow

commit b42e586f10838d628b66e8f1ad3763ef82adb304
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 6 19:52:20 2001 +0000

    Update TODO

commit 826c49e81e597512c8652c2389dbc3d540b6f682
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Mar 6 19:47:54 2001 +0000

    Initial twixt implementation

commit f041ce0c4b33e5b1f4ce05727de50646335c9225
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 10:35:20 2001 +0000

    Clean up math library dependencies

commit 5819f01760151e5a0335e0cdfbb35daa4a71cc88
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 10:16:35 2001 +0000

    Box allocated incorrectly (used Type instead of Types *)

commit 4e139e3c1d8a1c900bf47b077fc856aecc18b266
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 10:04:21 2001 +0000

    Add Debugger.collect()

commit c530eb605b448666ed5572bc0c61222774231b0e
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 09:45:04 2001 +0000

    Audit mem reference code

commit 01ce5eb8f8cc9ad84afc6c3b66a195d0cb0b4e54
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 09:43:58 2001 +0000

    Audit mem reference code

commit 72bbfe51f43d37695388be7828a7bc0960e37953
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Mar 5 09:12:23 2001 +0000

    Missing tag in new typespace datatype

commit 9c468c614f9888b587a797592ba2a2704c115b79
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 4 22:14:28 2001 +0000

    Update TODO list Track compilation errors better to avoid excuting garbage Replace thread in debugger with continuation Remove ThreadError state Poll for file read as well as write in non-blocking case Lexically scope typedef names to allow cleaner grammar

commit 1858aec67558177a70f65e9d6783a25151727ae5
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Mar 4 01:06:38 2001 +0000

    Implement try/catch

commit 93b0e8893acc0270537cf648db966c9511c6be04
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 2 22:39:45 2001 +0000

    Comment out diagnostic printfs from exp

commit c43cc27944fea4bef7b4be625994520b732ed3a6
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 2 22:35:17 2001 +0000

    + Clean up compile file, add comments, rationalize function names.
    + Fix struct/array typechecking
    + Allow function foo (a); declarations (again)
    + Add syntax for try/twixt statements
    + Limit iterations in math functions to reasonable length
    + Replace pi computation with arctan formula

commit cd577792213c32eb5f5cdae833e4c14b410a4d2a
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Wed Feb 28 09:40:07 2001 +0000

    Fixed things up to autoload DATADIR/nickle/builtin.5c on nickle startup. Fixed some bugs and problems with .nicklerc loading.

commit f9b3f9f693d1fe8326d1e6f8610f519f126a6264
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 28 08:24:32 2001 +0000

    Names created while debugger is running must not be compiled into the running function context.
    Precision fixes for math.log

commit 8d2b179e1aa87e0daaa9228956ba587b5ff9e0c0
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 28 07:01:22 2001 +0000

    Clean up builtin function names. Now all are of the form:
    do_Namespace_function
    Predicates are prefixed with 'is_'. More functions moved into separate namespaces.
    Global replacement of 'Namespace' for 'Scope'
    Add type predicate functions and functions to extract pieces of rationals
    Fixed a bug in compiling function declarations which left an extra func on the stack.
    Add Debugger.dump to examine compiler output.
    Trap /0 in FloatDivide. Compute necessary intermediate precision correctly as well. Implement FloatMod. Fix floating == 0
    Allow 'print foo.bar.bletch' in grammar.
    Complain about comments left open at EOF.
    Implement lots of nifty math primitives in math.5c (sqrt, cbrt, exp, log, log10, sin, cos, tan, arcsin, arccos, arctan, arctan2)

commit 08d68fc3b7c8491cf4c75d9ea39807ef7246837f
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 18:44:30 2001 +0000

    Add beginings of math library. Add mantissa/exponent funcs

commit b87fead3280f2e32e5321ec62997a409c16359e0
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 17:54:17 2001 +0000

    Do not automatically cooerce numeric datatypes to type_float when assigning to real variables.

commit 8717eb060479830617126b7c2f875cde95a7bf37
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 10:45:41 2001 +0000

    Make FloatFloor return Integer when possible.
    Recover from variable definition botch in debugger, new variables are stuck into class_auto even though the frame is active, references to those variables trash the current frame. This may be hard to fix; the kludge here only avoids crashing.
    Clean up a bit more lint.

commit 9df433f213a2b07b5abd09ca4f9cda0974c7ec25
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 09:23:00 2001 +0000

    Remove old machine-specific double code

commit ca33ccd8a70da5c4f978a9546d722d25a2ecf09f
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 09:21:49 2001 +0000

    Arbitrary precision floating point file addition

commit cdbec56003023bed4b63de27021810862cbba961
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Feb 24 09:20:21 2001 +0000

    Replace machine-specific 'double' with arbitrary precision floating point. Replace 'double' datatype with 'real'.
    Lots of math functions are missing now...

commit b69157cb31b902a514daaf21096eb6003212a68f
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 23 18:00:49 2001 +0000

    Argument typechecking was walking actuals in the wrong direction.
    Builds without warnings using
    -Wall -Wpointer-arith -Wstrict-prototypes \
    -Wmissing-prototypes -Wmissing-declarations \
    -Wnested-externs-Wall

commit d3479e9cd167556c67c21b81f3986e14b9629904
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Feb 23 06:32:51 2001 +0000

    Pretty massive rewrite of the syntax to allow for full type declarations, typedefs and cleaner initializers.
    Everything that can be typechecked at compile time is now done, still missing is full run-time typechecking using compound types. That should be easy to add.
    Still ugly:
    typedef int foo;
    type foo bar; <- yuck!
    The current compiler won't allow for lexical-based typedefs like C uses, so we're left with allowing 'NAME' to appear for a typedef name. Yes, this is ugly.

commit 1091b65da366e0fb4d9800d7747680ec129d93ca
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 05:52:00 2001 +0000

    Only cast to double in assignments (yes, this is a hack)

commit 912357b80e3d362cf3df83d737bd2229f655984f
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 05:42:51 2001 +0000

    Remove nickle binary

commit cb12bdb8bcb9f5d5f29ce78edeb8698f1fe9c90b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 05:40:38 2001 +0000

    Add *[ operator for dealing with ref arrays

commit eca1dc89f171f29e4dd3d4ff6fc509a7daa76c9d
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 05:33:36 2001 +0000

    Fix copy routine to always deep copy and then cooerce

commit 66eed23be636cc8067479cd6b7c2813e10311f6e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 04:26:09 2001 +0000

    Remove config.h from CVS

commit fee9090ee68d6824d8bebd03a621a4c957cd3af7
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 04:24:46 2001 +0000

    Remove stamp-h

commit 7538410ad3e0e75d9355ccfa8e318d850a4603ea
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 04:22:37 2001 +0000

    Remove date-sh

commit 83d4a0c765530f4a96619c60a8bcc28fd43c126e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 04:21:47 2001 +0000

    Remove more auto-built files

commit b94c6ce93eedc23f714a443d27274c59d92bba2e
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Feb 20 04:20:27 2001 +0000

    Remove configure intermediate files

commit d75c04a34410c7529066c2a28a17f29bc79904d1
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Feb 18 04:03:24 2001 +0000

    + implemented dim(array), dims(array)
    + implemented strings package length(string) index(string,string) substr(string,int,int)
    + various cleanups and fixes

commit 585f945b64fe8eaeab7f0a726af4a9a59caf15c3
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sat Feb 17 23:57:23 2001 +0000

    Added more stuff to do

commit e991d9010444639bc979dfda287668ef0b3f80f9
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Feb 12 09:10:22 2001 +0000

    Added a few small examples.

commit 60747cd946a3632e6fdd01ed7b1b7117140e5904
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Mon Feb 12 09:07:51 2001 +0000

    Added examples? added to TODO list

commit 780726ae0a2270f5f25b1096987a7ae0bb474e6e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Feb 11 01:27:11 2001 +0000

    Additional files for first release.

commit bfba0920e13990d296bddee6329c60d22f07388e
Author: Bart Massey <bart@cs.pdx.edu>
Date:   Sun Feb 11 01:23:40 2001 +0000

    Autoconf, portability, licensing, release prep

commit 74da035790d05aef208f4a556c31679525589c3f
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Aug 15 00:44:59 1999 +0000

    lint from egcs

commit 37c896608075ff256dda47a170ac2a6d41589539
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 25 20:19:13 1999 +0000

    Use signal macros

commit 707849807c832ef1fe1671344c9a4f0a47406ff0
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 25 17:38:34 1999 +0000

    Fix add-back to trim leading zeros

commit 1154fd1cff7d0e536d4ff61e85f7bcba2eea39cf
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 25 07:00:54 1999 +0000

    Change compression in .uu to gzip

commit 3b430e608c8255b1f28e0470688887f0be4fd441
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 25 06:59:30 1999 +0000

    Fix continuations to keep copy of evaluation stack, start adding exceptions

commit b89a8967dc22802d3fffe8878660e747ff3884d7
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 08:47:45 1999 +0000

    Have CHECK only include division check code

commit f3c8a9cfd4db33b94813ecf29f08760c8262a82e
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 08:47:15 1999 +0000

    Add a few INLINEs to reduce function calls per instruction

commit 3e91c40addd78e2f3035386d2917c8542b506271
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 07:44:52 1999 +0000

    Fix NaturalMask

commit 587c55c61a2151b0797eef2e447f8a6b8e60011a
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 07:36:27 1999 +0000

    Remove unused greaterequal

commit 0d7c0458261d1291d92dc8acecda3444bb7f7acd
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 07:34:32 1999 +0000

    Optimize division by powers of two

commit db64260a80919fbcf6f782b694d35e4bd2da63c4
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 06:59:43 1999 +0000

    Change history offset to start at one

commit f27ab0cd37566b0c0037ee091961728677cd7a77
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 06:56:10 1999 +0000

    Change history offset to start at one

commit 807fecd704d53963083a315022730eac023f9aaf
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 06:53:04 1999 +0000

    Only auto-declare variables in assignement statements

commit abeb9d88365adb810cfb61227105671074b98751
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 06:26:18 1999 +0000

    Add continuations, change builtin code to handle flow control

commit 2aa348ba04361c241e03ec9fabe614c69185a618
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 24 06:25:48 1999 +0000

    Fix ref type to handle comparisons

commit 0de4109be3c3277d3b79c09958837ef84f6a6d36
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jan 23 00:15:47 1999 +0000

    Fix add-back case in divide, add time() builtin

commit e7b6b2b04457c6dad2b50c47b8cb48e3127b2090
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Jan 22 01:55:46 1999 +0000

    Fix builtin scopes and debugger, add random/srandom

commit 06dbbd565d6faba77d2ebf66295be3beb4c7615f
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 20 05:24:03 1999 +0000

    Bump to 1.1.0, get rid of gratuitous atom for struct vars, fix scope for top-level expressions

commit ab5ef9ce3f6f9cff79800a76e453701518ccb83b
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Jan 19 18:10:47 1999 +0000

    Allow chained scope references

commit 3cc203d0184c730e4d69accf4ca4e619e7676b92
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 18 06:10:11 1999 +0000

    Dont create empty local box

commit 1412e73e105ab5fbd2e85f77455a9f2a49ed8c39
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 18 06:04:23 1999 +0000

    Create type list for frames instead of walking symbol table

commit 08c0f2ae10b9dfd91e3e2dce3849d4de1e393406
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Jan 17 05:26:48 1999 +0000

    Add public/private symbols in scopes, make import bring all public symbols into current scope

commit 7206ef66ebabec7a1f017a23be37340ddfdf1eb1
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jan 16 22:55:26 1999 +0000

    Eliminate scope types, unify static and local scopes

commit 1545e9ed8e1cf82c539ca1d649212c4da0c94d44
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 13 09:04:37 1999 +0000

    Abort in middle of factorial and large rational print

commit e2494f5199df069e8d3d56e122f8aea33417b559
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 13 08:55:20 1999 +0000

    Scope names cant be used as variables

commit 7785df4d68fb7916c7e333443ea0c82af1beb965
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 13 07:48:47 1999 +0000

    Add namespaces

commit bcf2a5ad7557a211f4da1fb04875a4bfa8e42d76
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 13 06:22:12 1999 +0000

    Original version from some time ago.

commit cbd084571ad1bbe24bc88b85562e6c04f7c16c64
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 13 06:22:12 1999 +0000

    Initial revision
