3dbaa358f9 
								
							 
						 
						
							
							
								
								making 3rd argument to string.sub optional  
							
							... 
							
							
							
							some renaming
removing 1/Instructions table 
							
						 
						
							2009-05-07 02:10:52 +00:00  
				
					
						
							
							
								 
						
							
								63edc82ba4 
								
							 
						 
						
							
							
								
								using global variables uniformly for print settings instead of passing  
							
							... 
							
							
							
							around one of them
fixing unwind-protect not to duplicate code 
							
						 
						
							2009-05-05 04:01:06 +00:00  
				
					
						
							
							
								 
						
							
								264df1f90b 
								
							 
						 
						
							
							
								
								improving closure representation  
							
							... 
							
							
							
							some performance tweaks 
							
						 
						
							2009-04-28 04:10:18 +00:00  
				
					
						
							
							
								 
						
							
								de19e4f401 
								
							 
						 
						
							
							
								
								adding return special form  
							
							... 
							
							
							
							eliminating some unnecessary top-level bindings
adding opcodes add2, sub2, neg 
							
						 
						
							2009-04-26 22:19:32 +00:00  
				
					
						
							
							
								 
						
							
								909b91ffcc 
								
							 
						 
						
							
							
								
								fixing printing of invalid UTF-8  
							
							
							
						 
						
							2009-04-23 00:22:03 +00:00  
				
					
						
							
							
								 
						
							
								5ab7a7c1e1 
								
							 
						 
						
							
							
								
								adding new "translucent" function type for byte-compiled lambdas  
							
							
							
						 
						
							2009-04-19 22:22:17 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1097597437 
								
							 
						 
						
							
							
								
								file stream creation and io.read  
							
							
							
						 
						
							2009-02-09 03:22:31 +00:00  
				
					
						
							
							
								 
						
							
								2c1bb59486 
								
							 
						 
						
							
							
								
								adding integer? and number->string  
							
							... 
							
							
							
							a bit more renaming 
							
						 
						
							2009-02-01 05:41:43 +00:00  
				
					
						
							
							
								 
						
							
								8197197ced 
								
							 
						 
						
							
							
								
								misc. cleanup  
							
							... 
							
							
							
							adding without-delimited-continuations
adding skeleton for stream objects 
							
						 
						
							2009-01-05 02:45:21 +00:00  
				
					
						
							
							
								 
						
							
								d8132ad204 
								
							 
						 
						
							
							
								
								adding CPRIM type, smaller representation for primitives  
							
							... 
							
							
							
							bug fixes in opaque type handling 
							
						 
						
							2009-01-02 23:00:21 +00:00  
				
					
						
							
							
								 
						
							
								dc50df083c 
								
							 
						 
						
							
							
								
								adding branch probability annotations  
							
							... 
							
							
							
							wrote a CPS transformer that can be used to provide coroutines
misc. cleanup 
							
						 
						
							2008-12-28 08:01:18 +00:00  
				
					
						
							
							
								 
						
							
								b99d8715ce 
								
							 
						 
						
							
							
								
								generic aref/aset for all arrays  
							
							... 
							
							
							
							(string v) now works on any value, by printing to a string
some bug fixes in ios 
							
						 
						
							2008-12-27 06:02:53 +00:00  
				
					
						
							
							
								 
						
							
								830e1c986c 
								
							 
						 
						
							
							
								
								renaming 'char' type to 'byte' to avoid confusion  
							
							... 
							
							
							
							wchar will be used for all individual characters
adding string.find function
fixing bug in #sym(...) if sym was undefined 
							
						 
						
							2008-12-24 04:43:36 +00:00  
				
					
						
							
							
								 
						
							
								8e4ba69a7b 
								
							 
						 
						
							
							
								
								more efficient representation for small tables  
							
							... 
							
							
							
							adding tablep and table.clone
