Hic sunt Lambdas

Four and a half years after my toy project JNil, I needed another one...

commit c20eaf32d76a4e4361babde0b883f9fbf5c09d72
Author: Juergen Nickelsen 
Date:   Fri Jun 17 08:29:36 2011 +0200

    added BSD-style copyright notice

commit 2c7d0873cf88053ea3eef05a61c8c6389b2d7017
Author: Juergen Nickelsen 
Date:   Sun Dec 26 21:04:11 2010 +0100

    a bit of cleanup in objects

commit b2d554b3b1947d384d2129969a6e03b17b3ed350
Author: Juergen Nickelsen 
Date:   Sat Dec 25 01:08:29 2010 +0100

    repl.[ch] now renamed to session.[ch]; instead of the (insufficient)
    out_port now a session context is looped through everything

commit 9f9dbce87dadcbb16386a562d17a98c072995b9c
Author: Juergen Nickelsen 
Date:   Fri Dec 24 08:53:53 2010 +0100

    Fixed the failure to correctly read numbers beginning with a period
    (like .305) or other tokens like .3sd2, which should be a symbol
    name.

commit f8b28384506b76cf22451743fb001e84e6a67d73
Author: Juergen Nickelsen 
Date:   Sun Dec 12 12:50:37 2010 +0100

    successor and predecessor builtins

commit 94b21b4a5631e55bc47edb31d359b0d79fe13d2f
Author: Juergen Nickelsen 
Date:   Sat Dec 11 16:09:05 2010 +0100

    -lm; TODO: gc loudness

commit 3d7d64c10d02b366b9190ba6ef397dd69e4510af
Merge: 6b38fb3 3c48fb9
Author: Juergen Nickelsen 
Date:   Thu Dec 9 12:05:38 2010 +0100

    Merge branch 'master' of git@git.w21.org:hsl

commit 6b38fb379e43963af8b4d7265d0e2884f16d1f54
Author: Juergen Nickelsen 
Date:   Thu Dec 9 12:05:17 2010 +0100

    a few files being untracked on mellum

commit 3c48fb904cc6bc49346b577c5fb161063e4e9d3f
Author: Juergen Nickelsen 
Date:   Wed Dec 8 10:23:31 2010 +0100

    long/long double duality mostly completed including range checks for keeping the integer property; new observation regarding gc noted in TODO

commit 7ae85a99856b2c729b22412217fae33e4a7a5c09
Author: Juergen Nickelsen 
Date:   Wed Dec 8 09:32:24 2010 +0100

    begun to use and correctly (so the idea) propagate the num_is_int
    property of numbers, so we can treat numbers that are actually
    integers differently, e. g. not print them in exponential representation

commit b4a7d688d5f25b557bd02b3742bfb2e26da29490
Author: Juergen Nickelsen 
Date:   Wed Dec 8 09:10:48 2010 +0100

    numerical functions work better when initialized; num_is_int bit

commit fbc6cb72ebe3d78c482d35066debe6363a56b5a9
Author: Juergen Nickelsen 
Date:   Wed Dec 8 09:01:42 2010 +0100

    moved all numerical builtins to numbers.[ch]

commit 3b415f6e61a3404b3d0856b37806de881154a5c2
Author: Juergen Nickelsen 
Date:   Wed Dec 8 08:52:27 2010 +0100

    moved numbers from long to long double; naively, for the moment

commit 603ba3bbf3482059b4aecb95b22687c95cd90a30
Author: Juergen Nickelsen 
Date:   Tue Dec 7 09:54:15 2010 +0100

    finished commenting builtins.c; new TODO regarding error handling;
    made time and measure return the value of the evaluated forms; made
    errset return the error message as a string; renamed get_symbol(_z)
    to intern(_z)

commit d9b2b2f271215d6574f91b3952e75e8b69205e30
Author: Juergen Nickelsen 
Date:   Mon Dec 6 10:32:03 2010 +0100

    Slight simplification of the basic object handling; begun to write
    comments for the builtins.

commit 76a2088ac5035542b1f123f3ec90c4eff11b3838
Author: Juergen Nickelsen 
Date:   Thu Dec 2 09:45:36 2010 +0100

    more work on the gc, largely successful (traversing symbols is quite
    rewarding); builtins now get the number of arguments passed, which
    we have anyway; trace-function and the related bit; port name is
    no longer a Lisp string (no reason why it should be); s_expr now
    exported from the printer

