25812731cc 
								
							 
						 
						
							
							
								
								eliminating interpreter. the bytecode VM is now fully bootstrapped.  
							
							... 
							
							
							
							making the empty vector a singleton
removing syntax environment stuff from core
reimplementing eval using the compiler
fixing a couple bugs in long argument lists 
							
						 
						
							2009-04-21 00:56:05 +00:00  
				
					
						
							
							
								 
						
							
								5ab7a7c1e1 
								
							 
						 
						
							
							
								
								adding new "translucent" function type for byte-compiled lambdas  
							
							
							
						 
						
							2009-04-19 22:22:17 +00:00  
				
					
						
							
							
								 
						
							
								aa62ae9e96 
								
							 
						 
						
							
							
								
								allowing (copy x) and other byte stream functions only on plain-old-data types  
							
							... 
							
							
							
							adding plain-old-data? predicate
adding string.join 
							
						 
						
							2009-04-19 16:48:09 +00:00  
				
					
						
							
							
								 
						
							
								2ed581e62d 
								
							 
						 
						
							
							
								
								adding top-level-value and set-top-level-value!, using them instead of  
							
							... 
							
							
							
							set and eval where appropriate
adding separate integer? and integer-valued? predicates 
							
						 
						
							2009-04-17 14:41:15 +00:00  
				
					
						
							
							
								 
						
							
								86b7738c89 
								
							 
						 
						
							
							
								
								cleaning up implementation of apply() entry point  
							
							... 
							
							
							
							removing use of interpreter in computed calls to builtins 
							
						 
						
							2009-04-17 03:40:52 +00:00  
				
					
						
							
							
								 
						
							
								94814a2e34 
								
							 
						 
						
							
							
								
								a bug fix and a first pass at let-optimization  
							
							
							
						 
						
							2009-04-16 21:20:15 +00:00  
				
					
						
							
							
								 
						
							
								0a3590aa01 
								
							 
						 
						
							
							
								
								some optimizations  
							
							
							
						 
						
							2009-04-16 14:21:16 +00:00  
				
					
						
							
							
								 
						
							
								ad4a086790 
								
							 
						 
						
							
							
								
								converting for to a special form  
							
							... 
							
							
							
							adding loadi8 instruction
cleaning up numeric comparison, reducing repeated code 
							
						 
						
							2009-04-16 03:05:38 +00:00  
				
					
						
							
							
								 
						
							
								36a209cd5f 
								
							 
						 
						
							
							
								
								making = a builtin  
							
							... 
							
							
							
							fixing = and eqv? to work properly on NaNs
fixing other comparison predicates to be consistent 
							
						 
						
							2009-04-15 23:54:43 +00:00  
				
					
						
							
							
								 
						
							
								81641a2240 
								
							 
						 
						
							
							
								
								fixing glaring bug in last revision  
							
							
							
						 
						
							2009-04-15 00:30:24 +00:00  
				
					
						
							
							
								 
						
							
								672558d30f 
								
							 
						 
						
							
							
								
								bytecode vm is now working, off by default  
							
							... 
							
							
							
							various bug fixes
language changes:
• constant symbols no longer shadow everything
• eval* removed
• vararg lists always allocated on entry, dotted argument
  lists not preserved
new applyn() entry point 
							
						 
						
							2009-04-15 00:12:01 +00:00  
				
					
						
							
							
								 
						
							
								b9a1be78a0 
								
							 
						 
						
							
							
								
								implementing op_closure, fix to loadc/setc  
							
							
							
						 
						
							2009-04-09 16:09:02 +00:00  
				
					
						
							
							
								 
						
							
								debf3fd517 
								
							 
						 
						
							
							
								
								moving (length) out of core  
							
							... 
							
							
							
							changing another recursive call to goto
adding special cases in compiler for 0 and 1 argument versions of some
  vararg builtins
beginning implementation of bytecode interpreter 
							
						 
						
							2009-04-09 04:04:27 +00:00  
				
					
						
							
							
								 
						
							
								ea5d334626 
								
							 
						 
						
							
							
								
								some cleanup, removing some unnecessary global bindings  
							
							
							
						 
						
							2009-04-08 18:17:02 +00:00  
				
					
						
							
							
								 
						
							
								43cb51f640 
								
							 
						 
						
							
							
								
								replacing a recursive call with a goto; saves lots of stack space.  
							
							
							
						 
						
							2009-04-07 15:55:13 +00:00  
				
					
						
							
							
								 
						
							
								e119a66bcd 
								
							 
						 
						
							
							
								
								moving lognot out of core  
							
							... 
							
							
							
							fixing type check in ash 
							
						 
						
							2009-04-02 03:53:38 +00:00  
				
					
						
							
							
								 
						
							
								8e78e4cdbb 
								
							 
						 
						
							
							
								
								making some utf8 routines more robust against invalid data  
							
							... 
							
							
							
							implementing tail position in compiler
