an open source interpreter for the Kernel Programming Language.
git clone http://git.hanabi.in/repos/klisp.git
Log | Files | Refs | README

DateCommit messageAuthorFiles+-
2014-03-21 22:25Fixed compilation and linking issues for the MinGW tool chain.James Adam Armstrong3+15-2
2014-03-20 16:12Issue 9 Bugfix. Moved NULL check in main klisp_State object upwards. Thanks J. Armstrong.Andres Navarro1+4-3
2013-07-22 19:06Merged threads branchAndres Navarro68+2414-1118
2013-07-22 19:05Closed Branch. Merging to defaultAndres Navarro0+0-0
2013-07-22 19:02Fixed typoAndres Navarro1+1-1
2012-08-31 03:00Added thread-join to query the result of other threads (but only if they do exit, throw an error or pass a value to the root cont, otherwise they return #inert, at least for now). Bugfix: (GC) Added a thread table to properly root the running threads (just setting the fixed bit protected the klisp_States but not the objects contained within).Andres Navarro5+138-30
2012-08-30 03:07Added contition variables objects and ground combiners (condition-variable?, make-condition-variable, condition-variable-wait, condition-variable-signal, condition-variable-broadcast).Andres Navarro9+243-8
2012-08-29 20:49Added mutex lock, unlock, and trylock.Andres Navarro3+156-6
2012-08-29 19:45Added Mutex Objects (still no applicatives for lock/unlock thou)Andres Navarro7+134-4
2012-08-28 23:21Added locking to the main interpreter. This was needed to allow threads to be created in all the stages of the interpreter (init, argument evaluation, script executing, etc)Andres Navarro2+18-0
2012-08-28 23:09Added create-thread to the ground environment (no options for now). Added pthreads to the libraries param in Makefile. Fixed memory leak in thread GC (doing an explicit join to free the thread stack).Andres Navarro9+189-45
2012-08-28 22:39Added GIL unlocking before and locking after to input/output blocking operations, to allow other threads to run while one is blocked waiting for I/O.Andres Navarro2+16-1
2012-08-26 06:01Some minor comments.Andres Navarro2+6-1
2012-08-25 18:19Refactored symbol, string, and keyword immutable constructors in the bytevector fashion (separate functions for calculating the hash and looking in the stringtable)Andres Navarro6+97-43
2012-08-25 17:34Temporarily moved all locking to the main thread loop. This will limit parallelism for now but will alow gradual rewrite of all operatives and continuations.Andres Navarro18+31-85
2012-08-24 06:45Bugfix: added lock around aux stack use in keyed environment lookup.Andres Navarro1+3-1
2012-08-24 06:43Some bugfixes and comments regarding locks in kstate.Andres Navarro2+34-13
2012-08-24 06:25Added locking in kgsystem before calling GC (in delete file workaround).Andres Navarro1+2-1
2012-08-24 06:25Added locking to imath/imrat around memory allocation/deallocation.Andres Navarro2+16-1
2012-08-24 06:24Removed the locking from memory allocation & deallocation. Code calling these is responsible for locking before calling.Andres Navarro3+11-2
2012-08-24 06:07Added locking to the list checking and copying functions in kghelpers.Andres Navarro1+11-1
2012-08-24 06:03Fixed some lock issues in keval.cAndres Navarro1+1-5
2012-08-24 05:57Added locking to kerror.Andres Navarro1+2-1
2012-08-24 05:55Added locking to kenvironment.Andres Navarro1+21-3
2012-08-24 05:43Added locking to kencapsulation.Andres Navarro3+4-0
2012-08-24 05:36Added locking to kcontinuation.Andres Navarro1+9-1
2012-08-24 05:31Added locking to kbytevector functions.Andres Navarro3+45-16
2012-08-24 05:30Added locking to kapplicative functions.Andres Navarro4+5-2
2012-08-22 19:38Some more refactoring in kstate and kcontinuation to move the interception code out of kstate and normalize the initialization of the ground environment.Andres Navarro9+284-281
2012-08-22 18:35Minor refactor: renamed some kstate functions and macros from 'klispS_' prefix (which actually belongs to kstrings) to 'klispT_'Andres Navarro4+23-23
2012-08-22 05:53Added locking to the memory allocation routine.Andres Navarro1+4-1
2012-08-22 05:46Added locking to the eval support functions.Andres Navarro1+18-9
2012-08-22 05:46On error throwing, the GIL is released. This allows code to acquire the GIL any number of times and then call functions that may throw errors before releasing the GIL.Andres Navarro1+3-0
2012-08-22 05:44Modified the GIL to be reentrant (still uses a simple mutex, the number of times the lock was acquired is kept in the klisp_State struct).Andres Navarro3+28-4
2012-08-22 04:52Added a GIL (Global Interpreter Lock) for synchronization. It uses the pthread library.Andres Navarro3+21-1
2012-08-22 04:15Added thread? and get-current-thread applicatives to the ground environment.Andres Navarro4+74-2
2012-08-22 04:02Added thread (write only) output representation.Andres Navarro1+9-0
2012-08-20 06:30Completed klisp_State split. Code now compiles and runs the tests without errors or leaks, so it's probably ok. Somehow it worked on the first try... I thought there would be leaks, segmentation faults, failing tests, etc, that would need endless debugging, but I pulled it out flawlessly. Should probably buy a lottery ticket first thing in the morning...Andres Navarro49+582-474
2012-08-20 04:08Split klisp_State into thread and global state: klisp_State and global_State, just as in lua. Only thread specific info remained in klisp_State. Rewrote the whole state initialization routine, but there is still some work to be done there. Added the thread object type, but still no code for garbage collecting it. There is still now way to creating more than one thread, first I will have to recover all functionality. Inverted the include order of kobject.h and klisp.h (it now follows lua). THIS WILL NOT COMPILE/RUN! IT'S STILL A WORK IN PROGRESS.Andres Navarro6+379-256
2012-08-20 00:54Started threads branch to add thread support to the interpreter.Andres Navarro0+0-0
2012-08-18 20:20Refactored do_eval_ls to use the new function reverse_copy_and_encycle. Argument evaluation is, once again, left to right.Andres Navarro1+26-123
2012-08-18 20:05Added continuation capturing awareness to filter. TODO testsAndres Navarro4+113-98
2012-08-15 16:21Fixed problem with eval/continuation-capturing/mutation (Issue #8 in bitbucket). The same should be done for map, and other combiners that perform evaluation under user control should be checked as well.Andres Navarro1+164-58
2012-08-15 16:10Fixed tests for eval/continuation-capturingAndres Navarro1+25-13
2012-06-22 22:43Added 3 tests for eval/continuation-capturing/mutation interaction (2 of them fail).Andres Navarro3+54-0
2012-04-23 23:08Merging eq-hashtables as they are already usable. Branch left open to continue development.Andres Navarro9+688-2
2012-04-23 22:55Merged eq-hashtables from Oto HavleAndres Navarro0+0-0
2012-04-23 22:53Merged GC bugfix from stableAndres Navarro1+2-0
2012-04-23 22:51bugfix: GC roots in kbigint_copy (found out by Oto Havle).Andres Navarro1+2-0
2012-04-23 22:49Added a couple of extensions to .hgignoreAndres Navarro1+2-0
2012-04-22 14:18eq-hashtables: Lisp interface to internal hash tables.Oto Havle9+688-2
2012-04-22 14:09bugfix: GC roots in kbigint_copy (already fixed in utf branch)Oto Havle1+2-0
2012-04-17 15:11Added simple style.css to the html version of the manual (by Mariano Guerra)Andres Navarro38+141-1
2012-04-13 22:05Added tag v0.3 for changeset e78021bcb64dAndres Navarro0+0-0
2012-04-12 21:48Changed version number from 0.2 to 0.3. Updated copyright notices to add year 2012. Retouched the README and added klisp group mention.Andres Navarro9+78-81
2012-04-12 21:04Changed void * to klisp_CFunction in operative and continuation definition. Fixed typo in libraries section of the manual.Andres Navarro5+12-11
2012-03-22 05:05Added an ffi gtk callback example.Andres Navarro1+67-0
2012-03-22 00:16Added -m32 flag to final linking stage. The absence of the flag caused a build error in 64 bit linux.Andres Navarro1+5-2
2012-02-29 04:30TODO update.Andres Navarro1+0-5
2012-02-29 04:24Small comment in makefile for windows.Andres Navarro1+4-1
2012-02-29 03:37Updated TODO. Fixed some warnings that showed compiling in Windows.Andres Navarro4+8-7
2012-02-29 03:15Added full gc + retry to delete file, to try to fix a Windows bug.Andres Navarro1+10-7
2012-02-29 02:56Some adjustments to the Makefile.Andres Navarro1+5-2
2012-02-28 04:43Modified makefile so that the debug features can be controlled: asserts, debug symbols & optimization on/off can be toggled. Various fixes (e.g. inline->static inline) to avoid warnings with different combinations of these flags. Added ignore rule for git folder (hggit).Andres Navarro16+85-76
2012-02-26 00:37Added error section to the manual.Andres Navarro14+326-105
2012-02-25 23:56Added bytevector section to the manual.Andres Navarro13+594-100
2012-02-25 23:33Added vector section to the manual.Andres Navarro15+633-121
2012-02-24 21:32Added libraries section to the manual.Andres Navarro12+682-70
2012-02-24 04:35Added a little note in the load documentation.Andres Navarro3+36-8
2012-02-24 03:27Refactor: renamed modules to libraries to follow scheme (r7rs & r6rs) and to avoid confusion with the report use of modules.Andres Navarro20+1128-1141
2012-02-22 23:06Added ttisuser to test user pointers and a case for user pointers in the write/display code.Andres Navarro2+4-0
2012-02-21 17:45Updated README to point to the new klisp.org webpage.Andres Navarro1+2-3
2012-02-21 17:40Updated makefile to only use -arch option on macosx, added a couple of static modifiers to avoid warningsAndres Navarro4+12-7
2012-02-21 17:18merged stevej macosx port, but will need to update makefile to only use the changes on macosxAndres Navarro10+16-17
2012-02-21 17:08Added missing System.html file.Andres Navarro2+136-2
2012-02-20 04:13port to gcc 4.2 on os x lionstevej10+16-17
2011-12-27 04:57Bugfixes: re-added deleted ground bindings (display, newline, flush-output-port), completed system module in the manual. Refactor: renamed some system combiners to be verbs instead of nouns. Changed behaviour of get-environment-variable to throw an error and added defined-environment-variable? predicate to check for this.Andres Navarro15+284-88
2011-12-27 04:02Updated the ports manual chapter.Andres Navarro7+944-668
2011-12-24 16:14Added tests of continuations.Oto Havle2+382-0
2011-12-21 08:48Added missing char-title-case? to the ground environment. Updated the char section of the info/html manual.Andres Navarro9+273-128
2011-12-21 08:11Updated TODO.Andres Navarro1+53-17
2011-12-20 07:03Added a simple mechanism to handle TAGS file for emacs navigation/completion.Andres Navarro2+6-1
2011-12-20 03:10Added/updated most missing/incomplete ground features in the manual. Added u8? type predicate. TODO finish port section, and add a sections for each of system, errors, modules, vectors, bytevectors & keywords.Andres Navarro31+1820-921
2011-12-19 22:38Bugfix: #:rename clauses now also import the bindings that aren't renamed. Also added a check to avoid renamings that create repeated symbols.Andres Navarro2+33-5
2011-12-19 22:05Documentation fix: changed 'colon' to 'semicolon' in the man page and info/html manual.Andres Navarro6+50-27
2011-12-18 15:04Updated FFI signal example.Oto Havle1+1-1
2011-12-17 19:41Bugfixes in module system and tests. TODO: (#:rename ...) should keep unreferenced symbolsOto Havle4+135-28
2011-12-17 17:33Added tests of built-in module features.Oto Havle2+157-0
2011-12-17 14:12Added tests for command line options -l and -rOto Havle1+88-11
2011-12-15 09:20Added a section to the manual with the interpreter description, options, exit status, environment variables, etc. Some small fixes in the documentation.Andres Navarro32+1266-731
2011-12-14 11:38Added $import-module to the ground environment and completed the modules section.Andres Navarro2+311-21
2011-12-14 05:17Added $provide-module! to the ground environment.Andres Navarro8+229-8
2011-12-14 02:58Modified [un]register-requirement! to throw errors if (non|already) registered. This makes it consistent with the module counterparts.Andres Navarro1+21-6
2011-12-14 00:24removed sed scripts used to adjust indentationAndres Navarro2+0-18
2011-12-14 00:23Bugfix: properly rooted the environment in standalone interpreter -r switch (dorfile). More indent adjusting.Andres Navarro14+2736-2739
2011-12-14 00:04Refactor: in c style, use all spaces (no tabs), k&r style, 4 space indenting. in kernel style, use 2 space indenting.Andres Navarro97+9494-9476
2011-12-12 22:48updated test-interpreter.sh, KLISP_INIT must not be empty stringOto Havle1+27-1
2011-12-12 07:45Bugfix in require (empty check after klispH_get). Added applicatives find-required-file, registered-requirement?, register-requirement!, unregister-requirement! to allow imitation or require functionality.Andres Navarro1+82-2
2011-12-12 07:01Added missing kgmodules.[ch] files. Added modules_registry and corresponding ground operatives: $registered-module?, $get-registered-module, $register-module!, and $unregister-module!.Andres Navarro6+277-1
2011-12-12 05:34Added module constructor, type predicate, and field getters to the ground environment.Andres Navarro5+22-7
2011-12-12 04:12Added module type definition, gc, constructor and field gettersAndres Navarro8+79-4
2011-12-10 15:11Tempfix: prevent recursion gc => free => gcOto Havle1+2-1
2011-12-10 15:09Bugfix: unmark_tree now handles vectorsOto Havle2+37-1
2011-12-10 13:26Bugfix: vector equalityOto Havle2+3-2
2011-12-10 13:22Added vector equality testsOto Havle1+217-25
2011-12-09 23:18Used eval-string in the stand-alone interpreter.Andres Navarro1+19-64
2011-12-09 22:38Added eval-string to the ground environment. TODO use it in the interpreter for '-e' and KLISP_INIT (in do_string).Andres Navarro4+127-60
2011-12-07 06:32Added tests for keywords and conversion between string, symbol and keyword objects.Andres Navarro4+94-16
2011-12-07 06:15Added reader support for keywords.Andres Navarro2+84-34
2011-12-07 05:24Added missing kgkeywords.cAndres Navarro1+104-0
2011-12-06 23:35Added ground combiners for keywords (type predicate + conversion to and from strings and symbols).Andres Navarro5+26-23
2011-12-06 23:04Added write support for keywords.Andres Navarro2+18-6
2011-12-06 22:59Added Keyword constructor and simple methods. possible GC bugfix in symbol constructor, where the symbols itself was resucitated if needed, but the underlying string was not.Andres Navarro6+174-47
2011-12-06 22:19Added keyword type definition to kobject & kgc.Andres Navarro2+32-3
2011-12-06 20:57Merged (and closed) r7rs. All development will continue in defaultAndres Navarro172+10664-7399
2011-12-06 20:56Merging with defaultAndres Navarro0+0-0
2011-12-06 00:46Added an environment section to the man page, describing both KLISP_PATH and KLISP_INIT.Andres Navarro1+21-0
2011-12-06 00:36Added file tracking to require to avoid reloading the same file twice (at least with the same name)Andres Navarro2+27-1
2011-12-06 00:09Added file searching in require.Andres Navarro7+217-13
2011-12-05 05:10Added some info on reducing binary size to TODOAndres Navarro1+17-2
2011-12-05 04:17Added -r flag functionality to the standalone interpreter to do (require <file>).Andres Navarro3+100-4
2011-12-05 03:35Added simple require applicative to load files but in a standard environment. Will be used for modules. Will be usable with -r switch in the interpreter. Will have a mechanism to track which files were already required to avoid reloading.Andres Navarro1+64-0
2011-12-02 19:43Added option -l to the standalone interpreter.Andres Navarro1+30-13
2011-12-02 19:23Added two new (still unimplemented) options to the manual: -l to load a file and -r to require a file.Andres Navarro2+30-19
2011-12-02 06:45Added string->number to the ground environment.Andres Navarro3+161-6
2011-12-02 06:01Added number->string to the ground environment.Andres Navarro8+178-6
2011-12-02 04:13Added optional predicate support to assoc.Andres Navarro3+89-14
2011-12-02 03:45Added optional argument to member?Andres Navarro3+80-13
2011-12-02 03:03Added $delay to the ground environment.Andres Navarro9+68-21
2011-12-02 02:37Refactor: removed dummy lists, in preparation for new cleaner c interfaceAndres Navarro14+123-180
2011-11-30 10:21Added reader/writer support for symbol escapes (both hex escapes and |...| escaped symbols. Bugfix: only #\x works in hex escaped chars (not #\X). Added '.' as a possible initial character for symbols This follows scheme. Some light refactoring.Andres Navarro12+328-204
2011-11-30 07:41Fixed problem with passing values to the root continuation in interpreter arguments.Andres Navarro1+54-19
2011-11-30 07:17Updated the manual, interpreter tests, bugfix in ktoken, some comments.Andres Navarro10+77-84
2011-11-30 05:47Fixed the source code info reset on the repl (it now just eats whitespace, not comments).Andres Navarro1+2-5
2011-11-30 04:45Merged last batch of changes from Oto Havle.Andres Navarro8+72-10
2011-11-30 02:48Added string escapes (new named chars, hex escapes and escaped newlines), both to reading and writing. Modified display to only show newlines and tabs, and show all the other non printing chars as spaces. Refactored ktoken.c a little.Andres Navarro6+197-60
2011-11-29 23:43Added hex escaped character constants (reading and writing)Andres Navarro4+62-11
2011-11-29 22:57Added new (common ASCII) character names from r7rs and r6rs to the reader and writer.Andres Navarro5+72-11
2011-11-29 22:08Fixed defective merge of ksystem.cOto Havle1+2-1
2011-11-29 21:59Added platform-dependent tty detection.Oto Havle7+70-8
2011-11-29 21:35Some modifications in TODOAndres Navarro1+6-4
2011-11-29 05:45Added read-line from the ground environment.Andres Navarro8+147-5
2011-11-29 05:09Added write-simple to the ground environment.Andres Navarro6+65-13
2011-11-29 00:27Added tests for $and? and $or? tail recursiveness.Andres Navarro2+36-5
2011-11-29 00:23Added $when and $unless to the ground environment. Added test for these.Andres Navarro6+208-13
2011-11-28 22:39Some cleaning and fixing in the system modules.Andres Navarro5+14-31
2011-11-28 22:05Added string-for-each, vector-for-each, and bytevector-for-each to the ground environment. Added the corresponding tests.Andres Navarro3+246-8
2011-11-28 21:32Added string-map, vector-map, and bytevector-map to the ground environment. Added the corresponding tests. Refactored the conversion routines from and to list from all array types.Andres Navarro9+415-129
2011-11-28 17:07Added back the continuation names, now organized a lot more like ground initialization.Andres Navarro30+297-116
2011-11-28 05:40Refactor: cleaned all the kg*.h files. Moved all shared functionality to kghelpers. Eliminated the now useless name parameter in a lot of internal functions (like check_list). Regression: temporarily disabled the continuation names.Andres Navarro51+1739-2426
2011-11-27 23:26Added char-digit?, char->digit, and digit->char to the ground environment.Andres Navarro6+180-18
2011-11-27 22:43Added vector-copy!, vector-copy-partial, and vector-copy-partial! to the ground environment. Added all corresponding tests.Andres Navarro3+213-8
2011-11-27 22:05Added bytevector->vector and vector->bytevector to the ground environment. Added some more tests.Andres Navarro5+117-4
2011-11-27 21:49Added string->bytevector and bytevector->string to the ground environment.Andres Navarro4+127-15
2011-11-27 21:38Added string->vector and vector->string to the ground environment. Refactored kvector.h.Andres Navarro8+115-22
2011-11-27 18:51Improved test of interpreter argument handling.Oto Havle1+82-25
2011-11-26 15:28Reverted change to ktable.c (the change was a part of workaround needed to compile outdated version of mingw cross-compiler)Oto Havle1+1-1
2011-11-26 15:22Platform-dependent current-jiffy, jiffies-per-second.Oto Havle12+222-58
2011-11-26 10:26Merged recent changes from the original repoOto Havle97+4651-4285
2011-11-25 23:47Added shell script testing the interpreter.Oto Havle1+161-0
2011-11-25 20:24Refactor: Added new files kchar.[ch] to host the char predicates. Cleaned up kgchars.hAndres Navarro7+47-76
2011-11-25 20:07Added bytevector, list->bytevector, and bytevector->list to the ground environment. Refactored kgbytevectors.h and kgstrings.h.Andres Navarro6+116-140
2011-11-25 19:40Added bytevector-u8-fill! and vector-fill! to the ground environment. Added test for these two. TODO add "bytevector" applicative to construct bytevectors from lists.Andres Navarro8+101-31
2011-11-25 18:42Added string-upcase, string-downcase, string-titlecase and string-foldcase to the ground environment. Added test for all of these.Andres Navarro4+81-8
2011-11-25 18:14Added char-foldcase (r7rs) and char-titlecase to the ground environment.Andres Navarro3+33-24
2011-11-25 17:29Added list-set! to the ground environment. Added tests for list-set!. Refactored some functions to kghelpersAndres Navarro9+175-83
2011-11-25 16:57Temporarily eliminated on error test after having changed the way the error applicative handles arguments.Andres Navarro1+4-1
2011-11-25 16:54Added tests for exact-integer?Andres Navarro1+9-1
2011-11-25 16:51Added reverse to the ground environment, added tests for make-list, list-copy and reverse.Andres Navarro3+131-59
2011-11-25 16:00Added list-copy to the ground environment.Andres Navarro2+21-1
2011-11-25 15:47Bugfix: changed a couple of gc object pushes to var pushes.Andres Navarro2+8-4
2011-11-25 15:42Added make-list to the ground environment. Refactored the TODO a little.Andres Navarro2+81-47
2011-11-25 15:27Added exact-integer? to the ground environment.Andres Navarro2+7-1
2011-11-25 03:38Added TODO with remaining task to close r7rs branch. (More than I have thought sadly...)Andres Navarro5+76-3
2011-11-25 00:45Added raise (from r7rs) to the ground environment.Andres Navarro2+17-3
2011-11-25 00:36Removed the old script support.Andres Navarro9+7-306
2011-11-25 00:29Added irritant list copying to error, refactored a little. Refactor: renamed kgerror.[ch] to kgerrors.[ch]Andres Navarro11+144-137
2011-11-24 23:48Added get-environment-variable and get-environment-variables to the ground environment.Andres Navarro1+83-5
2011-11-24 22:36Updated FFI.Oto Havle3+7-22
2011-11-24 22:18Added get-interpreter-arguments and get-script-arguments to the ground environment.Andres Navarro3+62-5
2011-11-24 21:52Refactor: moved rename-file, delete-file and file-exist? to kgsystem.cAndres Navarro3+86-96
2011-11-24 19:46Changed the interpreter code to return exit_values that depend on the value passed to the root continuation. Added optional argument to exit.Andres Navarro5+107-52
2011-11-24 18:37Added simple manpage derived from the one of lua. Renamed documentation directory to doc/Andres Navarro52+163-110
2011-11-23 21:07Tempfix: dynamic environment in ffi_callback_entryOto Havle1+13-1
2011-11-23 09:04Added vector support to equal?. Added tests for vector-copy/equal? for vectors. Some light refactoring in vector code.Andres Navarro4+73-34
2011-11-23 08:27Merged last batch of changes from r7rs/refactorAndres Navarro113+6263-1858
2011-11-23 08:26Merged changes from refactorAndres Navarro65+1650-683
2011-11-23 08:24Refactored vectors.Andres Navarro16+530-17
2011-11-23 07:22Bugfix: in do_map_cycle added a missing i2tv when constructing do_map continuation.Andres Navarro3+6-9
2011-11-23 06:16Bugfix: sexp comment now properly undefines shared tokens that fall in the comment. Found a bug in map that triggers an assertion in one of the tests, working on it...Andres Navarro4+52-5
2011-11-22 22:36Added bytevectors (except equality and few r7rs procedures)Oto Havle16+529-17
2011-11-22 21:05Refactored all operative underlying functions to just take a klisp state pointer.Andres Navarro61+1309-604
2011-11-22 18:42Refactored Cfunc to only take a klisp_State pointer, xparams and obj are taken from there.Andres Navarro35+320-103
2011-11-22 05:20Bugfix: in letrec* and letrec, do_let didn't pass on the recp param to the next cont.Andres Navarro1+1-1
2011-11-21 08:37Merged last batch of changes from Oto HavleAndres Navarro12+889-49
2011-11-21 08:30Added back repl. Work in the new standalone interpreter almost done. (There is still some cleaning to do and add back script params and ret values)Andres Navarro8+248-224
2011-11-21 06:56Added script running to the new standalone interpreter.Andres Navarro4+231-19
2011-11-21 05:17A couple of bugfixes in kgports (found & fixed by Oto Havle)Andres Navarro1+2-2
2011-11-21 05:10Added error printing (with backtrace) to the new standalone interpreter.Andres Navarro1+75-2
2011-11-21 04:58Added a list read to kread.c, updated load and get-module to use it.Andres Navarro3+110-44
2011-11-21 02:44Added interpreter initialization with the KLISP_INIT env variable.Andres Navarro1+35-13
2011-11-21 02:31Added -e argument handling (string evaluation)Andres Navarro9+171-19
2011-11-21 00:43Completed the major structure of the new interpreter, still missing the actual functionality thou.Andres Navarro2+143-20
2011-11-20 23:41Some refactoring in preparation for the new improved standalone interpreter.Andres Navarro9+134-27
2011-11-20 16:16Added tests to environments.kOto Havle1+395-2
2011-11-20 13:03Backported tests and bugfixes to r7rs.Oto Havle12+496-49
2011-11-18 20:49Added support for string ports to write and display. Work on bytevector and string ports is complete.Andres Navarro2+35-3
2011-11-18 20:09Added bytevector & string port support to flush-output-port, newline, write-u8 and write-char.Andres Navarro1+37-2
2011-11-18 19:38Some refactoring in kwrite in preparation for mem ports.Andres Navarro6+73-57
2011-11-18 19:01Added a function to grow the internal buffer of bytevector and string output ports.Andres Navarro3+46-1
2011-11-18 18:29Added reading from both string and bytevector ports (all input applicatives).Andres Navarro2+89-17
2011-11-18 17:54Some minor refactoring of the readc and peekc functions.Andres Navarro2+41-50
2011-11-18 17:35Added get-string-buffer, get-bytevector-buffer, file-port?, string-port? and bytevector-port? to the ground environment.Andres Navarro6+106-17
2011-11-18 16:48Added check to close_file to only work in file ports. This function may be eliminated later thou.Andres Navarro1+2-2
2011-11-18 16:44Added port-open? and open-{input/output}-{string/bytevector} to the ground environment.Andres Navarro11+187-62
2011-11-18 14:52Refactor: get_opt_tpar is now a macro. Port type divided in File Port and Memory Port (for string & bytevector ports)Andres Navarro15+169-121
2011-11-18 12:44Bugfix: u8 should include 0!! derpAndres Navarro1+1-1
2011-11-17 02:30Added immutable bytevector interning in the string table.Andres Navarro7+82-35
2011-11-17 00:50Added [immutable/mutable]-[pair/string/bytevector]? to the ground environment. Temporary fix to eq? for immutable bytevector (should probably intern).Andres Navarro13+77-9
2011-11-17 00:15Added bytevector-copy-partial and bytevector-copy-partial! to the ground environment. Modified substring to always return mutable strings (as bytevector-copy-partial).Andres Navarro5+150-10
2011-11-16 23:10Added bytevector-copy! to the ground environment.Andres Navarro3+31-48
2011-11-16 22:51Changed the bytevector constructors in preparation for new copy applicatives.Andres Navarro7+125-63
2011-11-16 21:16Terminology change: renamed blobs to bytevectors following r6rs and the last draft of r7rs.Andres Navarro19+493-468
2011-11-16 20:36Updated port section of the manual. Terminology: changed "character port" to "textual port", as in r6rs and will be in the next draft of r7rs.Andres Navarro8+556-259
2011-11-16 19:11Added binary ports (as opposed to the current character ports).Andres Navarro14+299-48
2011-11-15 02:21Bugfix: properly rooted the recently introduced sexp_comment_tokenAndres Navarro1+1-0
2011-11-15 02:18Added some extra info in certain token and read errors.Andres Navarro2+117-64
2011-11-15 00:53Added sexp comments to the reader (syntax: "#; <sexp>")Andres Navarro4+45-14
2011-11-14 23:45Added extra error msg for unmatched '|#'.Andres Navarro1+9-0
2011-11-14 23:20Added multi-line nestable comments (syntax: "#| ... |#").Andres Navarro3+64-6
2011-11-12 17:23Improved FFI: ffi-klisp-state (not tested on windows)Oto Havle5+172-1
2011-11-09 17:24Merged last batch of changes from r7rs branchAndres Navarro48+3485-212
2011-11-09 17:21Updated copyright notices to reflect Oto Havle's contributions.Andres Navarro8+51-40
2011-11-09 16:54Added error check to delete file in port tests (there's a bug on Windows where the delete fails because seemingly, the file is still open. This causes the rest of the tests to be aborted)Andres Navarro2+30-20
2011-11-08 13:16Bugfix: proper error checking in krational_read_decimalOto Havle1+5-1
2011-11-05 18:59Added FFI for win32Oto Havle3+161-8
2011-11-05 14:18Added system-error-continuation and klispE_throw_errno_with_irritants().Oto Havle12+191-7
2011-11-04 21:45Bugfix: function pointers properly converted to TValue (hopefully fixed GC failure on mingw).Oto Havle1+5-5
2011-11-04 21:39Bugfix: let/cc body now properly rooted.Oto Havle1+2-0
2011-11-01 20:29Bugfix: old value of dynamic keyed variable now properly rootedOto Havle1+7-1
2011-10-31 11:57Added error, error-object?, error-object-message, error-object-irritants.Oto Havle6+142-2
2011-10-28 11:42Added tests of promises.Oto Havle2+107-0
2011-10-28 10:18Added tests of keyed variables.Oto Havle2+88-1
2011-10-28 10:15Merged recent changes from original repository.Oto Havle7+120-108
2011-10-27 18:00Bugfix: substring now follows the mutability of the source. Revised some test cases.Andres Navarro2+14-3
2011-10-27 17:50Added support for a new single line comment syntax: '#!'. This also ignores the unix shell directive.Andres Navarro4+15-35
2011-10-27 17:28Restructured ktok_read_token in preparation for other type of comments.Andres Navarro1+92-71
2011-10-27 15:12Added GTK example.Oto Havle1+21-0
2011-10-27 13:46Improved FFI: callbacks.Oto Havle2+383-2
2011-10-26 21:24Uncommented encapsulation tests in test-all.kAndres Navarro1+1-1
2011-10-26 09:30Improved FFI - conditional compilation, new functions ffi-memmove and ffi-type-suite, more examples.Oto Havle6+851-46
2011-10-25 00:34Merged missing encapsulations.kAndres Navarro1+59-0
2011-10-24 18:52Added forgotten encapsulations.kOto Havle1+59-0
2011-10-24 17:54Added some comments to the tests.Andres Navarro2+9-1
2011-10-24 17:47Merged new tests as ffi extension from Oto HavleAndres Navarro6+523-3
2011-10-23 14:34Added tests to improve coverage of kwrite.cOto Havle1+29-3
2011-10-23 13:29Added test of make-encapsulation-type.Oto Havle1+1-0
2011-10-23 12:26Improved tests of port features.Oto Havle1+81-3
2011-10-23 10:53Added tests of string->symbol and symbol->strings. Added to test-helpers.kOto Havle2+21-1
2011-10-23 09:10Fixed string tests. Empty string is always immutable. All empty strings are eq?-equal.Oto Havle2+14-14
2011-10-23 08:16Added tests of string and character features.Oto Havle4+349-2
2011-10-22 12:53Updated tests of port features.Oto Havle1+37-7
2011-10-21 19:01Added foreign function interface.Oto Havle6+523-3
2011-10-21 18:44Added TODO note in port tests to add new r7rs functions.Andres Navarro1+6-1
2011-10-21 18:11Updated manual and README to name this version 0.2. Added the new port applicatives to the manual.Andres Navarro7+158-20
2011-10-21 17:46Added file-rename to the the ground environment.Andres Navarro2+38-6
2011-10-21 17:35Added delete-file to the ground environment.Andres Navarro2+26-0
2011-10-21 17:11Added a newline print to stdout if repl is exited with Ctrl-D (EOF). This is visually cleaner.Andres Navarro1+2-0
2011-10-21 17:07Added file-exists? to the ground environment.Andres Navarro2+27-3
2011-10-21 16:57Added flush-output-port to the ground environment.Andres Navarro2+35-1
2011-10-21 16:31Merged back changes in default, before continuing work in r7rs featuresAndres Navarro23+1000-70
2011-10-21 16:28Merged the last batch of bugfixes, tests, and additions by Oto Havle.Andres Navarro2+3-2
2011-10-21 08:42Added tests of i/o features.Oto Havle1+178-0
2011-10-21 08:41Added tests of i/o features.Oto Havle1+1-0
2011-10-21 08:40Fixed bugs in i/o features - (display ...) shall not quote empty string, (read-char) shall work inside (load ...).Oto Havle2+6-1
2011-10-21 05:42Merged recent fixed from the original repository.Oto Havle2+6-9
2011-10-21 04:06Fixed a bug (I think!, still waiting for confirmation from Fromberger) in the division routine of imath that caused problems in dtoa (for example with printing 1.1) and of course in div-and-mod and div0-and-mod0.Andres Navarro2+6-9
2011-10-20 13:36Added support for unix script directive (#!).Oto Havle4+33-1
2011-10-20 13:00Merged recent fixes from the original project.Oto Havle4+33-21
2011-10-20 12:58Added noninteractive script execution. Script name can be specified as a command line argument. Additional command line arguments and exit codes are handled according to SRFI-22.Oto Havle7+301-12
2011-10-19 19:57Bugfix: round only rounded correctly if decimal part was .5!!. Fixed to also round when decimal part was > .5. Found location of round bug, it's actually in dtoa (and was tripped by the $check operative when trying to put together the msg).Andres Navarro3+21-10
2011-10-19 18:35Added some commented out tests after fixing the strict arithmetic bug.Andres Navarro1+15-15
2011-10-19 18:25Fixed a gc bug (kd_strict_arith_key wasn't in the root list). Once again, thanks Valgrind (although I was already on the track for this one).Andres Navarro1+1-0
2011-10-19 18:13Added some comment on the remaining bugs.Andres Navarro1+22-1
2011-10-19 17:57Bugfix kpositivep and knegativep should't take a klispState. Corrected some number tests and added rationale.Andres Navarro7+114-53
2011-10-19 16:47Bugfixes: Added type check for primary value in finite?, positive?, negative? and zero?.Andres Navarro2+18-15
2011-10-18 18:30Added tests of number related functions.Oto Havle2+329-0
2011-10-18 18:24Small fix in GC code.Oto Havle1+1-0
2011-09-29 18:24Merged some working changes from r7rsAndres Navarro29+1021-418
2011-09-29 18:23Added/removed old html to resolve case conflict (see previous commit)Andres Navarro2+379-379
2011-09-16 03:51In Manual: Changed index name to avoid conflicts with case insensitive FS (as in Mac)Andres Navarro6+10-10
2011-08-18 17:00Added an initialization to avoid warning.Andres Navarro1+1-1
2011-07-16 03:21Added current-jiffy and jiffies-per-second to the ground environment.Andres Navarro2+49-7
2011-07-16 03:01Added current-second to the ground environment.Andres Navarro4+28-5
2011-07-16 02:48Added system module (for time, env variables, cmd arguments and some file operations).Andres Navarro4+79-12
2011-07-13 18:06Added current-error-port and with-error-to-file to the ground environment. Added error-port key to gc roots. Moved the errors in the repl to stderr instead of stdout.Andres Navarro4+17-10
2011-07-13 17:48Added error port to the state structure.Andres Navarro2+7-1
2011-07-13 17:39Added blob-copy and blob->immutable-blob.Andres Navarro4+70-13
2011-07-08 21:29Added equal? support for blobs.Andres Navarro2+7-1
2011-07-08 21:19Added GC support for blobs.Andres Navarro2+9-0
2011-07-08 21:07Added blob-ref and blob-set! to the ground environment.Andres Navarro2+71-7
2011-07-08 21:00Added blob?, make-blob? and blob-length to the ground environment.Andres Navarro6+190-4
2011-07-08 20:37Added write support for blobs.Andres Navarro2+11-1
2011-07-08 20:35Added some more on blob definitions and constructors.Andres Navarro7+89-6
2011-07-08 20:08Some content on blobs, mainly definitions.Andres Navarro3+50-7
2011-07-08 19:43Started a branch to add functionality from the r7rs draft standard of Scheme.Andres Navarro0+0-0
2011-06-10 23:17Completed module numbers in the manual.Andres Navarro7+1572-133
2011-06-08 20:03Completed the string module in the manual.Andres Navarro7+506-83
2011-06-07 20:33Completed section characters in the manual.Andres Navarro5+285-40
2011-06-07 20:21Bugfix: characters that were also delimiters couldn't be read.Andres Navarro1+15-6
2011-06-05 04:51Merged split groundAndres Navarro107+10855-1267
2011-06-05 04:50Split the kground.c init code file between all the kg*.c files, for better incremental compiling.Andres Navarro41+964-1165
2011-06-03 19:09Completed the ports section of the manual.Andres Navarro5+812-4
2011-06-03 17:07Completed the keyed variables modules in the manual.Andres Navarro8+211-17
2011-06-03 16:50Changed permission text to properly acknowledge the kernel report there too.Andres Navarro2+72-36
2011-06-03 16:38Completed module promises in the manual.Andres Navarro11+272-28
2011-06-03 16:27Completed encapsulations module in the manual.Andres Navarro10+119-21
2011-06-02 23:40Completed module continuations in the manual (TODO put some continuation content in the intro).Andres Navarro11+589-24
2011-06-02 22:56Added dummy entries in the manual for all remaining modules.Andres Navarro24+558-34
2011-06-02 00:20Completed the environments module for the manual. All core modules done.Andres Navarro8+894-67
2011-06-01 23:04Completed combiners module for the manual. Manual Bugfix: added missing texi files (environments and combiners) and all missing html files (almost all sections... derp)Andres Navarro12+1341-1
2011-06-01 22:26Added dummy sections for environments & combiners.Andres Navarro8+137-100
2011-06-01 22:02Completed the pairs & lists module in the manual.Andres Navarro5+307-28
2011-05-31 21:42Some more content on pairs and lists for the manual.Andres Navarro6+448-135
2011-05-31 20:36First batch of content of the Pairs and lists & Pair mutation module for the manual.Andres Navarro7+321-24
2011-05-31 16:45Added control module to the manual. Added some text to the intro to specify that in the equivalence examples the names stand for the first class combiners, not the symbols.Andres Navarro10+191-42
2011-05-31 16:16Added symbol module to the manual. Changed to double spaces after periods.Andres Navarro21+274-186
2011-05-29 19:08Added (not quite correct) source info to the list read while loading files.Andres Navarro1+8-0
2011-05-29 19:01Added tests for eq? & equal?, revised tests for booleans.Andres Navarro3+183-7
2011-05-27 23:14Added equivalence modules to the manual.Andres Navarro7+85-21
2011-05-27 22:21Added boolean module functions to the manual.Andres Navarro10+170-35
2011-05-27 01:21Modified makefile to create a shared lib. TODO check dll is working in windows.Andres Navarro2+238-126
2011-05-26 22:41Added Makefile to generate manual in info and hmtl format.Andres Navarro2+51-16
2011-05-26 22:29Oops... didn't add index files in last commit.Andres Navarro4+215-112
2011-05-26 22:19Added index (and toc) to the manual.Andres Navarro6+58-43
2011-05-26 01:07Added some content to the manual (intro)Andres Navarro14+1103-32
2011-05-23 21:18Added a preliminary manual. Only intro & license.Andres Navarro6+472-0
2011-05-23 19:23Added a simple test framework and some tests.Andres Navarro14+1799-0
2011-05-20 03:31Closing branch. (merged to default)Andres Navarro0+0-0
2011-05-20 03:30Merged inexact branch.Andres Navarro18+2445-428
2011-05-20 03:29Added expt to the ground environment. Module real is complete.Andres Navarro2+71-4
2011-05-20 02:42Added sqrt to the ground environment.Andres Navarro3+52-4
2011-05-20 02:33Added asin, acos & atan to the ground environment.Andres Navarro3+139-1
2011-05-19 07:43Added sin, cos & tan to the ground environment.Andres Navarro3+64-2
2011-05-19 07:19Added exp & log to the ground environment.Andres Navarro3+94-1
2011-05-19 06:53Added inexact support to simplest-rational & rationalize.Andres Navarro1+66-4
2011-05-19 06:35Added support for inexact reals to all the rounding applicatives.Andres Navarro3+39-0
2011-05-16 22:44Added inexact support to lcm.Andres Navarro1+21-3
2011-05-16 22:24Added support for inexacts to gcd.Andres Navarro2+40-9
2011-05-16 22:03Bugfix: in numerator and denominator added proper gc rooting.Andres Navarro1+15-6
2011-05-16 21:59Added inexact number support to numerator and denominator.Andres Navarro1+14-0
2011-05-15 14:50Added inexact support to abs.Andres Navarro1+9-1
2011-05-15 14:42Added inexact integer support for odd? & even?.Andres Navarro2+7-5
2011-05-15 14:27Added support for inexact reals to div-and-mod & div0-and-mod0.Andres Navarro3+112-1
2011-05-15 13:42Added inexact real support to '/'.Andres Navarro1+62-18
2011-05-15 13:30Added support for inexact reals to '-'. Bugfix: in '+' when cycle sums zero, don't return #real directly, the stack still isn't popped (and the value could be undefined).Andres Navarro1+62-16
2011-05-11 01:21Added inexact number support to applicative '*'.Andres Navarro1+63-18
2011-05-11 00:22Added support for inexact numbers to applicative '+'.Andres Navarro9+155-63
2011-05-10 23:11Changed type predicate for integer->char from integer to exact integer.Andres Navarro1+1-1
2011-05-10 23:10Bugfix: changed type predicate for all numeric comparison predicates to detect no primary value if there was only one operand.Andres Navarro4+24-18
2011-05-10 22:55Added support for inexact numbers to all comparison predicates (=?, <?, etc)Andres Navarro1+312-264
2011-05-10 22:23Added inexact integers to predicate integer?. But changed type restrictions in indexing combiners (like list-tail, list-ref, encycle! and some string ones) to only accept exact integers (as required by the report because of the implicit type in the use of k, k1 & k2 in the descriptions).Andres Navarro6+20-14
2011-05-06 22:34Added implicit rationalize with 1/2 ulp to real->exact.Andres Navarro1+21-8
2011-05-06 22:05Added underflow/overflow checking to real->inexact when strict-arithmetic dynamic variable is true.Andres Navarro1+34-4
2011-05-06 15:45Added strict arithmetic dynamic variable. Added with-strict-arithmetic & get-strict-arithmetic? to the ground environment. TODO make all the number procedures check the var for deciding when to throw certain errors (like under & overflow & no primary value result).Andres Navarro7+61-5
2011-05-06 15:05Added make-inexact to the ground environment.Andres Navarro4+54-46
2011-05-06 14:50Added get-real-internal-primary & get-real-exact-primary to the ground environment.Andres Navarro3+41-2
2011-05-06 14:38Added get-real-internal-bounds and get-real-exact-bounds to the ground environment.Andres Navarro3+49-3
2011-05-06 14:27Added real? to the ground environment.Andres Navarro2+3-5
2011-05-06 14:23Added exact?, inexact?, robust? & undefined? to the ground environment.Andres Navarro4+22-4
2011-05-06 14:01Rearranged the tags in kobject so that einf > double. Moved tag_double to from kreal to kobject for use from other files.Andres Navarro2+21-13
2011-05-05 00:13Added real->inexact & real->exact to the ground environment.Andres Navarro3+88-1
2011-05-05 00:12Added double_to_exact.Andres Navarro3+139-1
2011-05-04 22:17Added new floating point printing routine, derived from a well known paper by Steele & White.Andres Navarro1+340-1
2011-05-04 20:50Moved code printing doubles to kreal in preparation for new double printing code.Andres Navarro3+49-4
2011-05-01 04:23Added rational->real conversion.Andres Navarro1+55-4
2011-05-01 03:08Bugfix in kbigint_to_double there was an infinite loop caused by an unsigned var that couldn't get below 0.Andres Navarro2+10-7
2011-05-01 02:42Added reading of inexact numbers.Andres Navarro1+21-10
2011-05-01 02:34A first approach to inexact number printing.Andres Navarro1+18-3
2011-05-01 02:22First exact_to_inexact approx.Andres Navarro1+39-6
2011-05-01 01:58Added some type definitions for inexact real. Added kreal.[ch] and skeleton for exact_to_inexactAndres Navarro6+108-18
2011-04-30 17:44Added exponent support in decimal format (I forgot about this when implementing rationals). Added out var to krational_read_decimal to detect if there was a decimal point (in preparation for inexact numbers).Andres Navarro3+78-14
2011-04-30 17:43Bugfix in imath.c: swap didn't correctly redirect self pointers from digits to single fields. Mailed Author with a fix.Andres Navarro1+7-0
2011-04-30 01:12Added source code info to symbols. Changed marking scheme of symbols (TODO add assertions). Fixed table to compare symbols correctly.Andres Navarro14+147-92
2011-04-30 00:33Added error writing to objs.Andres Navarro1+11-0
2011-04-29 23:42Added tv_sym_equal (and refactored all comparison of symbols to use it) in preparation for source code info in symbols. Also some light refactoring in eq2p (switch instead of if/else if cascade).Andres Navarro3+17-4
2011-04-29 23:28Added source code info as irritant in read and token errors.Andres Navarro3+16-23
2011-04-29 23:21Added source code info to the repl-loop continuation to have locations for errors at the topmost level.Andres Navarro1+6-0
2011-04-29 23:14Added better source code info tracking to do_seq, do_cond and do_Sandp_Sorp. ($sequence, $vau, $lambda, $cond, $load, $import, $and?, $or?, $let, ...).Andres Navarro6+56-5
2011-04-29 22:54Changed some names for continuation functions (now they all start with do_, should probably be something with k...) and types names for all continuations.Andres Navarro5+66-65
2011-04-29 22:24Added all known continuation functions to the table with generic names derived from the function name. TODO: put better names, and, where possible provide better source info (like in $and? and $sequence).Andres Navarro13+80-10
2011-04-29 21:28Removed the code that resetted the source code info in the repl at each interaction.Andres Navarro1+3-1
2011-04-29 21:27Added names to all repl continuations (including root and error).Andres Navarro1+8-1
2011-04-29 21:23Added names to the different kinds of continuations. TODO: add all names to the table in kground.Andres Navarro10+73-8
2011-04-29 20:25Hack to add (root-continuation's) source info to repl continuations.Andres Navarro1+11-0
2011-04-29 20:17Added source info to error & root continuations.Andres Navarro2+29-0
2011-04-29 20:09Added auto source code info tagging to the continuation constructor & added source code info printing to continuations in kwrite.Andres Navarro2+8-1
2011-04-29 20:03Added some primitive stacktraces.Andres Navarro1+18-4
2011-04-29 19:50Added source code info to the underlying operative of applicatives created by $lambda.Andres Navarro1+2-1
2011-04-29 19:48Added source code info to error messages.Andres Navarro1+19-2
2011-04-29 19:39Added source code info copying to check_copy_list & check_copy_ptree.Andres Navarro2+8-0
2011-04-29 18:46Added source code info copying to copy-es-immutable (and copy-es). This way source code info is carried over when mutable lists are used as bodies in lets, lambdas, etc.Andres Navarro1+8-0
2011-04-29 18:42Bugfix: Both symbols & strings were initializing the header fields by hand and weren't initializing the new si field. (thanks again Valgrind).Andres Navarro3+3-0
2011-04-29 18:33Changed si mechanism. Now it is tracked in previous padding section of Object header. The table is gone. BUG Pending, GC fails with an assertion marking in tests.Andres Navarro6+57-56
2011-04-29 17:13Added gc tracking of new comb pointers in continuations.Andres Navarro1+1-0
2011-04-29 17:09Added name to the eval operative (for better error signaling in evaluations like those of $sequence), and refactored get_name and try_set_name to interface of kenvironment.h.Andres Navarro6+27-27
2011-04-29 16:10Added a combiner object to continuation to signal who created the continuation and returning more useful error msgs (for example in $and? and filter).Andres Navarro3+11-0
2011-04-28 22:23Added provisory automatic naming of operatives after applicatives that wrap around them.Andres Navarro2+18-1
2011-04-28 22:16Added error object support to the gc.Andres Navarro4+22-1
2011-04-28 22:09Added primitive error printing.Andres Navarro3+51-7
2011-04-28 21:33Changed interface to error throwing from ground combiners. Now all errors are error objs. TODO show them properly in REPL. ALSO eliminated all need to explicitly pass names for error signaling, the name is now picked up from the current combiner/continuation.Andres Navarro31+369-362
2011-04-28 19:51Added constructor for error objects.Andres Navarro3+22-1
2011-04-28 19:29Added object definition for error objects.Andres Navarro1+14-0
2011-04-27 22:02Corrected README and some comments to acknowledge support for rationals. Added bigint support for integer->char (just throws an error, out-of-range).Andres Navarro4+8-6
2011-04-27 21:53Merged branch imrat. Rational numbers support is complete.Andres Navarro17+2356-1018
2011-04-27 21:52Closed branch. Will merge into trunk/defaultAndres Navarro0+0-0
2011-04-27 21:33Bugfix: restricted decimal point format reading to decimal radix.Andres Navarro1+1-1
2011-04-27 21:31Bugfix in rational readings to disallow numbers starting with '/' or '.' and trailing '.'s.Andres Navarro1+18-6
2011-04-27 21:18Added support for rationals to div0 and mod0.Andres Navarro2+75-4
2011-04-27 20:49Added rational support to div-and-mod.Andres Navarro3+67-5
2011-04-26 14:44Bugfix: changed type name for lcm & gcd from number to improper integer.Andres Navarro1+4-5
2011-04-26 14:43Added rationalize & simplest rational to the ground environment.Andres Navarro5+331-9
2011-04-25 21:05Bugfix: added infinities to the definition of krealp.Andres Navarro1+4-1
2011-04-25 21:03Added floor, ceiling, truncate & round.Andres Navarro5+90-8
2011-04-24 12:45Added numerator and denominator to the ground environment.Andres Navarro7+177-74
2011-04-23 21:40Added support for bigrats to +, - & *. Added / & rational?. Bugfixes: changed the types of some applicatives from number to real.Andres Navarro5+244-28
2011-04-23 21:00Added support for rationals to abs, negative? & positive?.Andres Navarro2+39-3
2011-04-23 20:45Added code to reject rationals with trailing '.'s or signs after the '/'.Andres Navarro1+25-0
2011-04-23 20:34Bugfix: the code in kbigrat_try_integer checked denom against zero instead of one... Changed for the logical mp_rat_is_integer. TODO: disallow some accepted syntax of imath (like a trailing '.' and sign after the '/'.Andres Navarro5+8-6
2011-04-23 19:17Added read support for bigrat read. BUT there is a bug somewhere, it reads as a rare integer...Andres Navarro3+51-25
2011-04-23 19:05Refactored shared token reader to use kinteger_read.Andres Navarro2+23-62
2011-04-23 18:12Changed read_number to use imath directly.Andres Navarro3+34-61
2011-04-23 17:48Added bigint support to write (uses imrat directly).Andres Navarro3+42-0
2011-04-23 17:39Changed code in write to print strings. It now uses imath directly.Andres Navarro3+23-25
2011-04-23 17:11Added support for bigrats to eq? (and so, to equal? too)Andres Navarro1+7-2
2011-04-23 17:06Added support for bigints in number comparison predicates.Andres Navarro5+289-204
2011-04-23 16:58Several bugfixes to kensure_bigrat. (Bad copy&paste, bad!!)Andres Navarro3+57-24
2011-04-23 16:32Added code to gc to handle bigrats.Andres Navarro1+9-3
2011-04-23 16:29Added interface for creating bigrats.Andres Navarro3+42-4
2011-04-23 16:16Added krational.c. Still missing most functionality.Andres Navarro4+50-6
2011-04-23 15:57Added a krational.h header file. TODO: add krational.c.Andres Navarro3+174-7
2011-04-23 15:01Completed inclusion of klisp allocator in imrat. TODO krational, read, write, gc & operations.Andres Navarro3+651-624
2011-04-23 13:49Merged the work I started in the default branch so it is all in this rational branchAndres Navarro5+1248-10
2011-04-23 13:48Created new branch for ational number implementation (based on imath's imrat)Andres Navarro0+0-0
2011-04-23 13:35Added klisp_State * argument to all functions that may perform allocation.Andres Navarro3+68-43
2011-04-23 13:16Adapted copyright notice to klisp. Added object definition in kobject.h. Started modifying imrat.h.Andres Navarro4+56-58
2011-04-23 12:56Added rational source code from imath. Still no modification done.Andres Navarro2+1215-0
2011-04-22 03:30Added a workaround to the problem of the dangling '\n' from previous line in the repl altering the source code info. Now the source code info for the repl is from the first significant char of that prompt.Andres Navarro4+30-9
2011-04-22 03:20Bugfix: '\t' & '\n' updated source info but regular chars did not!Andres Navarro2+1-2
2011-04-22 03:05Revamped the whole read/write interface to incorporate a port argument. Added error checking to write & added source code info updating to ports after read (even if there is an error).Andres Navarro14+224-140
2011-04-22 01:30Added source code info to internal combiners list_app & eval_op.Andres Navarro1+13-2
2011-04-22 01:26Added source code info to all the ground combiners.Andres Navarro3+36-33
2011-04-21 23:43Corrected display code to avoid escaping backslashes and double quotes.Andres Navarro1+6-3
2011-04-21 23:36Added some simple printing of source code info for applicatives and operatives.Andres Navarro5+82-22
2011-04-21 23:09Added source code tracking to applicatives (created with either wrap or $lambda) & applicatives (created with $vau).Andres Navarro2+37-9
2011-04-21 23:02Added #if / #endif around code saving or getting names & source code info (TODO in kwrite.c). Added some simple tracking of source code location to eval.Andres Navarro12+106-43
2011-04-21 19:37Bugfix: uncommented code to add the source info to the table and added the setting of the flag to indicate that this pair indeed has si.Andres Navarro1+3-2
2011-04-21 16:03Bugfix: I had deleted a line when copying from lua gc to call propagate for the weak tables... Fixed. Segfault is gone & Valgrind doesn't complain.Andres Navarro1+1-1
2011-04-21 15:50Bugfix: in definition of K_TAG_FREE it said DEAD instead of FREE. Still segfaulting, problem seems to be with weak keys & gc.Andres Navarro3+4-4
2011-04-21 02:35Added source code info tracking with si_table. BUGS PENDING (may be GC related).Andres Navarro4+31-11
2011-04-21 02:12Added source code info table.Andres Navarro4+12-3
2011-04-21 01:50Completed simple naming scheme for printing.Andres Navarro3+36-6
2011-04-21 01:21Added simple naming in add_binding. Bugfix: can_have_name has to check that the obj is collectable before testing flags.Andres Navarro2+20-3
2011-04-21 01:10Added can_have_name & has_name & has_si flag. Added hashtable with weak keys for storing names.Andres Navarro11+46-13
2011-04-20 15:44Enabled gc now that Valgrinds say there are no problems (when running tests with gcpause at 125).Andres Navarro2+3-7
2011-04-20 15:35GC Bugfix: the same as before, only also pushed/popped fp. (Thanks Valgrind!).Andres Navarro1+2-0
2011-04-20 15:33GC Bugfix: added tvs_push/pop to fp_old_si around cons.Andres Navarro1+2-0
2011-04-20 15:02GC Bugfix: added some initial values to obj, and obj_si prior to calling vars_push. (Thanks Valgrind!).Andres Navarro1+2-2
2011-04-20 14:43GC Bugfix: guard-dynamic-extent was not adding the dynamic environment to the created inner and outer cont. (Thanks Valgrind!).Andres Navarro1+3-3
2011-04-20 14:42GC Bugfix: call_cont now roots the passed arguments, this is needed by throw to protect the message and in general because call_cont ends in set_jmp, so there's no way to root the objs. (Thanks Valgrind!)Andres Navarro2+14-2
2011-04-20 14:14GC Bugfix: added krooted_push to save source info before consing it up in kread. (Thanks Valrind!)Andres Navarro2+6-3
2011-04-20 13:59GC Bugfix: in add_binding, an intermediate pair wasn't being rooted (Thanks Valgrind!).Andres Navarro3+7-3
2011-04-20 13:40Added assertions to kpair and added new set_car/cdr_unsafe for setting potentially immutable pairs (like in read and copy-es-immutable).Andres Navarro7+64-18
2011-04-20 06:02Disabled gc until the bug is found out.Andres Navarro1+3-1
2011-04-20 06:00Merged hashtables branchAndres Navarro37+1434-322
2011-04-20 05:59There seems to be a bug that may be related to the gc. For example in this revision, the second call to (load "tests/test-all.k") fails one case, with apparently mutated pairs, not present in the source code.Andres Navarro1+1-1
2011-04-20 05:41Changed tables to use new type free instead of nil to signal empty places.Andres Navarro6+58-59
2011-04-20 05:12Removed all name & si member in all structs. This will be implemented with tables with weak keys.Andres Navarro11+8-44
2011-04-20 04:53After last bugfix, ground environment has now a hashtable of bindings.Andres Navarro1+2-2
2011-04-20 04:51Bugfix: in do_vau, add_binding was called to set the environment parameter even when it was #ignore.Andres Navarro2+9-2
2011-04-20 04:33Bugfix: in throw_extra there was an extra byte attached to the msg buffer.Andres Navarro3+8-6
2011-04-20 03:42Added environments with hashtable bindings. Used only for ground for now. TODO: change nil to some other non user visible value to indicate missing in tables.Andres Navarro5+62-14
2011-04-20 03:24Changed table code to simplify setting and getting of symbols. Also used hash of symbols directly instead of the pointer address. Bugfix: only immutable strings use strhash, mutable strings are compared by pointer.Andres Navarro3+48-9
2011-04-20 02:23Added GC support for string/symbol table.Andres Navarro5+66-51
2011-04-20 01:31Added code to ksymbol to use string/symbol table instead of old symbol-list. GC Pending.Andres Navarro5+50-26
2011-04-19 23:29Implemented string/symbol table for immutable strings. Symbols & GC pending.Andres Navarro6+138-31
2011-04-19 22:31Added a symbol/immutable string table (from lua). STILL NOT IMPLEMENTED.Andres Navarro4+60-1
2011-04-19 21:30Added immutable strings. Added string->immutable-string to the ground environment. symbol->string now returns the immutable string that is inside the symbol obj with no copying overhead. PENDING: interning of strings to make eq? work correctly on immutable strings. USE hashtable with weak keys.Andres Navarro14+128-70
2011-04-19 03:44Added support for weak keys and weak values in both gc code & table constructor.Andres Navarro4+36-48
2011-04-19 03:11Added some code to gc for tables. Still incomplete.Andres Navarro3+59-47
2011-04-19 02:37Added some commented out content back to tables, still untested.Andres Navarro2+43-74
2011-04-19 01:59Added hashtables. Still not used anywhere. No support from gc yet.Andres Navarro3+683-2
2011-04-19 01:36Added some necessary machinery for hashtables.Andres Navarro5+75-1
2011-04-18 22:34Bugfix: in kgeqp, eq? wasn't considering equal two applicatives with eq? underlying objects and two =? bigints.Andres Navarro2+24-6
2011-04-18 22:33Bugfix: in kobject the test in ttisbigint was wrong.Andres Navarro1+2-1
2011-04-18 21:32Added Table object definition (hashtables from lua). Changed flag in header to kflag to avoid naming conflict with the like named field in tables.Andres Navarro2+74-27
2011-04-18 02:49Turned on gc, because it doesn't seem to be causing any more problems.Andres Navarro2+2-2
2011-04-18 02:37Bugfix: assert for kget_dummy1 was actually checking dummy2... Also added assertions to apply_cont & tail call to see that all gc protection resources are freed before exiting any function.Andres Navarro2+20-1
2011-04-18 02:18Bugfix: corrected checks in encycle!.Andres Navarro1+16-5
2011-04-18 02:05Bugfix: in append!, in get_lss_endpoints, if last element is nil, nil should be added to the returned list to always make it even.Andres Navarro1+9-2
2011-04-18 01:18Bugfix: added two missing tvs_pop in $lambda.Andres Navarro1+2-0
2011-04-17 01:19Merged gc branch. Garbage collection done (experimental)Andres Navarro59+2302-650
2011-04-17 01:18branched bugfix to klistAndres Navarro44+734-423
2011-04-17 01:16Bugfix: klist was consing backwards!!Andres Navarro1+15-6
2011-04-17 01:03Bugfix: added vars popping in kread.Andres Navarro5+8-10
2011-04-17 00:46Bugfix: unbalanced push/pop in gc rooting.Andres Navarro2+13-5
2011-04-17 00:33Bugfix: macro parameters name conflict caused some objects to be seen as uncollectible.Andres Navarro3+12-7
2011-04-16 23:18Bugfix: propagatemark wasn't advancing in scanning the gray list.Andres Navarro1+3-0
2011-04-16 20:55GC implementation complete. Bugs pending.Andres Navarro5+27-4
2011-04-16 20:39Completed gc rooting.Andres Navarro6+26-20
2011-04-16 20:07Adapted kevel to new gc rooting policies.Andres Navarro1+5-1
2011-04-16 20:03Removed implicit rooting & NAME & SI arguments in kmake_continuationAndres Navarro16+104-137
2011-04-16 19:43Bugfix: Added some missing gc rooting in kstate.cAndres Navarro1+29-17
2011-04-16 19:24Bugfix: in kgpair_mut, changed copy to &copy.Andres Navarro1+1-1
2011-04-16 19:10Added gc rooting kgpairs_listsAndres Navarro1+64-54
2011-04-16 18:43Added gc rooting to kgpair_mut.Andres Navarro1+10-11
2011-04-16 18:36Added gc rooting to kgstrings & kgsymbols.Andres Navarro1+4-3
2011-04-16 17:30Added gc rooting to kgpromises. Removed NAME and SI parameters to kmakepromise, and add GC assumtion: all params rooted.Andres Navarro3+8-16
2011-04-16 17:26Changed kmakeport interface to not take NAME or SI. Added GC assumtion: filename rooted.Andres Navarro3+16-17
2011-04-16 17:21Added gc rooting to ports. Bugfix to kwrite (bigint writing was pushing str twice )Andres Navarro3+64-24
2011-04-16 16:32Added gc rooting to kgnumbersAndres Navarro1+40-4
2011-04-16 16:14Added gc rooting to kgkd_vars & kgks_varsAndres Navarro2+44-5
2011-04-16 15:59Checked kghelpers for gc rooting.Andres Navarro2+2-3
2011-04-16 15:56Checked kgeqp & kgequalp for gc rooting.Andres Navarro2+8-8
2011-04-16 15:51Bugfix: added gc rooting to copy var in check_copy_ptree.Andres Navarro1+4-7
2011-04-16 15:47Added gc rooting to kgenv_mut. Modified check_copy_list to use dummy3. Added dummy cleaning on error throw.Andres Navarro8+67-53
2011-04-16 15:10Added gc rooting kgenvironmentsAndres Navarro1+136-30
2011-04-16 14:54Bugfix: wasn't rooting bodies in Scond.Andres Navarro1+5-5
2011-04-16 14:40Added gc rooting to kgencapsulations. Removed implicit rooting in make_encapsulation.Andres Navarro3+18-18
2011-04-16 14:35Added gc rooting to kgcontrol.Andres Navarro1+35-11
2011-04-16 14:22Added gc rooting to kgcontinuations.Andres Navarro1+43-14
2011-04-16 14:07Added klist & kimm_list to create lists & removed the implicit rooting of car & cdr in kcons. All code should be refactored to use klist (that root internal pairs) and/or root elements when constructing pairs.Andres Navarro3+30-8
2011-04-16 13:53Bugfix: tails wan't being properly protected in transpose. Simplified a little with the use of the vars stack.Andres Navarro2+13-4
2011-04-16 13:48Added gc rooting to kgcombiners.Andres Navarro3+49-20
2011-04-16 13:40Added a new dummy pair, needed by map.Andres Navarro4+19-2
2011-04-16 13:23Removed si & name params from kmake_applicative & kmake_operative. Both now assumed all their arguments are rooted. Made kmake_applicative shorthand for (kwrap (kmake_operative ...)).Andres Navarro15+60-86
2011-04-16 12:42Environment constructors no longer protect parent list, or key/value pairs. check_list & check_typed_list now accept a NULL pointer to indicate that cpairs is not needed. BUGFIX: rooted objs in kground macros, added add_value macro to add continuations.Andres Navarro11+85-46
2011-04-15 21:33merged bugfix in shared refs/defs in tokenizerAndres Navarro1+1-1
2011-04-15 21:32Bugfix: in shared tokens, the i was incremented after instead of before.Andres Navarro1+1-1
2011-04-15 21:31Added gc rooting to reader. Added two helpers to clear the tvs and vars stacks on error.Andres Navarro4+46-30
2011-04-15 21:08Added gc rooting to the writer.Andres Navarro1+19-5
2011-04-15 21:00merged sign bugfixAndres Navarro1+1-1
2011-04-15 20:57Bugfix: wasn't counting the sign in buf_len when reading simple negative integers.Andres Navarro1+1-1
2011-04-15 20:25Added gc rooting to the tokenizer.Andres Navarro1+19-8
2011-04-15 20:11Added gc rooting to symbols.Andres Navarro1+7-2
2011-04-15 20:07Changed the old value stack to check for growth after adding an element, so that it is never the case that the array needs to be grown when we are waiting to add an object.Andres Navarro1+5-2
2011-04-15 20:02Added GC rooting to pairs, ports and promises.Andres Navarro3+21-1
2011-04-15 19:57Added gc rooting to kinteger.cAndres Navarro1+33-1
2011-04-15 19:46Started adding temporary rooting of objects during allocations.Andres Navarro9+144-28
2011-04-15 18:56Changed name to tvs and vals stacks to make confusing not as easy.Andres Navarro3+21-21
2011-04-15 18:49Added dummy pairs a generalized mechanism to protect from the GC some lists that are created in many ground functions.Andres Navarro4+52-7
2011-04-15 18:25Bugfix: (from 7 revisions back). in klispC_link, flags was being setted to tt argument.Andres Navarro1+1-1
2011-04-15 17:54Added two stacks for rooting both values and variables, and added them to the gc root scanning code.Andres Navarro3+59-12
2011-04-15 00:08Added tentative code for tracing (propagation) to the garbage collector.Andres Navarro1+82-3
2011-04-14 23:47Added primitive root marking to the GC.Andres Navarro1+31-1
2011-04-14 23:39Added next_obj field to klisp_State to root the operative or continuation being called so that it is not garbage collected.Andres Navarro2+7-0
2011-04-14 23:39Bugfix: corrected name in Makefile: klispconf.h NOT kconf.h. Changed ttiscollectable to iscollectable in kobject.h.Andres Navarro2+2-3
2011-04-14 23:27First code for the garbage collector. This is mostly from lua, the collector supports incremental marking but we'll let that for later. The freeing of the objects was moved to the gc, but there is still no code to mark the roots or trace any of the klisp objects. Also no code to check for when to do a garbage collection.Andres Navarro23+912-154
2011-04-14 20:57Bugfix: ttiscollectable was not considering bigints as collectable. REFACTOR: find a better way to check this, because once other numeric types are defined the chain of ors will be too long.Andres Navarro1+22-4
2011-04-14 19:24Added some object definitions in preparation for the garbage collector.Andres Navarro1+37-1
2011-04-14 17:34Added note to ask John about reduce vs fold.Andres Navarro1+6-0
2011-04-13 19:44Added support for #b, #o, #d, and #h radix prefixes. Added parsing of #e and #i prefixes. With this, the implementation of Bigints is complete. Bugfix: radix was being set to 2 in #o and #d.Andres Navarro1+63-37
2011-04-13 19:24Some heavy refactoring in ktoken concerning handling of special constants.Andres Navarro7+161-110
2011-04-13 03:19Added some comments on how to process exactness and radix prefixes.Andres Navarro1+5-0
2011-04-13 02:59Some refactoring in ktoken to allow other radix prefixes.Andres Navarro2+63-32
2011-04-13 02:14Corrected some type strings.Andres Navarro3+5-5
2011-04-13 02:05Added support for bigints to string applicatives. Bugfix: allow (substring str (string-lenght str) (string-length str)) to be called and return "". (Was disallowed, but scheme r6rs allows it).Andres Navarro2+36-15
2011-04-13 01:50Added support for bigints to list-ref and list-tail.Andres Navarro2+73-19
2011-04-13 01:19Added support for bigints to encycle! (just throw error because there can't be that many pairs).Andres Navarro3+19-9
2011-04-13 01:09Added support for bigints to lcm & gcd. Refactored both to use intermediate procedures knum_gcd & knum_lcm. Refactored kabs to use knum_abs.Andres Navarro4+132-64
2011-04-12 23:40Bugfix: (abs INT32_MIN) was INT32_MIN, added check to kabs to use bigints in that case.Andres Navarro3+11-3
2011-04-12 23:33Bugfix: removed #ifdef 0 that was used while debugging kbigint_div0_mod0. All bigints operators seem to be working as expected.Andres Navarro1+2-4
2011-04-12 23:29Bugfix: kbigint_try_fixint was assuming the single digit was in Bigint->single but in general it is in *(Bigint->digits)Andres Navarro1+1-1
2011-04-12 23:23Added bigint support for div, mod, div-and-mod, div0, mod0 and div0-and-mod0. Bugfix: in fixint_div0_mod0, the correction had a bug. There seems to be a bug in - and div0-and-mod0, sometimes it incorrectly returns 0 instead of a fixint...Andres Navarro4+203-56
2011-04-12 20:56Added bigint support to the - applicative. Refactored kminus to use the new function knum_minus.Andres Navarro3+51-81
2011-04-12 20:34Added support for bigints to the * applicative. Refactored ktimes to use new function knum_times.Andres Navarro3+55-88
2011-04-12 20:11Bugfix: Added code to kbigint_plus to check if the result could fit in a fixint.Andres Navarro2+26-3
2011-04-12 19:35Added bigint support to the + applicative. Refactored kplus to use new function knum_plus.Andres Navarro2+53-65
2011-04-12 19:34Bugfix: kensure_bigint was declaring the stack allocated Bigint struct inside a local block so two different calls to kensure_bigint returned the same (invalid) address. Replaced the if with a if not then goto end.Andres Navarro1+17-13
2011-04-12 18:13Merged branch imathAndres Navarro12+3811-331
2011-04-12 18:12Completed support for klisp allocator in IMath. It was a success, imath branch will be merged.Andres Navarro3+1-17
2011-04-12 18:08Added missing klisp_State parameter to s_kmul & s_ksqr.Andres Navarro1+32-28
2011-04-12 18:01Added klisp_State parameter to mp_int_to_binary/read_binary/to_unsigned/read_unsigned.Andres Navarro2+22-12
2011-04-12 17:57Added klisp_State parameter to mp_int_to_string/read_string/read_cstring.Andres Navarro2+16-12
2011-04-12 17:53Added klisp_State parameter to mp_int_root/sqrt.Andres Navarro2+21-19
2011-04-12 17:50Added klisp_State parameter to mp_int_gcd/egcd/lcm.Andres Navarro2+58-52
2011-04-12 17:27Added klisp_State parameter to mp_int_divisible_value/is_pow2/exptmod/exptmod_evalue/exptmod_bvalue/exptmod_known/redux_const/invmod.Andres Navarro2+74-61
2011-04-12 17:16Added klisp_State parameter to mp_int_expt/expt_value/expt_full.Andres Navarro2+32-28
2011-04-12 17:12Added klisp_State parameter to mp_int_div/div_value/div_pow2/mod/mod_value.Andres Navarro3+62-53
2011-04-12 17:02Added klisp_State parameter to mp_int_mul/mul_value/mul_pow2/sqr.Andres Navarro3+42-39
2011-04-12 16:52Added klisp_State parameter to mp_int_add/sub/add_value/sub_value.Andres Navarro3+45-39
2011-04-12 16:44Added klisp_State parameter to mp_int_abs & mp_int_neg.Andres Navarro3+23-21
2011-04-12 16:25Bugfix: parameters to mp_int_abs were reversed in kbigint_abs. Refactored some functions in kinteger.c.Andres Navarro1+25-35
2011-04-12 16:25Bugfix: Missed one location were the check to see if memory has been allocated to a bigint used the bigint->digits == bigint code. Replaced with correct bigint->digits == &(bigint->single).Andres Navarro1+1-1
2011-04-12 16:02Added preliminary support for the klisp allocator to IMath library.Andres Navarro4+162-151
2011-04-12 04:55Changed all of kinteger to use the IMath library.Andres Navarro5+49-41
2011-04-12 03:50Bugfix: in IMATH changed code to check if there's space allocated from MP_DIGITS(z) != &z to MP_DIGITS(z) != &MP_SINGLE(x). This is a problem only in klisp because single in not the first member of the struct. Added code to free the allocated memory in kstate.Andres Navarro3+9-5
2011-04-12 03:25Rewritten the bigint constructors (new & copy) to use IMath.Andres Navarro1+14-8
2011-04-12 03:09Fixed kensure_bigint macro & added imath include in kinteger.h in preparation for new bigint implementation.Andres Navarro2+10-14
2011-04-12 03:01Added klisp includes to imath.c.Andres Navarro2+8-2
2011-04-12 02:58Changed typedef in imath.h to use Bigint (from kobject.h). Added kobject & kstate includes in imath.h. Removed all bigint code from kinteger.Andres Navarro6+51-304
2011-04-12 02:39Changed the digit size to 32 bits. Added a #define to indicate the use of c99 style int types.Andres Navarro2+56-59
2011-04-12 02:24Added IMath copyright info to klisp.h.Andres Navarro1+1-0
2011-04-12 00:59Added IMath library to replace & complete the bigint implementation. Added a mention in the README and the copyright info in COPYRIGHT.Andres Navarro5+3671-4
2011-04-11 01:11Added support for bigints to max and min applicatives.Andres Navarro2+6-19
2011-04-11 01:04Refactored kstring_lep, kstring_gtp and kstring_gep to use kstring_ltp and kstring_ci_lep, kstring_ci_gtp, kstring_ci_gep to use kstring_ci_ltp.Andres Navarro1+6-80
2011-04-11 00:58Refactored knum_lep, knum_gtp and knum_gep to use knum_ltp.Andres Navarro1+3-61
2011-04-11 00:55Added support for bigints to <?, <=?, >? & >=? applicatives.Andres Navarro3+113-5
2011-04-10 23:53Added support for bigints to =? applicative.Andres Navarro3+81-27
2011-04-10 23:53Bugfix: __LINE__ macro wasn't being expanded in KUNIQUE_NAME: we need to go one level deeper (sorry, I couldn't resist the INCEPTION reference).Andres Navarro1+5-2
2011-04-10 22:50Bugfix: added missing parens in the code to calculate the buffer size to print bigints.Andres Navarro1+2-4
2011-04-10 22:37Added support for bigints in abs applicative.Andres Navarro3+20-0
2011-04-10 16:59Added support for bigints in even? & odd? applicatives.Andres Navarro3+44-2
2011-04-10 16:53Added bigint support for positive? and negative? applicatives.Andres Navarro4+36-4
2011-04-10 15:19Added bigint support to the integer? applicative.Andres Navarro1+3-3
2011-04-10 02:35Bugfix: added one to the buf size in bigint printing to negative numbers (for '-'). It still worked because of the extra value added for safety in print_size.Andres Navarro1+4-3
2011-04-10 02:33Added printing of bigints (and memory freeing on exit).Andres Navarro5+185-3
2011-04-09 20:58Added reading of bigints (still not tested, need writing of bigints first!). Reading of fixints between INT32_MIN & INT32_MAX works ok.Andres Navarro5+57-16
2011-04-09 20:20Added some more support for bigints.Andres Navarro4+195-11
2011-04-09 18:07Changed representation for sign of bigints. Now it is in the added size field.Andres Navarro1+9-7
2011-04-09 17:52Added object definitions for bigints.Andres Navarro1+48-2
2011-04-09 16:53Added implementation restriction to the size of the shared token number (fixint only). Reworded the README a little.Andres Navarro5+42-26
2011-04-07 17:34Added for-each to the ground environment. All modules implemented modules complete. Still missing numbers other than integers. Integers above fixnums, garbage collection and a working implementation of char-ready?.Andres Navarro5+80-6
2011-04-07 17:19Moved the common helpers of map and for-each to the combiners header and removed the inline keyword.Andres Navarro2+29-10
2011-04-07 17:09Added map to the ground environment.Andres Navarro4+367-7
2011-04-06 14:43Bugfix: lcm with only 1 or more than 2 arguments was nonsense. It was computing the gcd of all numbers and dividing by that, instead of just doing lcm two at a time.Andres Navarro1+8-23
2011-04-06 14:42Bugfix: klcm32_64 was dividing by gcd twice instead of once.Andres Navarro2+5-4
2011-04-06 14:22Bugfix in filter. There was a bad interaction with the mix of continuations captured in the dynamic extent of filter and mutation of the result list. The result list is now generated on the fly and copied before being returned. This will avoid segfaults, but the correct semantics when mixed with continuations are up to debate.Andres Navarro1+54-34
2011-04-06 03:42Added some helpers for working with fixints. Refactored gcd code. All of these in preparation for map.Andres Navarro3+71-44
2011-04-05 19:47Added display to the ground environment. Some light refactoring.Andres Navarro8+65-27
2011-04-05 19:19Added dummy char-ready? to the ground environment. (TODO: actually check if there are waiting chars, this dummy version always returns true).Andres Navarro3+28-8
2011-04-05 19:12Added read-char and peek-char to the ground environment.Andres Navarro3+66-4
2011-04-05 18:55Added write-char to the ground environment.Andres Navarro3+88-5
2011-04-05 18:13Added reduce to the ground environment.Andres Navarro3+244-3
2011-04-05 15:07Added bind_al3tp & bind_al3p macros (needed for reduce).Andres Navarro1+33-0
2011-04-05 02:44Added append! to the ground environment.Andres Navarro4+186-3
2011-04-05 00:30Bugfix: filter didn't copy the list if it was immutable. Added bool flag to check_copy_list to force copy even if immutable.Andres Navarro7+17-10
2011-04-05 00:09Added append to the ground environment.Andres Navarro3+99-5
2011-04-04 18:56Added filter to the ground environment.Andres Navarro5+149-4
2011-03-31 20:01Added $and? & $or? to the ground environment.Andres Navarro5+91-7
2011-03-31 19:05Added bool_check flag to the continuations created by $if and $cond. These are not necessary for tail context bool checking in $and? & $or? but save one continuation in some common use cases.Andres Navarro1+14-1
2011-03-31 18:58Added bool_check flag to continuations for robust error checking in a tail context for $and? & $or?.Andres Navarro1+4-1
2011-03-30 18:20Added $provide! to the ground environment.Andres Navarro4+47-8
2011-03-30 18:05Added $import! to the ground environment.Andres Navarro5+134-5
2011-03-30 14:53Moved do_return_value to kghelpers to allow its use from elsewhere.Andres Navarro4+30-21
2011-03-29 22:02Added .hgignore to ignore .o and the executable fileAndres Navarro1+4-0
2011-03-29 21:50Added $cond to the ground environment.Andres Navarro3+147-3
2011-03-29 20:53Added $binds? to the ground environment.Andres Navarro6+56-3
2011-03-29 20:37Added $bindings->environment to the ground environment.Andres Navarro3+34-6
2011-03-29 00:32Added $letrec* to the ground environment. Small bugfix to $letrec (but didn't fail, so it's mostly stylistic)Andres Navarro3+35-4
2011-03-28 22:21Bugfix: $let* now passes true to split bindings to allow repeated symbols in different ptrees.Andres Navarro1+4-4
2011-03-28 22:18Added $let* to the ground environment.Andres Navarro3+55-17
2011-03-28 18:57Added $letrec to the ground environment.Andres Navarro3+24-3
2011-03-28 18:50Added $let-redirect to the ground environment.Andres Navarro3+56-3
2011-03-28 18:41Added $let-safe to the ground environment.Andres Navarro3+26-3
2011-03-28 18:25Added $let to the ground environment.Andres Navarro4+65-9
2011-03-28 17:55Added some preliminary work for the $let family of operatives.Andres Navarro4+104-5
2011-03-25 18:21Added $set! to the ground environment.Andres Navarro3+60-1
2011-03-25 17:58Added $remote-eval to the ground environment.Andres Navarro3+31-3
2011-03-25 17:20Added list-neighbors to the ground environment.Andres Navarro3+48-3
2011-03-25 15:59Added member? to the ground environment. Corrected name string in memq?.Andres Navarro4+25-4
2011-03-25 15:54Added assoc to the ground environment.Andres Navarro4+27-4
2011-03-25 15:50Added refactor comment and corrected the name string in assq.Andres Navarro1+2-1
2011-03-25 15:49Added assq to the ground environment.Andres Navarro5+29-3
2011-03-25 15:40Added memq? to the ground environment.Andres Navarro4+30-7
2011-03-25 15:39Bugfixes in check_list & check_typed_list: replaced & with && (i worked but still...). changed the error text when an improper list was passed and a possibly finite list was expected.Andres Navarro1+12-4
2011-03-25 05:59Bugfix: in equal? variables obj1 & obj2 were being used in inner loop and were holding wrong values when calling unmark.Andres Navarro2+6-4
2011-03-25 05:54Added rudimentary mark balance checking. Bug is related to pairs remaining marked after equal?.Andres Navarro3+25-0
2011-03-24 23:56equal? now takes an arbitrary list of arguments. BUG: there seems to be a problem with marks in equal?... It show when comparing pairs with shared struct (copied with copy-es).Andres Navarro4+29-6
2011-03-24 23:47Refactor: ftyped_bpredp now uses check_list.Andres Navarro1+7-21
2011-03-24 23:44Refactor: ftyped_predp now uses check_list.Andres Navarro1+2-14
2011-03-24 23:40eq? now takes an arbitrary list of arguments.Andres Navarro3+24-6
2011-03-24 23:38check_list: Added a cpairs out parameter and a flag parameter to allow or not cyclic lists. Removed the inline qualifier.Andres Navarro4+39-25
2011-03-24 23:13Merged code for copy-es-immutable & copy-es.Andres Navarro5+30-74
2011-03-24 22:45Added copy-es to the ground environment.Andres Navarro3+82-1
2011-03-24 21:51Added countable-list? to the ground environment.Andres Navarro3+33-4
2011-03-24 21:46Added finite-list? to the ground environment.Andres Navarro3+28-3
2011-03-24 20:34Added list-ref to the ground environment.Andres Navarro3+36-3
2011-03-24 19:27Added length to the ground environment.Andres Navarro3+80-3
2011-03-24 19:20Added or? the the ground environment.Andres Navarro3+22-4
2011-03-24 19:17Added and? to the ground environment.Andres Navarro3+49-1
2011-03-24 03:18Added make-kernel-standard-environment to the ground environment.Andres Navarro3+14-3
2011-03-24 03:15Added get-current-environment to the ground environment.Andres Navarro3+69-1
2011-03-24 03:11Added combiner? to the ground environment.Andres Navarro3+14-1
2011-03-24 03:08Added not? to the ground environment.Andres Navarro4+17-1
2011-03-24 03:02Bugfix: now load and get-module read the file with an immutable evaluation structure.Andres Navarro5+13-5
2011-03-24 02:39Completed the TODO list in kground with all the remaining bindings from section 6.Andres Navarro1+145-1
2011-03-23 21:27Added with-input-from-file & with-output-to-file to the ground environment. Strings & Ports sections finished. (Except char oriented port ops that are not even mentioned in the report, but I will add later).Andres Navarro3+27-7
2011-03-23 21:13Bugfix to with-i/o-file: added a continuation to close the port after return.Andres Navarro4+44-6
2011-03-23 20:51Added call-with-input-file and call-with-output-file to the ground environment.Andres Navarro3+25-3
2011-03-23 20:37Made optional the port parameter of read, write and newline.Andres Navarro1+19-15
2011-03-23 20:30Added get-current-input-port & get-current-output-port to the ground environment.Andres Navarro4+26-4
2011-03-23 20:18Added key for the dynamic variables for current-input-port and current-output-port.Andres Navarro5+28-1
2011-03-23 20:00Added symbol->string to the ground environment.Andres Navarro3+12-3
2011-03-23 19:55Added string->symbol to the ground environment.Andres Navarro3+16-6
2011-03-23 19:54Bugfix: wrong polarity in guard to check subsequent chars for identifierp in symbol creation.Andres Navarro1+1-1
2011-03-23 19:15Modified output only representations to be '#[type name]' instead of '[type name]. TODO modify read to read all chars in output only representations and throw a more meaningfull message.Andres Navarro1+8-8
2011-03-23 19:12Modified symbol internal struct to include an array. Added non-identifier symbols ouput only representation to kwrite.Andres Navarro9+131-52
2011-03-23 06:44Added string-ci<?, string-ci<=?, string-ci>? & string-ci>=? to the ground environment.Andres Navarro3+88-1
2011-03-23 06:33Added string<?, string<=?, string>? & string>=? to the ground environment.Andres Navarro3+62-1
2011-03-23 06:24Added string=? and string-ci=? to the ground environment.Andres Navarro3+46-7
2011-03-23 06:24Bugfix: previous bugfix to check type of lone operand in binary predicates broke the functionality... Refactored a little and fixed the bug.Andres Navarro1+14-17
2011-03-23 06:04Added string-append to the ground environment.Andres Navarro3+60-3
2011-03-23 05:46Added string->list to the ground environment.Andres Navarro3+23-3
2011-03-23 05:40Added list->string to the ground environment.Andres Navarro3+32-9
2011-03-23 05:35Added string to the ground environment.Andres Navarro4+29-3
2011-03-23 05:06Added substring to the ground environment.Andres Navarro3+37-3
2011-03-23 04:52Added copy-string to the ground environment.Andres Navarro3+17-3
2011-03-23 04:47Added string-fill! to the ground environment.Andres Navarro3+14-3
2011-03-23 03:02Added string-set! to the ground environment.Andres Navarro3+29-12
2011-03-23 02:56Added string-ref to the ground environment.Andres Navarro3+20-3
2011-03-23 02:52Added string-length to the ground environment.Andres Navarro3+14-5
2011-03-23 02:47Added make-string to the ground environment.Andres Navarro7+232-26
2011-03-23 02:25Added string? to the ground environment.Andres Navarro1+65-0
2011-03-22 21:05Added support for arbitrary lists in *. Number module done.Andres Navarro2+141-23
2011-03-22 20:20Modified - to allow a list of arguments (of length at least 2).Andres Navarro1+118-22
2011-03-22 20:06Made + accept any number of arguments.Andres Navarro1+90-21
2011-03-22 15:17Added extra output parameter to check_typed_list to return the numbers of pairs in the cycle.Andres Navarro3+14-9
2011-03-22 15:02Added gcd and lcm to the ground environment.Andres Navarro3+140-1
2011-03-21 20:38Added min and max to the ground environment.Andres Navarro5+107-1
2011-03-21 20:05Added div, mod, div-and-mod, div0, mod0 and div0-and-mod0 to the ground environment.Andres Navarro4+123-5
2011-03-20 06:56Added abs to the ground environment.Andres Navarro3+29-2
2011-03-20 06:48Added negative?, positive?, odd? & even? to the ground environment.Andres Navarro3+54-0
2011-03-20 06:30Added zero? to the ground environment.Andres Navarro3+17-0
2011-03-20 06:27Added - (2 args) to the ground environment.Andres Navarro3+51-1
2011-03-20 06:19Added * (2 args) to the ground environment.Andres Navarro3+45-0
2011-03-20 06:08Added + (2 args only) to the ground environment.Andres Navarro3+42-0
2011-03-20 05:55Added =?, <?, <=?, >? & >=? to the ground environment.Andres Navarro4+116-2
2011-03-20 05:55Bugfix: code for checking errors in ftyped_bpredp asked for bad type of both arguments with an and instead of an or.Andres Navarro1+1-1
2011-03-20 05:22Added number?, finite? & integer? to the ground environment.Andres Navarro6+119-3
2011-03-18 20:19Added all char comparison predicates (both case significant and case insignificant). Char section is completeAndres Navarro3+66-12
2011-03-18 20:17Bugfix: added type check to ftyped_predp when there was only one argument.Andres Navarro1+22-8
2011-03-18 19:54Added a typed binary predicate helper (for char<? and numeric <?, etc)Andres Navarro3+69-2
2011-03-18 19:44Added char-downcase & char-upcase to the ground environment.Andres Navarro3+27-2
2011-03-18 19:25Added char->integer & integer->char. Restricted char constants and string constants to ASCII in tokenizer (non ASCII chars allowed in comments).Andres Navarro4+47-5
2011-03-18 19:04Bugfix + Added char-alphabetic?, char-numeric?, char-whitespace?, char-upper-case? & char-lower-case? to the ground environment. Bugfix: added p2tv wrapper around kis_input_port & kis_ouput_port in use of ftypep. The error wasn't detected in the compiler because of the use of VAR_ARGS.Andres Navarro5+135-8
2011-03-18 18:35Added helper for typed predicates (like char-numeric?).Andres Navarro3+61-0
2011-03-18 18:20Added char? to the ground environment.Andres Navarro1+49-0
2011-03-18 18:00Added code to close the open files on deallocation of objects.Andres Navarro3+11-2
2011-03-17 23:42Added get-module to the ground environment.Andres Navarro5+52-4
2011-03-17 23:32Bugfix: added kstate as requirement to kmem in Makefile. Sometimes after modifying the state struct, random segfaults ocurred because kmem wasn't recompiled.Andres Navarro2+3-2
2011-03-17 23:08Added load to the ground environment.Andres Navarro10+158-22
2011-03-17 20:08Added newline and eof-object? (both from r5rs) to the ground environment.Andres Navarro3+44-0
2011-03-17 19:58Bugfix: returning an EOF doen't exit the interpreter anymore. ISSUE: Is the seen_eof flag even necessary??Andres Navarro2+18-13
2011-03-17 19:32Added write and read to the ground environment. BUG: the check for [EOF] of the repl is after eval instead of after read so when EOF is evaluated in the repl the repl exits.Andres Navarro8+90-13
2011-03-17 19:30Changed name and forgot to update in mercurialAndres Navarro1+171-0
2011-03-17 18:58Added open-input-file, open-output-file, close-input-file & close-output-file to the ground environment.Andres Navarro4+142-5
2011-03-17 18:34Added port?, input-port? and output-port? to the ground environment.Andres Navarro4+80-10
2011-03-17 18:18Added support for creating(opening) and closing ports.Andres Navarro6+159-5
2011-03-17 17:31Added object definition, kwrite case and free mem case for Ports.Andres Navarro3+24-0
2011-03-16 20:48Added make-keyed-static-variable to the ground environment.Andres Navarro5+122-3
2011-03-16 20:28Added definitions and functions to support Keyed Static Variables.Andres Navarro3+117-3
2011-03-16 18:37Added make-keyed-dynamic-variable to the ground environment.Andres Navarro4+49-5
2011-03-16 06:34Added force and $lazy to the ground environment. Promises & Encapsulations completed.Andres Navarro4+73-12
2011-03-16 06:07Added promise? and memoize to the ground environment.Andres Navarro4+112-2
2011-03-16 05:56Added promise object definition, contructor & accessors. Added promise case to kwrite.Andres Navarro6+83-1
2011-03-16 05:29Added make-encapsulation-type to the ground environment.Andres Navarro8+159-13
2011-03-16 05:05Added encapsulation to kwrite.Andres Navarro1+4-0
2011-03-16 05:04Added encapsulation object definition.Andres Navarro4+83-1
2011-03-16 03:03Bugfix: only the first guard was applied. The value returned by the first interceptor was just returned instead of continuing.Andres Navarro1+8-3
2011-03-16 02:46Added small comment on the source of the ancestor testing algorithm.Andres Navarro1+5-0
2011-03-15 21:13Simplified the continuation calling code a little. Added a comment on a possible optimization.Andres Navarro1+11-18
2011-03-15 21:07Bugfix: The interceptors should be passed an applicative representing the outer continuation in addition to the passed obj.Andres Navarro4+22-20
2011-03-15 20:25Moved the shrink/grow of token buffer to the outside of the inlined function. Shave an additional 5k from the binary.Andres Navarro2+41-19
2011-03-15 20:18Moved stack grow/shrink outside of the inline functions. Shaved off 14k from executable.Andres Navarro2+47-35
2011-03-15 19:52Added interception code for continuations. Basic functionality working but it isn't tested yet.Andres Navarro3+177-7
2011-03-15 19:50Bugfix: repl's error-continuation wasn't in the dynamic extent of root-continuation.Andres Navarro1+1-1
2011-03-15 04:00Added guard-dynamic-extent to the ground environment. Still no interception algorithm.Andres Navarro3+34-3
2011-03-15 03:43Added guard-continuation to the ground environment. NOTE: the mechanism to handle the guards isn't there yet, but the guard list are checked and properly copied.Andres Navarro6+125-7
2011-03-15 02:48Added $let/cc to the ground environment.Andres Navarro3+41-10
2011-03-15 02:32Added exit to the ground environment.Andres Navarro4+23-3
2011-03-15 02:28Added apply-continuation to the ground environment.Andres Navarro3+21-7
2011-03-14 22:17Added missing kgcontinuations.c, should be there from a couple of revisions before...Andres Navarro1+124-0
2011-03-13 07:31Bugfix: in ground bindings: 'extend-continuation' NOT 'extend_continuation'.Andres Navarro1+1-1
2011-03-13 07:24Added extend-continuation to the ground environment.Andres Navarro4+7-3
2011-03-13 07:24Bugfix: $lambda was a disaster. Now it correctly takes at least one parameter and does what is should.Andres Navarro3+86-31
2011-03-13 06:43Added continuation->applicative to the ground environment.Andres Navarro2+4-2
2011-03-13 06:26Added root-continuation and error-continuation to the ground environment.Andres Navarro5+29-11
2011-03-13 06:11Added call/cc to the ground environment.Andres Navarro2+2-2
2011-03-13 06:04Added continuation? to the ground environment.Andres Navarro4+118-4
2011-03-13 05:39Extracted out the combiners features from kground.c to a new file kgcombiners.c (and .h).Andres Navarro4+217-173
2011-03-13 05:30Extracted out the environment mutation features from kground.c to a new file kgenv_mut.c (and .h).Andres Navarro6+303-328
2011-03-13 05:14Extracted out the environment features from kground.c to a new file kgenvironments.c (and .h).Andres Navarro3+117-1
2011-03-13 05:09Extracted out the pair mutation features from kground.c to a new file kgpair_mut.c (and .h).Andres Navarro5+253-206
2011-03-13 04:57Extracted out the pairs and lists features from kground.c to a new file kgpairs_lists.c (and .h).Andres Navarro4+273-217
2011-03-13 04:46Extracted out the control features from kground.c to a new file kgcontrol.c (and .h).Andres Navarro4+151-102
2011-03-13 04:37Extracted out the symbol features from kground.c to a new file kgsymbols.c (and .h).Andres Navarro5+58-10
2011-03-13 02:28Extracted out the equivalence up to mutation features from kground.c to a new file kgequalp.c (and .h).Andres Navarro5+229-186
2011-03-13 02:14Extracted out the equivalence under mutation features from kground.c to a new file kgeqp.c (and .h).Andres Navarro5+75-45
2011-03-13 02:02Extracted out the boolean features from kground.c to a new file kgbooleans.c (and .h).Andres Navarro4+50-2
2011-03-13 02:01Bugfix: #endif in kghelpers.h wasn't at end of file.Andres Navarro1+2-3
2011-03-13 01:47Extracted out the ground helpers to a new file kghelpers.c (and .h).Andres Navarro4+332-277
2011-03-13 01:13Added TODO comment for future space optimization.Andres Navarro1+3-0
2011-03-12 23:42Added encycle! to the ground environment.Andres Navarro1+102-6
2011-03-12 22:49Added get-list-metrics to the ground environment.Andres Navarro1+41-2
2011-03-12 22:32Added list-tail to the ground environment.Andres Navarro1+100-0
2011-03-12 22:13Added apply to the ground environment.Andres Navarro1+42-1
2011-03-12 21:41Added c[ad]{2,4}r to the ground environment.Andres Navarro1+74-10
2011-03-12 21:16Added car and cdr to the ground environment.Andres Navarro1+58-0
2011-03-12 20:47Added list* to the ground environment.Andres Navarro1+49-2
2011-03-12 04:01Added list applicative to the ground environment.Andres Navarro1+9-2
2011-03-12 03:56Added $sequence to the ground environment.Andres Navarro1+100-20
2011-03-12 00:10Added $lambda to the ground environment.Andres Navarro1+22-0
2011-03-11 10:10Added multiple environment parents. Bugfix in check_list.Andres Navarro4+111-22
2011-03-11 09:04Bugfix: in both check_list and check_copy_list cyclic list weren't being handled. It affected $vau which uses check_list to check the body.Andres Navarro1+34-16
2011-03-11 08:33Factored out the common code in all type predicates and made them n-ary as per the report. Core types and primitive features (section 4 of the report) complete.Andres Navarro1+63-74
2011-03-11 05:31Added $vau to ground environment. Applied ktail_eval macro where appropiate.Andres Navarro2+177-27
2011-03-11 05:31Added macro ktail_eval for the common case of ktail_call to K->eval_op. Changed tail_call macro to include braces so that it is not multiple statements.Andres Navarro1+5-1
2011-03-11 05:14Bugfix: in define, if the ptree had a type other than nil, ignore or symbol, it popped the obj twice and segfaulted. Fixed some typo.Andres Navarro1+1-2
2011-03-11 01:55Bugfix: added immutability checking to set-car! and set-cdr!Andres Navarro1+9-2
2011-03-11 01:52Added equal? to the ground environment.Andres Navarro4+214-8
2011-03-09 22:32Added some macros to eliminate repetition in adding bindings to the ground environment.Andres Navarro1+39-61
2011-03-09 22:17Changed check_copy_ptree to use the same stack method as copy_es_immutable, also, it no longer copies immutable ptrees.Andres Navarro1+61-41
2011-03-09 22:16Bugfix: bad size in freemem after previous change.Andres Navarro1+1-1
2011-03-09 21:05Added copy-es-immutable to the ground environment.Andres Navarro1+79-7
2011-03-09 21:04Bugfix (endianness): Changed object representation so that flags and type are distinct fields.Andres Navarro9+22-8
2011-03-09 20:04Changed throw_extra to not insert a space between msgs. TODO: make it take any number of stringsAndres Navarro2+3-4
2011-03-09 20:02Changed bind macros to use throw_extra to allow use of non constant strings as namesAndres Navarro1+59-8
2011-03-09 20:01Slightly changed the token buffer interface to allow it to be used as a char stackAndres Navarro2+44-14
2011-03-09 07:47Added pair mutability and k[ad]+r helpers up to four levels.Andres Navarro4+52-12
2011-03-09 02:48Added $if operative to the ground environment. Clauses eval structure copying pending.Andres Navarro1+43-8
2011-03-09 02:28Added eval applicative to ground environment.Andres Navarro1+19-4
2011-03-09 02:19Added ptree copying to $define!.Andres Navarro1+34-15
2011-03-08 23:52Added generalized ptrees (with all the checks) to $define!. ptree copying pending.Andres Navarro2+187-22
2011-03-08 05:15Changed make_applicative variadic macro to not depend on gcc ## hack.Andres Navarro1+2-2
2011-03-08 05:10Some more ground definitions. Most of core (except eval, $if, $vau & copy-es-immutable). Some of them still have some restrictions.Andres Navarro3+486-37
2011-03-08 03:16Bugfix: applicative combinations with a non-pair, non-nil ptree failed to signal an error (and segfaulted)Andres Navarro1+3-0
2011-03-07 18:43Added object freeing on close state. valgring doesn't report any leaks now.Andres Navarro9+93-11
2011-03-07 15:04Added automatic stack & char buffer growing.Andres Navarro2+27-14
2011-03-07 13:57Moved the loop code out of klisp.c and into a function in kstate.Andres Navarro4+55-57
2011-03-07 02:51Errors now use continuations. Improved repl code. Moved ground env init to a new file.Andres Navarro17+343-218
2011-03-07 01:02Moved part of the repl to a new file.Andres Navarro5+111-65
2011-03-07 00:26Moved eval to a new file.Andres Navarro5+169-135
2011-03-06 05:05Added applicatives and their rule of evaluation. eval is, more or less, complete.Andres Navarro5+170-10
2011-03-05 22:44Added eval and simple define. TODO complex define and applicative support.Andres Navarro3+88-17
2011-03-05 22:33Bugfix in kenvironment, in add_binding, same problem as get_binding.Andres Navarro1+1-1
2011-03-05 19:57Bugfix in kget_binding, added code to evaluate symbols.Andres Navarro2+3-4
2011-03-05 19:37Basic structure of a primitive REPL (added eval step, for now it is an identity fn).Andres Navarro1+58-35
2011-03-05 19:07Added external representations for environment, continuation, operatives and applicatives.Andres Navarro1+13-1
2011-03-05 18:49Made the read-print loop to continuation based. Some bugfixes in helpers for operative and continuation calling.Andres Navarro3+76-6
2011-03-05 17:57Added some functions and macros to manipulate the current continuation and calling operatives.Andres Navarro2+52-3
2011-03-05 17:33Slightly modified the underlying functions of operatives and continuations.Andres Navarro7+27-16
2011-03-03 22:04Added operative constructor.Andres Navarro5+58-5
2011-03-03 21:51Added continuation constructor. Changed some continuation fields in kobject.hAndres Navarro5+63-4
2011-03-03 04:45Bugfix in kenvironment error throwing (was trying to concat to a literal string)Andres Navarro3+13-1
2011-03-02 12:27Added make-empty-environment macro.Andres Navarro1+1-0
2011-03-02 02:04Added some basic support for first class environments.Andres Navarro4+109-5
2011-03-01 00:27Bugfix: ksymbol_new didn't set the mark to false.Andres Navarro1+1-0
2011-03-01 00:26Added object representation for environments, applicatives and operatives.Andres Navarro2+66-15
2011-02-28 15:54Moved empty string and special tokens to the vm stateAndres Navarro5+39-40
2011-02-26 08:28Used the vm state & error routine in tokenizer, reader and writer. Used the mem interface in all constructors.Andres Navarro16+700-581
2011-02-23 19:58Added some support for errors, vm state & init and mem interface.Andres Navarro14+491-14
2011-02-22 22:59Bugfix: escaped " and \ in strings (kwrite). Added support for printing embedded '\0's in strings.Andres Navarro2+46-13
2011-02-22 13:44Added some TODO items in the tokenizer.Andres Navarro1+8-1
2011-02-20 08:55Added a writer featuring srfi-38 style shared defs/refs.Andres Navarro13+399-18
2011-02-20 08:54Bugfix (kread.c): cdr was not setted in ST_LAST_ILIST.Andres Navarro1+3-0
2011-02-20 08:45Bugfix: in shared reference & some macros.Andres Navarro1+4-4
2011-02-20 00:30Added a reader (including source info tracking & srfi-38 style shared defs/refs).Andres Navarro11+617-64
2011-02-20 00:25Bugfix: reversed members in InnerTV so that tagged values are NaN (endianness problem). Added mark and source info members to Pair.Andres Navarro1+3-1
2011-02-17 20:08(almost complete) Tokenizer added. Constructors for pair, string and boolean. Some more macros in kobject.h.Andres Navarro12+893-73
2011-02-15 13:47Initial commit. COPYRIGHT, README and Makefile. Object layout definitions and some tests.Andres Navarro6+447-0