commit f1ed8b6ea6c2c78db7bb9f26b32417b41c7aab7e
Author: Juergen Nickelsen 
Date:   Thu Dec 2 00:36:02 2010 +0100

    more work - and a bit of renaming - on the gc, unsuccessful as of now

commit e83301e64c9e50161202fda77d0111c5b587e6e5
Author: Juergen Nickelsen 
Date:   Tue Nov 30 09:34:55 2010 +0100

    more gc protect work

commit 437d907adb0a434c35df0236a0a90b6737d88b5c
Author: Juergen Nickelsen 
Date:   Tue Nov 30 00:31:06 2010 +0100

    more gc protection (who guessed that?) in a standardized way

commit d4a4d46c934aa828fd5dc92ec8c48b25dbf19460
Author: Juergen Nickelsen 
Date:   Mon Nov 29 09:15:11 2010 +0100

    more gc protection in ports and mainly the reader

commit a50afea37acbecf4dd575f33738a908ff3b78304
Author: Juergen Nickelsen 
Date:   Sun Nov 28 15:14:26 2010 +0100

    first shot at gc, still crashes (small surprise)

commit bc6cfb9d2d216ab2ec961ff96b152f97e0c0e6db
Author: Juergen Nickelsen 
Date:   Sun Nov 28 13:38:56 2010 +0100

    gc protection in builtins and eval.c -- complete?

commit 73f623ceb6f478a76a03e388e6d66bb2d05fedac
Author: Juergen Nickelsen 
Date:   Sun Nov 28 13:10:56 2010 +0100

    a few fixes regarding bindings, including let and let*

commit 8b9346f8396e4e79cf48a6386101e09e0e95412e
Author: Juergen Nickelsen 
Date:   Sun Nov 28 03:57:42 2010 +0100

    Object handling largely revamped to prepare for gc.
    
    New ob_common.c for operations common to all object types, mainly
    memory management including freelists and stuff. New "next" field
    in the Lobject_t provides linkage for allocated and free lists. New
    tunables.h to contain tunable parameter defines. make_ and
    restore_bindungs now uses pushdown lists instead of a map for every
    stack frame, should be much faster and provides GC protection. The
    next field in the Lobject_t necessitated a changes in the hashmap,
    as this field is different for every object. In the process fixed
    a bug in make_bindings that made one binding too many -- bound nil
    to nil, and one that called restore_bindings wrongly when there
    were too many (or too few?) function parameters. Some gc stuff
    begun, but far from doing something. gc_protect stuff in a very
    indefinite state, but thankfully it isn't called anywhere yet. New
    object type GCPROT, not ever Lisp-visible. Fixed describe which
    reliably followed every cycle of cyclic references (e. g. the nil
    object). And some minor stuff.

commit 829dd9d15e3c111c719301b16b67832ef919431d
Author: Juergen Nickelsen 
Date:   Sat Nov 27 15:32:07 2010 +0100

    a few cosmetic renames; destroy_strbuf

commit f2e1c77eb1db702414c6e11d67c29f2ab82fbcc5
Author: Juergen Nickelsen 
Date:   Sun Nov 7 15:14:39 2010 +0100

    first step to garbage collection: protect objects from the sweep
    by putting them on a protect stack

commit 851306168ed3a07da57dc07ab4a45d8461434369
Author: Juergen Nickelsen 
Date:   Sun Nov 7 12:54:57 2010 +0100

    builtin apropos; # -> #; optimized princ_string
    for symbols (as before for strings); make describe print information
    about the name of a symbol

commit 521b35409caea51104b821e0f8843af18f6050b6
Author: Juergen Nickelsen 
Date:   Sun Nov 7 12:05:54 2010 +0100

    make (measure) without arguments count the time since start of the
    interpreter (like the other measures), not since start of the epoch

commit 02ad5987e40524e93d92c6a7065efc2bb367cb51
Author: Juergen Nickelsen 
Date:   Sat Nov 6 21:54:11 2010 +0100

    enforce immutability also for the function cell

commit b6ce5ff777113ac2ff57af62af857260d2a87bf7
Author: Juergen Nickelsen 
Date:   Sat Nov 6 16:40:55 2010 +0100

    plan of a more general session context in TODO

commit e93d186d39894c47f7e7c88a648f147e2bd057f9
Author: Juergen Nickelsen 
Date:   Sat Nov 6 09:17:12 2010 +0100

    length also on symbols, and a more snappy repsonse for its application
    on types where the idea of length is not really applicable

commit 0e4209cce9aae1a34f3d21cf4c48e74a9310dddb
Author: Juergen Nickelsen 
Date:   Fri Nov 5 09:42:41 2010 +0100

    a few new TODOs