adding arg count checking for instructionized builtins 
							
						 
						
							2009-04-02 02:22:38 +00:00  
				
					
						
							
							
								 
						
							
								28c39e8cf0 
								
							 
						 
						
							
							
								
								fixing definition of let*  
							
							
							
						 
						
							2009-04-01 22:23:19 +00:00  
				
					
						
							
							
								 
						
							
								43e8d1fbf0 
								
							 
						 
						
							
							
								
								adding the ability to heap-allocate extentions to the value stack,  
							
							... 
							
							
							
							so recursion depth is limited only by the process stack limit.
reorganizing evaluator so the same code is used for evaluating
and pushing arguments for both builtin functions and lambdas.
for now this is slower, but it was done in preparation for
Things To Come.
adding list-head
implementing the calling convention for long argument lists in
bytecode compiler. arguments are broken down into a nest of
list and nconc calls.
also implementing vararg builtins. 
							
						 
						
							2009-04-01 04:31:49 +00:00  
				
					
						
							
							
								 
						
							
								2ddbac400a 
								
							 
						 
						
							
							
								
								fixing bug in hash table. growth schedule made it possible for  
							
							... 
							
							
							
							maxprobe to decrease, causing growth during rehashing, which leaks
the table. 
							
						 
						
							2009-03-28 23:46:02 +00:00  
				
					
						
							
							
								 
						
							
								e3158b8640 
								
							 
						 
						
							
							
								
								adding nestlist, to-proper, string.rep, pad-l, pad-r, trace, untrace,  
							
							... 
							
							
							
							table.invert, table.foreach
reorganizing system.lsp so functions are grouped sensibly
scheme implementation of a simple bytecode compiler 
							
						 
						
							2009-03-28 21:39:04 +00:00  
				
					
						
							
							
								 
						
							
								c076be667b 
								
							 
						 
						
							
							
								
								fixing bug in macroexpand on lambdas  
							
							
							
						 
						
							2009-03-27 03:47:11 +00:00  
				
					
						
							
							
								 
						
							
								4cb9685266 
								
							 
						 
						
							
							
								
								adding support for arbitrarily-long argument lists  
							
							... 
							
							
							
							argument lists are heap-allocated after a certain cutoff (currently 127) 
							
						 
						
							2009-03-27 03:06:55 +00:00  
				
					
						
							
							
								 
						
							
								fe72c101e2 
								
							 
						 
						
							
							
								
								avoiding sprintf for error messages where possible  
							
							... 
							
							
							
							moving raise, logand, logior, logxor, and ash out of core
changing prog1 to a special form 
							
						 
						
							2009-03-25 02:28:21 +00:00  
				
					
						
							
							
								 
						
							
								b63a23eb1a 
								
							 
						 
						
							
							
								
								char read/print improvement  
							
							... 
							
							
							
							adding char.upcase and char.downcase 
							
						 
						
							2009-03-24 21:27:38 +00:00  
				
					
						
							
							
								 
						
							
								a9b0f7879b 
								
							 
						 
						
							
							
								
								removing some unnecessary stuff  
							
							... 
							
							
							
							improving key-error 
							
						 
						
							2009-03-23 20:44:19 +00:00  
				
					
						
							
							
								 
						
							
								8f93c9dfc6 
								
							 
						 
						
							
							
								
								adding string->number  
							
							
							
						 
						
							2009-03-23 19:49:08 +00:00  
				
					
						
							
							
								 
						
							
								9023705d27 
								
							 
						 
						
							
							
								
								adding some error messages  
							
							... 
							
							
							
							adding io.seek, io.copyuntil
adding #\uHHHH hex character literal read syntax 
							
						 
						
							2009-03-22 02:05:26 +00:00  
				
					
						
							
							
								 
						
							
								7059a471a1 
								
							 
						 
						
							
							
								
								initial implementation of let-syntax  
							
							
							
						 
						
							2009-03-17 21:53:55 +00:00  
				
					
						
							
							
								 
						
							
								5edb75af2c 
								
							 
						 
						
							
							
								
								making nconc, assq, and memq builtins  
							
							... 
							
							
							
							some small optimizations to string.map, string.trim,
string.inc, string.dec, aref 
							
						 
						
							2009-03-17 03:29:17 +00:00  
				
					
						
							
							
								 
						
							
								5681745bc3 
								
							 
						 
						
							
							
								
								adding apply1, using it in trycatch (avoids consing)  
							
							... 
							
							
							
							allowing left bit shift to overflow to larger types
fixing bug in number->string on uint64
fixing bug in rand.uint64 
							
						 
						
							2009-03-13 22:26:44 +00:00  
				
					
						
							
							
								 
						
							
								dceced2bb0 
								
							 
						 
						
							
							
								
								fix bug in (case)  
							
							... 
							
							
							
							reducing use of strlen 
							
						 
						
							2009-03-13 14:54:48 +00:00  
				
					
						
							
							
								 
						
							
								0643a4f3a2 
								
							 
						 
						
							
							
								
								fixing bug in datum comment #;  
							
							... 
							
							
							
							improving some library functions 
							
						 
						
							2009-03-13 03:30:10 +00:00  
				
					
						
							
							
								 
						
							
								bfa30fb095 
								
							 
						 
						
							
							
								
								allowing logand, logior, logxor to accept any number of arguments  
							
							... 
							
							
							
							adding negative?, positive?, zero?, even?, odd?, for-each