fixing bug with filename string in load 
							
						 
						
							2008-12-22 06:36:50 +00:00  
				
					
						
							
							
								 
						
							
								dfacb4d897 
								
							 
						 
						
							
							
								
								making all builtins print readably; (builtin 'sym) function  
							
							... 
							
							
							
							hash table functions:
adding get,put,has,del,table.foldl,table.pairs,table.keys,table.values 
							
						 
						
							2008-12-21 05:55:00 +00:00  
				
					
						
							
							
								 
						
							
								b5dda68eab 
								
							 
						 
						
							
							
								
								adding support for finalization of values  
							
							... 
							
							
							
							enabling type-specific print and relocate behavior
allowing GC to be triggered by large buffer allocations
adding hash table constructor and print function
renamed some functions 
							
						 
						
							2008-12-20 06:16:00 +00:00  
				
					
						
							
							
								 
						
							
								6962211e76 
								
							 
						 
						
							
							
								
								changing representation of cvalue types so each type is  
							
							... 
							
							
							
							explicitly represented in an fltype_t struct, and symbolic
types are hash-consed. a lot of code is smaller and simpler
as a result. this should allow more features in less space
(both code and data) going forward.
changing \DDD and \x escape sequences to read bytes instead of
characters
re-fixing uint64 cast bug
adding Paul Hsieh's hash function, to be evaluated later 
							
						 
						
							2008-12-11 04:04:17 +00:00  
				
					
						
							
							
								 
						
							
								a4bb09bcb2 
								
							 
						 
						
							
							
								
								adding equalhash.c  
							
							... 
							
							
							
							some cleanup
moving some library code around for size optimization
now using == instead of flt_equals for float comparison, mostly
for hash compatibility 
							
						 
						
							2008-11-28 21:44:59 +00:00  
				
					
						
							
							
								 
						
							
								e7e5677d51 
								
							 
						 
						
							
							
								
								support reading hex float literals  
							
							... 
							
							
							
							better text representation of infs and nans
removing construction of low-level numeric types directly from strings
adding hash function corresponding to equal
better way to initialize builtins
moving advanced bitvector ops to separate compilation unit
rearranging hash table code so it can be specialized for different
comparison functions
one good way to bloat a piece of software is to add several
ASCII pictures of the mona lisa 
							
						 
						
							2008-11-23 07:12:37 +00:00  
				
					
						
							
							
								 
						
							
								c89111f7cb 
								
							 
						 
						
							
							
								
								refactored escape sequence handling a bit, added error for invalid hex  
							
							... 
							
							
							
							discarding rest of input line after a parse error
made compare() do less work for unordered comparison
added peekc and purge to ios 
							
						 
						
							2008-11-06 04:04:04 +00:00  
				
					
						
							
							
								 
						
							
								120522c212 
								
							 
						 
						
							
							
								
								updating bitvector functions to use int64s in more places, since  
							
							... 
							
							
							
							after all that's the whole point of bitvectors
some prettyprinting tweaks
more uniform way to handle forwarding pointers. fix forwarding
of gensyms
:keyword symbols 
							
						 
						
							2008-10-31 02:50:00 +00:00  
				
					
						
							
							
								 
						
							
								c8c59b1dfc 
								
							 
						 
						
							
							
								
								added globals *install-dir* and *print-width*, parameterized  
							
							... 
							
							
							
							prettyprinter by screen width
decent accumulate-while and accumulate-for 
							
						 
						
							2008-09-11 02:37:38 +00:00  
				
					
						
							
							
								 
						
							
								af8b332367 
								
							 
						 
						
							
							
								
								fixed some small flaws in (compare)  
							
							
							
						 
						
							2008-08-30 22:18:20 +00:00  
				
					
						
							
							
								 
						
							
								d6470ac62f 
								
							 
						 
						
							
							
								
								fixed array constructor so it doesn't require allocating a generic  
							
							... 
							
							
							
							container first
updates and improvements to ios 
							
						 
						
							2008-08-29 03:27:59 +00:00  
				
					
						
							
							
								 
						
							
								6e515a532e 
								
							 
						 
						
							
							
								
								fix oops in new apply()  
							
							... 
							
							
							
							more cvalues design 
							
						 
						
							2008-08-07 05:08:10 +00:00  
				
					
						
							
							
								 
						
							
								62e5c359d0 
								
							 
						 
						
							
							
								
								adding string.inc and string.dec  
							
							... 
							
							
							
							moving string functions to their own file 
							
						 
						
							2008-08-05 04:34:14 +00:00  
				
					
						
							
							
								 
						
							
								46f2f47b14 
								
							 
						 
						
							
							
								
								switched to 3-bit type tags for simpler checking  
							
							... 
							
							
							
							fixnums still have 30 bits
moving towards making "guest functions" more opaque; their type is now
just 'builtin
pretty printing some forms better: defun, defmacro, for, label
support *print-pretty* 
							
						 
						
							2008-08-05 01:43:12 +00:00  
				
					
						
							
							
								 
						
							
								c3811312a7 
								
							 
						 
						
							
							
								
								adding vector.map, string.char  
							
							... 
							
							
							
							fixing 0-trip-count case in (for) 
							
						 
						
							2008-08-02 16:18:39 +00:00  
				
					
						
							
							
								 
						
							
								e08091e4a1 
								
							 
						 
						
							
							
								
								adding (for lo hi f) construct, changing library funcs to use it  
							
							... 
							
							
							
							setting license to CPL v1 
							
						 
						
							2008-07-26 22:04:02 +00:00  
				
					
						
							
							
								 
						
							
								60644c760e 
								
							 
						 
						
							
							
								
								made apply() entry point more efficient (now non-consing)  
							
							... 
							
							
							
							added selfevaluating(v) predicate 
							
						 
						
							2008-07-26 04:03:48 +00:00  
				
					
						
							
							
								 
						
							
								180b05fa8e 
								
							 
						 
						
							
							
								
								storing environment size on the stack so lambda doesn't need to  
							
							... 
							
							
							
							compute it. changed penv from pointer to stack index.
result is best performance yet.
fixing constantp to be true for quoted values 
							
						 
						
							2008-07-18 04:16:07 +00:00  
				
					
						
							
							
								 
						
							
								b3b2bc3300 
								
							 
						 
						
							
							
								
								fix to how defun was using macroexpand  
							
							
							
						 
						
							2008-07-12 02:58:55 +00:00  
				
					
						
							
							
								 
						
							
								0c9010a117 
								
							 
						 
						
							
							
								
								import femtolisp source  
							
							
							
						 
						
							2008-07-01 01:54:22 +00:00