commit cc05477ebbcbe8e38f1e23c2a562fed7153b1b96
Author: Juergen Nickelsen 
Date:   Fri Nov 5 08:55:07 2010 +0100

    length builtin

commit b2b98a85db98da44eacef61295ada1421f605aa9
Author: Juergen Nickelsen 
Date:   Wed Nov 3 09:17:37 2010 +0100

    made describe (ob 'tostring) a builtin and (as desc) more convenient
    to use from the debugger

commit b081df0b9e17334c0961159f194bdca90cf8942d
Author: Juergen Nickelsen 
Date:   Wed Nov 3 08:37:11 2010 +0100

    small optimization for eql: check pointer equality first

commit 68b85d0403c5dd67c206338b125ddbe80882b5df
Author: Juergen Nickelsen 
Date:   Tue Nov 2 09:59:53 2010 +0100

    a few minor fixes: princs, symbol-name, symbol-function, undef handling

commit 64ac59d49191280a485340aedb32b57f52167dcd
Author: Juergen Nickelsen 
Date:   Tue Nov 2 09:23:19 2010 +0100

    autoload works now

commit 225f367be13c8bbfb603cb085287b4a26acd65b2
Author: Juergen Nickelsen 
Date:   Tue Nov 2 07:57:36 2010 +0100

    autoload definiton changes compilable

commit 0983aee10d1772a05c66d25ced5b2fc1752cfb71
Author: Juergen Nickelsen 
Date:   Mon Nov 1 09:06:47 2010 +0100

    TODO format

commit 7e838a09fecb90a066914b0c5b3e3e09f18d771e
Author: Juergen Nickelsen 
Date:   Mon Nov 1 08:29:47 2010 +0100

    changed Lfunction_t's is_builtin into a more general type field,
    so we can address more types of functions in the future, including,
    but perhaps not limited to, byte-compiled functions

commit b02246cc09e5f95408e05283f0a570457796ce76
Author: Juergen Nickelsen 
Date:   Thu Oct 28 00:09:35 2010 +0200

    a new and exciting TODO item

commit 7fa5ff5f0a385310ae796d7add7bdd4ba68cc1f3
Author: Juergen Nickelsen 
Date:   Mon Oct 25 23:28:46 2010 +0200

    prin1s, prin1, princ

commit 8d3393d89e29bd98f4b69243f82f7a9d5ba1790f
Author: Juergen Nickelsen 
Date:   Mon Oct 25 09:54:52 2010 +0200

    actually enforce the immutable (previously: readonly) bit on objects,
    as for nil and t

commit 16a3e5ce5750c9e639753484b6c7f52182f4bfae
Author: Juergen Nickelsen 
Date:   Sun Oct 24 23:22:46 2010 +0200

    prog1, prog2

commit be5e44f44113a8dfd976dd2d4daebfa787866b1b
Author: Juergen Nickelsen 
Date:   Sun Oct 24 20:18:05 2010 +0200

    eql; user-handleable errors; princs; errset; print with read syntax

commit 9d3c4c8bed03bc394c1e00ef7fde4accf311e8cc
Author: Juergen Nickelsen 
Date:   Sun Oct 24 18:36:08 2010 +0200

    removed obsolete printer code

commit d899a7fec11b5a0881f24fe476866fec36ccd06d
Author: Juergen Nickelsen 
Date:   Sun Oct 24 18:32:31 2010 +0200

    progn, while, unwind-protect; a few cleanups; total revap of the
    printer code to print everything to a strbuf first, then to a port,
    although old code not yet removed

commit ab2379e27a80173b6e0fa80aa539a3aa017769fd
Author: Juergen Nickelsen 
Date:   Sun Oct 24 12:50:00 2010 +0200

    made eval level counting simpler by now incrementing the level in
    eval only and not elsewhere; listp; and; or; not; resource measurements
    counts objects; included register_object in new_object, as it is
    called only from there anyway

commit 68aec9f040140b5b8d3e43fe48adfae125c455db
Author: Juergen Nickelsen 
Date:   Sun Oct 24 12:13:07 2010 +0200

    defspecial; extended arithmetic functions to multiple arguments,
    including comparisons (even divide and modulo, because we can);
    timing and resource measuring primitives; funcall; apply; list;
    let; letrec

commit b54f767167df845ee339fffa19bd609d13e41ae0
Author: Juergen Nickelsen 
Date:   Sat Oct 23 15:10:20 2010 +0200

    fix in reader.c, no longer silently ignores EOF when loading files

commit 41f72b0a0df2061db0eb84eb0b27319a1af90b43
Author: Juergen Nickelsen 
Date:   Sat Oct 23 14:28:26 2010 +0200

    cond

commit 27dd88e799d323ae653b3c3c6889aad0ab582c9f
Author: Juergen Nickelsen 
Date:   Fri Oct 22 19:23:27 2010 +0200

    Introduced the FUNCTION object, replacing the BUILTIN, and representing
    builtin *and* form object, special and normal. Various consequenting
    reconstructions all over the place. Lambda, function, fset, defun now all
    call make_function to create a function object that is already verified
    as a function. This means, hopefully, that we don't need to verify any
    function (and be it a constructed-on-the-fly lambda or special form)
    on apply or evalfun.

commit 9a6338e01156fbef25c5cf02230e5a5d75afe86c
Merge: ed32240 d3e1246
Author: Juergen Nickelsen 
Date:   Fri Oct 22 15:35:15 2010 +0200

    Merge branch 'master' of git@git.w21.org:hsl

commit ed32240ea135b50dd34a35477a6d7593cbc85441
Author: Juergen Nickelsen 
Date:   Fri Oct 22 15:35:03 2010 +0200

    added Maclisp documentation

commit d3e124689a79877c200ad029f1431e39de59e225
Author: Juergen Nickelsen 
Date:   Fri Oct 22 08:42:25 2010 +0200

    TODO update regarding a checking lambda

commit 45171a3f152dac7deee47dabd8228f23868b11a4
Author: Juergen Nickelsen 
Date:   Thu Oct 21 23:55:42 2010 +0200

    renamed reader_globals => reader, rglobs_t => reader_t, rg => rdr

commit 56a7c89a0e06813a1dd70e825e872e0a25a942b0
Author: Juergen Nickelsen 
Date:   Thu Oct 21 23:45:57 2010 +0200

    implemented function function correctly (meaning it passes through
    builtins and lambdas and mus), which still did not help the mapcar;
    made the function function a special form, which magically did

commit edfd2b56dd96913a2afa818e298daca310e7db4f
Author: Juergen Nickelsen 
Date:   Thu Oct 21 23:27:44 2010 +0200

    reader_globals everywhere instead of the port argument; support for
    getting the symbol value as a function, which still did not help the
    macpar function; instead implemented the "function" function (although
    wronly, only on symbols, yet) and the associated #' reader macro -- and
    a general mechanism to support other reader macros with the #.

commit db84e5d2b643849598f98981ac2c90c1e9a7adcf
Author: Juergen Nickelsen 
Date:   Thu Oct 21 17:40:54 2010 +0200

    smallish OpenSolaris adaptations; ATOM

commit a9dd3baa6435f0ef337cf13ed1d7b136f452640f
Author: Juergen Nickelsen 
Date:   Thu Oct 21 10:07:29 2010 +0200

    error handling changed to print an error first, print better
    stacktrace, and in the repl print only the returned (error) object;
    output/error ports everywhere except in the port handling itself,
    where it is always stderr

commit e883ef5e7040dcb39b5db9726a1221a110750401
Author: Juergen Nickelsen 
Date:   Wed Oct 20 23:43:55 2010 +0200

    reader now has an explicit global status including the file name,
    line number, column, pushback token, etc. that is passed through
    everything as a parameter, so we can now (in theory) have multiple
    readers at a time; fixed the reader SEGV bug (list initialization
    in read_loop was null instead of nil); new xstrdup()

commit 38f4ae308f1ed4b497b13634ec6882a7e5cfada2
Author: Juergen Nickelsen 
Date:   Wed Oct 20 19:46:52 2010 +0200

    updated TODO; added test/cmnt.lisp

commit d4b38bfc2cdadfbbace92d3bdfbd01551f44a9d9
Author: Juergen Nickelsen 
Date:   Wed Oct 20 18:44:50 2010 +0200

    removed global visibility of the builtins (which seems not necessary);
    made load_file use the repl; fixed a reader bug (newline had the wrong
    charclass, so the reader never came out of a comment); tried to fix
    another reader bug that causes SIGSEGVs, but failed so far

commit d5110618b6682638c38f2c4d8d16930e615614fb
Author: Juergen Nickelsen 
Date:   Wed Oct 20 10:14:03 2010 +0200

    map does not work, need to check value cell of symbol for function

commit b157f58b89647e6e7a720a9ec26be8fb21ceaa5e
Author: Juergen Nickelsen 
Date:   Wed Oct 20 10:08:32 2010 +0200

    reorganized "load"; main now loads any command line arguments as
    files

commit 97a06f54b8e08217ac7033ea3d14e5d193b8b36f
Author: Juergen Nickelsen 
Date:   Wed Oct 20 09:44:16 2010 +0200

    eval level passing to builtins made explicit

commit 38fca1539ff2ff41baf467563786d9f4b60b23b7
Author: Juergen Nickelsen 
Date:   Tue Oct 19 22:29:52 2010 +0200

    mostly cosmetic changes to printing a port

commit e9854ba00abddc39dd5d41219f9298ca378046e7
Author: Juergen Nickelsen 
Date:   Tue Oct 19 20:07:37 2010 +0200

    the simple recursive faculty function works now -- wew!

commit 4c7513786be1d5f9de6be1df6790b1ca49add44d
Author: Juergen Nickelsen 
Date:   Tue Oct 19 19:01:47 2010 +0200

    real eval tracing with levels

commit b0a7b259b44c387680c00c5c452fc3e66b665b9c
Author: Juergen Nickelsen 
Date:   Tue Oct 19 12:00:47 2010 +0200

    eval levels everywhere

commit b1eb9c0745281a99c43f12f4842c98d2a83ee6a5
Author: Juergen Nickelsen 
Date:   Tue Oct 19 09:08:13 2010 +0200

    implemented (although not yet used) trace flag and get/set function

commit 4cb15bbb509e3b14576ffb6fd0c22b1e29a3f9df
Author: Juergen Nickelsen 
Date:   Tue Oct 19 08:43:56 2010 +0200

    generalized rep loop and extracted from main.c to repl.c; did not
    help the still botched eval, though; problem might be in binding
    the variables, as a null argument list to a unary function was not
    detected

commit 1874dcef0bf7a0e54ae6b317c13938bf4d0cff54
Author: Juergen Nickelsen 
Date:   Mon Oct 18 20:01:21 2010 +0200

    two fixes in IF; more tracing in eval

commit 2b3a7205f7f11ad7b436eda918d234ea2aebc867
Author: Juergen Nickelsen 
Date:   Mon Oct 18 17:47:52 2010 +0200

    small Linux compatibility changes

commit 53011579ba42d71efce17734f9d6ed06bd97fcaf
Author: Juergen Nickelsen 
Date:   Mon Oct 18 10:45:29 2010 +0200

    TODO updated

commit 9621cba90812c44881b627dc42febeccd8d2c56d
Author: Juergen Nickelsen 
Date:   Mon Oct 18 10:44:17 2010 +0200

    TODO updated

commit b2114b2cadd7b732206d098a2e3642278f93a41d
Author: Juergen Nickelsen 
Date:   Mon Oct 18 10:39:25 2010 +0200

    copied over tests from Jnil (unchanged yet); basic arithmetic
    builtins; defun, which works for a simple function

commit 2e81cb0965230e631cde7f0f420b5580a96d564d
Author: Juergen Nickelsen 
Date:   Mon Oct 18 09:15:49 2010 +0200

    clean target now removes cscope.out; TODO

commit 9610ecf721f7f17895e14ab54eb9979095f60206
Author: Juergen Nickelsen 
Date:   Mon Oct 18 09:02:42 2010 +0200

    switched to new error macros ERROR and CHECK_ERROR, also to using
    a related object in the error message where appropriate

commit 7c6cf3c4b6336b3dddb7453d844b2da312465b55
Merge: 6e1bba2 c47ecdf
Author: Juergen Nickelsen 
Date:   Sun Oct 17 23:33:39 2010 +0200

    Merge branch 'master' of git.w21.org:hsl

commit 6e1bba22c3166be3ac2b646b0d2df57cb5300048
Author: Juergen Nickelsen 
Date:   Sun Oct 17 23:29:28 2010 +0200

    fix: NIL and T evaluate to themselves now, helped a lot to fix IF;
    IF body now evaluated in finite time with the help of successive
    CDRs of the argument list; CHECK_ERROR (pass through error coming
    from below) and ERROR (generate and return errors) macros to make
    error handling easier, to be used everywhere in the future

commit c47ecdf80e3a3db2f3468db409b1a5bb558aefc6
Author: Juergen Nickelsen 
Date:   Sun Oct 17 23:29:28 2010 +0200

    fix: NIL and T evaluate to themselves now, helped a lot to fix IF;
    IF body now evaluated in finite time with the help of successive
    CDRs of the argument list

commit 10aa6db9c74b7a5da7783fb742e1a2a62ee40743
Author: Juergen Nickelsen 
Date:   Sun Oct 17 17:37:24 2010 +0200

    a very simple lambda has already worked, alas, not a recursive one

commit 0421b66c10530ec9ba2fdd6c39b5b611882550e7
Author: Juergen Nickelsen 
Date:   Sun Oct 17 17:07:07 2010 +0200

    infinite loop in check_function() fixed, but it still complains
    about my lambdas...

commit 87e3f786a88e0131f1a1e194740da3f2933f68f8
Author: Juergen Nickelsen 
Date:   Sun Oct 17 17:02:11 2010 +0200

    repaired evallist and port-write for stream ports; eval does now
    no longer cause an abort trap, but goes into long and hard
    self-meditation -- now that's progress!

commit b43e8d97ceb3de3701f2c578e03609ac23e63aab
Author: Juergen Nickelsen 
Date:   Sun Oct 17 16:26:24 2010 +0200

    the great I/O revamp with real ports (stream, fd, string) compiles
    now, but is still completely untested

commit c65086fdec8ed0002a6910cc418116efa762d4e4
Merge: 59a0731 4a828f0
Author: Juergen Nickelsen 
Date:   Sun Oct 17 11:51:57 2010 +0200

    Merge git.w21.org:hsl

commit 59a07317ffbc7b550e8f0871631c89d09049efaf
Author: Juergen Nickelsen 
Date:   Sun Oct 17 11:50:26 2010 +0200

    fset incidentally redone, only better; CADR and CADDR (need them
    so often to acess builtin functions args)

commit 4a828f0aa1e25301bedf1cf26a41030e1326564d
Author: Juergen Nickelsen 
Date:   Sun Oct 17 09:52:52 2010 +0200

    renamed executable to hsl, as well as the repository names

commit 181d32687f741f8bea555f4a6494aa54ae0b845a
Author: Juergen Nickelsen 
Date:   Sun Oct 17 09:48:09 2010 +0200

    has now, for the first time, done things in the difficulty magnitude
    of (setq a (car (cdr (symbols))))

commit 51a4291c3d0cab6b7fa90117d38b40c03054bce0
Author: Juergen Nickelsen 
Date:   Sun Oct 17 01:35:48 2010 +0200

    variable binding on apply done; eval now works, but produces fairly
    obviously false result, easily downhuntable

commit d2b29fa327470ae8c2ef037cf2a49b4801d49e08
Author: Juergen Nickelsen 
Date:   Sat Oct 16 15:07:57 2010 +0200

    an as yet unsuccessful foray into apply territory revealed the need
    for environments or the like, which are now just barely begun

commit 4ba2409afe720b8d3ea9b9e69d50d9d8652b0600
Author: Juergen Nickelsen 
Date:   Sat Oct 16 00:23:33 2010 +0200

    still, lots of things missing from eval and the builtins initialization

commit a3abea0f424976bc47010c1fd84ebecc9781e966
Author: Juergen Nickelsen 
Date:   Fri Oct 15 23:27:14 2010 +0200

    first shot at eval and the builtins completed

commit 994aaccd2308f0740726ee66c9184133ac2e82c6
Author: Juergen Nickelsen 
Date:   Fri Oct 15 22:25:54 2010 +0200

    more forays into eval territory, with some builtins to boot; not the
    functions, more the infrastructure

commit 144de6b0a94a7c5fb4fc1b97eb401e4d976b55e3
Author: Juergen Nickelsen 
Date:   Fri Oct 15 12:36:43 2010 +0200

    hashmaptest works now (and show the hashmap is broken); strbuf and builtin
    added as data type, but support is very preliminary at the moment --
    at least it compiles

commit 943a8e544bdb6db1ee3c963dc2a1b552b6607104
Author: Juergen Nickelsen 
Date:   Fri Oct 15 08:32:01 2010 +0200

    first stage of evalfun

commit e0410328fc6efa2ffc27264f7f69e211a84d59e7
Author: Juergen Nickelsen 
Date:   Fri Oct 15 06:56:56 2010 +0200

    comment fix

commit abe0a0d8759c2f1a63e945010b6c7620c52403db
Author: Juergen Nickelsen 
Date:   Fri Oct 15 06:55:07 2010 +0200

    a few more steps towards eval

commit caca98e46d99209c5b445787faa625327142569d
Merge: 7431b60 7926e5d
Author: Juergen Nickelsen 
Date:   Thu Oct 14 18:16:09 2010 +0200

    Merge branch 'master' of /home/git/lll/

commit 7431b603c2abb7119a2bba9982831c8b224f41b6
Author: Juergen Nickelsen 
Date:   Thu Oct 14 18:15:56 2010 +0200

    still hashmap problems; eval begun

commit 537e93256ae4045004341cf0294708e20eb935d9
Author: Juergen Nickelsen 
Date:   Thu Oct 14 11:38:17 2010 +0200

    reader generates "unexpected EOF" errors (although still primitive)

commit 7926e5d92bee650069b7c2f02a62228faad0ca4d
Author: Juergen Nickelsen 
Date:   Thu Oct 14 11:38:17 2010 +0200

    reader generates unexpected EOF errors (although still primitive)

commit 3da00b853a72d824aa2efaff0b5912d9b76a8ad0
Author: Juergen Nickelsen 
Date:   Thu Oct 14 11:37:37 2010 +0200

    describe handles null pointer and shows symbol values

commit dd68eeb7394ef64ff2a90261fb3f0822ac584b23
Author: Juergen Nickelsen 
Date:   Thu Oct 14 11:17:04 2010 +0200

    handles EOF correctly

commit b11df0e6fd1df00a3f6abea55d45a10d71e1c498
Author: Juergen Nickelsen 
Date:   Thu Oct 14 10:39:12 2010 +0200

    reader can read proper and improper lists (at least flat ones) and
    symbols, but cannot detect EOF; printer seems basically ok; hashmap
    fishy as same atoms are registered twice (but not thrice!)

commit a2eb9e9709d0c9137bd7acf302971f9f75c73b4a
Author: Juergen Nickelsen 
Date:   Mon Oct 11 09:56:49 2010 +0200

    a few unnecessary includes eliminated; renamed signal -> signals

commit 744e1c5a229348d492b7fd31d9e4e81716a6bf48
Author: Juergen Nickelsen 
Date:   Mon Oct 11 09:50:17 2010 +0200

    remove all objects on make clean

commit 48d199f3c71031e743b3c38a55d5d07fa029314e
Author: Juergen Nickelsen 
Date:   Sun Oct 10 22:10:44 2010 +0200

    reader: completed lexer

commit 654b7003070c7ca4e5ccff746193b5253d694a6b
Merge: cf18b94 f6318fa
Author: Juergen Nickelsen 
Date:   Sat Oct 9 11:00:44 2010 +0200

    Merge branch 'master' of git.w21.org:lll

commit cf18b94e1b51fecaa00a8c4f9ea9bf2175eeb3ec
Author: Juergen Nickelsen 
Date:   Sat Oct 9 11:00:22 2010 +0200

    some comment adjustment

commit f6318fa550b731dcca25fee6007e82a00335ff17
Author: Juergen Nickelsen 
Date:   Sat Oct 9 10:49:35 2010 +0200

    more work on the reader

commit 557a185d90a8167e030eac17c10705d636a056bc
Author: Juergen Nickelsen 
Date:   Fri Oct 8 08:40:43 2010 +0200

    reader action table completed

commit f982c1de3428cc7e15fdcb74a9b8fe53ec315c6c
Author: Juergen Nickelsen 
Date:   Fri Oct 8 08:33:11 2010 +0200

    reader state table, action table begun

commit 5a255fb578e34633262d31b0e09780d1695e8bec
Author: Juergen Nickelsen 
Date:   Thu Oct 7 19:40:57 2010 +0200

    strbuf.[hc] in initial form with zero-terminated strings, to be changed

commit da0e8932a46299cbb25d420b2f609136c2db224f
Author: Juergen Nickelsen 
Date:   Thu Oct 7 10:02:06 2010 +0200

    Lexer comments

commit 897fdd628999ef317c90a799fd5831e28dc36323
Author: Juergen Nickelsen 
Date:   Thu Oct 7 09:42:17 2010 +0200

    revisited existing lexer definitions, added actions

commit 90ba006d888bbfd7aeb04d0666a9dd537a4a7606
Author: Juergen Nickelsen 
Date:   Thu Oct 7 08:02:34 2010 +0200

    still a bit more in the reader

commit 9d808fcb75d821e2fbfb979fc5d382f96cd6b84b
Author: Juergen Nickelsen 
Date:   Thu Oct 7 00:28:10 2010 +0200

    a bit more in the reader

commit 9e9f22f1dc17f4ef2d7c2ba0950ec2116ac09eea
Author: Juergen Nickelsen 
Date:   Tue Oct 5 22:49:38 2010 +0200

    reader.c into Makefile; PERIOD into reader.c (token type)

commit 7fb65145f90c02626125b1a25e151d7352285b77
Merge: cc6b207 6c34ad8
Author: Juergen Nickelsen 
Date:   Tue Oct 5 13:11:19 2010 +0200

    Merge branch 'master' of git@git.w21.org:lll

commit 6c34ad8b1007207df82e142b08861569e9f7641a
Author: Juergen Nickelsen 
Date:   Tue Oct 5 09:11:49 2010 +0200

    small comment change

commit 3699550cf2fecced0ddcbde84b1d74593fdca27c
Author: Juergen Nickelsen 
Date:   Mon Oct 4 18:22:20 2010 +0200

    remove core files on make clean

commit ce523d3544a3eea31c2c3d00da8b87997164293d
Author: Juergen Nickelsen 
Date:   Mon Oct 4 18:16:57 2010 +0200

    "all" target in the Makefile

commit cc6b207f61e7359d8c0c24529698baf6ce27ef49
Author: Juergen Nickelsen 
Date:   Mon Oct 4 17:08:13 2010 +0200

    the very fist shot at a lisp reader

commit 472947ae19021564fadb1ec211c19e590dd5914f
Author: Juergen Nickelsen 
Date:   Mon Oct 4 15:17:35 2010 +0200

    fix: missing eq_is_eqv setting kept hashmap from identifying equal
    strings, now corrected for all applicable object types

commit 536f62f83bca29923a44614a2ea9f87350445b19
Author: Juergen Nickelsen 
Date:   Mon Oct 4 10:47:50 2010 +0200

    a bit of cleanup in objects.c and sexprio.c; test code to recognize
    misworkings of the hashmap (which exist at the moment)

commit 56ecda9b1d2358155a1094b9777285146f420b8c
Author: Juergen Nickelsen 
Date:   Mon Oct 4 09:02:04 2010 +0200

    tested and fixed p_map()

commit b471fc6b368ec25eb65737beac2424775e50f60e
Author: Juergen Nickelsen 
Date:   Mon Oct 4 08:45:03 2010 +0200

    merged globals into objects, as the separation did not appear to
    make much sense

commit 0fad85df8a7691a07392daf1f5700953338763af
Author: Juergen Nickelsen 
Date:   Mon Oct 4 00:13:03 2010 +0200

    minor comment correction

commit 9a83ccbd998f3cf95583faa2ec461b32aa821432
Author: Juergen Nickelsen 
Date:   Mon Oct 4 00:07:51 2010 +0200

    printer has correctly printed a simple list; a few other things
    have begun to work, too

commit 7263e57e988dd8bc320ec18c6b880c81c7bd4634
Author: Juergen Nickelsen 
Date:   Sun Oct 3 19:18:16 2010 +0200

    first attempts at a sexpr printer

commit 9c90371e33d4905938fae405629394fc48c0ab5e
Author: Juergen Nickelsen 
Date:   Sun Oct 3 13:42:16 2010 +0200

    one step closer to creating the first objects: object registry,
    first new/destroy functions

commit c34c19a748359276f90a63f8ae87fddce5fe41c9
Author: Juergen Nickelsen 
Date:   Sun Oct 3 12:32:44 2010 +0200

    e few formal adjustments in the headers

commit 0b08f0463885c2b2268183a62ebb5f6833c89f8a
Author: Juergen Nickelsen 
Date:   Sun Oct 3 12:21:33 2010 +0200

    first draft of converting the hash table; first successful compile;
    a few more thoughts at the object representation

commit 927e9322d914b84d9b4e1caec476627297521b2c
Author: Juergen Nickelsen 
Date:   Sat Oct 2 18:01:17 2010 +0200

    ongoing; I am mostly at the hashmap stuff and related infrastructure

commit a8301204f28b9b244d5df010cb5f2d463b7bf106
Author: Juergen Nickelsen 
Date:   Sat Oct 2 17:09:16 2010 +0200

    change of hashmap to objects begun; a few fixes in objects.h; some
    changes related to the fact that hashmap.h and objects.h need to
    include each other :-(

commit 22141567a0d0fde1f01aa4b98352cbd3d7f908ec
Author: git repository 
Date:   Sat Oct 2 16:58:43 2010 +0200

    initial stuff; the part in objects.h may even be pretty final, but
    hashmap.[hc] definitely have to be adapted to using objects as keys
    and values.