adding *linefeed*, terpri 
							
						 
						
							2009-03-12 02:47:34 +00:00  
				
					
						
							
							
								 
						
							
								d81e6c2d57 
								
							 
						 
						
							
							
								
								adding ash function  
							
							... 
							
							
							
							making more functions static
removing list_nth, using vectors for enums instead
making more operators return fixnums where possible 
							
						 
						
							2009-03-11 19:16:40 +00:00  
				
					
						
							
							
								 
						
							
								05ef9f42a5 
								
							 
						 
						
							
							
								
								simplifying (string) to just princ-to-string  
							
							... 
							
							
							
							small printing improvements 
							
						 
						
							2009-03-11 14:52:37 +00:00  
				
					
						
							
							
								 
						
							
								e2b7652e36 
								
							 
						 
						
							
							
								
								some printing improvements  
							
							
							
						 
						
							2009-03-10 19:29:30 +00:00  
				
					
						
							
							
								 
						
							
								fdfaacfbe5 
								
							 
						 
						
							
							
								
								adding io.putc, io.tostring!, string.map, print-to-string  
							
							... 
							
							
							
							fixing bug in ios, not initializing readonly flag
updating string and sizeof to use new strstream functions
removing some redundant numeric type init functions 
							
						 
						
							2009-03-05 03:48:17 +00:00  
				
					
						
							
							
								 
						
							
								40cff81550 
								
							 
						 
						
							
							
								
								more reorganization of LLT  
							
							... 
							
							
							
							adding io.readuntil, io.readline
improvements to ios_readprep 
							
						 
						
							2009-03-03 03:16:30 +00:00  
				
					
						
							
							
								 
						
							
								2cf5187ca9 
								
							 
						 
						
							
							
								
								adding dump, memstream, io.read, and io.write  
							
							... 
							
							
							
							more renaming
allowing iostreams to be read-only
fixing bug allowing arrays with 0-size elements 
							
						 
						
							2009-03-02 04:26:16 +00:00  
				
					
						
							
							
								 
						
							
								923c7d5495 
								
							 
						 
						
							
							
								
								fixing bug reading negative constants with #b,o,d,x  
							
							... 
							
							
							
							adding string.trim 
							
						 
						
							2009-02-28 01:59:01 +00:00  
				
					
						
							
							
								 
						
							
								c1610f0a9f 
								
							 
						 
						
							
							
								
								changing load to expand each expression before evaluating  
							
							... 
							
							
							
							improve performance by reloading system.lsp with this loader
other misc. changes 
							
						 
						
							2009-02-26 18:15:38 +00:00  
				
					
						
							
							
								 
						
							
								7883a5de0b 
								
							 
						 
						
							
							
								
								fixing ambiguity in reading hex numbers and floating point  
							
							... 
							
							
							
							making print robust against the undefined value 
							
						 
						
							2009-02-24 18:31:05 +00:00  
				
					
						
							
							
								 
						
							
								115b2843fb 
								
							 
						 
						
							
							
								
								adding copy and string.count  
							
							
							
						 
						
							2009-02-24 04:12:33 +00:00  
				
					
						
							
							
								 
						
							
								6c56120669 
								
							 
						 
						
							
							
								
								better solution for allowing an input stream to be relocated while  
							
							... 
							
							
							
							reading from it
improving prettyprinting of lists of short strings 
							
						 
						
							2009-02-24 02:21:16 +00:00  
				
					
						
							
							
								 
						
							
								76edead57b 
								
							 
						 
						
							
							
								
								adding (do ) form  
							
							
							
						 
						
							2009-02-20 19:50:35 +00:00  
				
					
						
							
							
								 
						
							
								3aad0bd6be 
								
							 
						 
						
							
							
								
								fixing some bugs in lerror and read  
							
							... 
							
							
							
							making memory errors non-consing (duh)
cleaning up main() a bit
adding case macro, moving other stuff around a bit 
							
						 
						
							2009-02-20 05:11:05 +00:00  
				
					
						
							
							
								 
						
							
								f1927a3b57 
								
							 
						 
						
							
							
								
								moving delete-duplicates and new f-body so they can be macroexpanded in advance  
							
							... 
							
							
							
							deprecating setf, labels, and try (weren't used anywhere)
adding string.tail
changing match to use delete-duplicates 
							
						 
						
							2009-02-19 22:29:47 +00:00  
				
					
						
							
							
								 
						
							
								0c0471e856 
								
							 
						 
						
							
							
								
								moving implementation of startup, repl, load, and top-level  
							
							... 
							
							
							
							exception handler into system.lsp
adding several iostream functions
adding support for internal define 
							
						 
						
							2009-02-19 03:31:40 +00:00  
				
					
						
							
							
								 
						
							
								79e12b2dcb 
								
							 
						 
						
							
							
								
								adding io.print and io.princ  
							
							... 
							
							
							
							misc. touch-ups 
							
						 
						
							2009-02-09 05:38:40 +00:00