7d652f9c5a 
								
							 
						 
						
							
							
								
								some LLT cleanup:  
							
							... 
							
							
							
							making allocation functions customizable
  adding ios_vprintf
  simplifying config variables for mac 
							
						 
						
							2010-02-25 04:37:33 +00:00  
				
					
						
							
							
								 
						
							
								2e99f52b29 
								
							 
						 
						
							
							
								
								adding dependency on equal.c in makefiles  
							
							... 
							
							
							
							adding a missing va_end
minor change to hash function 
							
						 
						
							2010-02-05 19:56:10 +00:00  
				
					
						
							
							
								 
						
							
								1649e64ad3 
								
							 
						 
						
							
							
								
								putting llt_init in a separate file  
							
							
							
						 
						
							2010-01-06 20:27:04 +00:00  
				
					
						
							
							
								 
						
							
								219ffb7e63 
								
							 
						 
						
							
							
								
								clarifying which values are unspecified, and making the unspecified value  
							
							... 
							
							
							
							true, since only #f should be false.
removing not-really-used definitions of true and false, which just seem to
  be asking for conflicts 
							
						 
						
							2010-01-06 18:27:28 +00:00  
				
					
						
							
							
								 
						
							
								f33ad9348d 
								
							 
						 
						
							
							
								
								fixing some numeric typedefs to avoid conflicts in some environments  
							
							
							
						 
						
							2009-12-11 19:12:10 +00:00  
				
					
						
							
							
								 
						
							
								8eb100a3cf 
								
							 
						 
						
							
							
								
								simplifying copy-list  
							
							... 
							
							
							
							improving the gambit-like read-line function
adding with-output-to-string 
							
						 
						
							2009-12-03 20:12:06 +00:00  
				
					
						
							
							
								 
						
							
								222eead750 
								
							 
						 
						
							
							
								
								fixing char comparison bug  
							
							... 
							
							
							
							accepting more numeric types in vector.alloc
adding more aliases 
							
						 
						
							2009-11-18 17:38:16 +00:00  
				
					
						
							
							
								 
						
							
								3dc2275a07 
								
							 
						 
						
							
							
								
								making os name symbols non-constant, so they aren't evaluated at compile time  
							
							... 
							
							
							
							more aliases 
							
						 
						
							2009-10-22 03:32:12 +00:00  
				
					
						
							
							
								 
						
							
								be453f2ed5 
								
							 
						 
						
							
							
								
								improving portability to Mac OS  
							
							... 
							
							
							
							fixes for big endian architectures (PowerPC)
renaming exported symbol raise to fl_raise
fixing some bugs and oversights discovered in the process 
							
						 
						
							2009-08-29 00:54:51 +00:00  
				
					
						
							
							
								 
						
							
								12b9013744 
								
							 
						 
						
							
							
								
								changes to support mac compilation better. patches from Stefan.  
							
							
							
						 
						
							2009-08-24 01:11:36 +00:00  
				
					
						
							
							
								 
						
							
								be0d4d0d47 
								
							 
						 
						
							
							
								
								renaming - adding fl_ prefix to some more functions  
							
							
							
						 
						
							2009-08-23 07:06:57 +00:00  
				
					
						
							
							
								 
						
							
								37a23afb3c 
								
							 
						 
						
							
							
								
								adding io.peekc, top-level-bound? (alias)  
							
							... 
							
							
							
							fixing behavior of number?
fixing bugs in get-output-string, setting eof 
							
						 
						
							2009-08-23 05:07:46 +00:00  
				
					
						
							
							
								 
						
							
								0cc3595e80 
								
							 
						 
						
							
							
								
								renaming backquote-related symbols to scheme style  
							
							... 
							
							
							
							adding multi-arg for-each
now R6RS psyntax can be fully bootstrapped
interpreter maintenance 
							
						 
						
							2009-08-18 03:46:09 +00:00  
				
					
						
							
							
								 
						
							
								626801fd1f 
								
							 
						 
						
							
							
								
								adding => form of cond clauses  
							
							... 
							
							
							
							adding path.exists?
R6RS psyntax simple example now works 
							
						 
						
							2009-08-14 03:17:21 +00:00  
				
					
						
							
							
								 
						
							
								9ed9a51786 
								
							 
						 
						
							
							
								
								adding *print-level* and *print-length*  
							
							... 
							
							
							
							fixing open-string-output-port (R6RS)
making io.tostring! more consistent
adding newlines to boot file; wastes space but will allow more
  efficient diffing 
							
						 
						
							2009-08-13 04:09:35 +00:00  
				
					
						
							
							
								 
						
							
								43b6029727 
								
							 
						 
						
							
							
								
								allowing form (define x)  
							
							... 
							
							
							
							error checking define a bit better
fixing a small bug in expand-lambda 
							
						 
						
							2009-08-12 05:15:21 +00:00  
				
					
						
							
							
								 
						
							
								332235231c 
								
							 
						 
						
							
							
								
								changing semantics to respect lexical scope more strictly; now  
							
							... 
							
							
							
							anything can be shadowed by closer nested variables
fixing bugs in let-syntax and expanding optional arg default values
improving expansion algorithm on internal define
some small optimizations to the compiler
maintaining interpreter for bootstrapping 
							
						 
						
							2009-08-12 04:56:32 +00:00  
				
					
						
							
							
								 
						
							
								97c05e8eb4 
								
							 
						 
						
							
							
								
								a couple bug fixes  
							
							... 
							
							
							
							some small performance tweaks
moving some test files around 
							
						 
						
							2009-08-09 20:34:07 +00:00  
				
					
						
							
							
								 
						
							
								b59dcdc877 
								
							 
						 
						
							
							
								
								fixing bug in with-input-from-file  
							
							
							
						 
						
							2009-08-09 18:27:05 +00:00  
				
					
						
							
							
								 
						
							
								929ec92a65 
								
							 
						 
						
							
							
								
								adding support for eof-object  
							
							... 
							
							
							
							renaming exported symbol NIL to FL_NIL
making default vector fill #f
some misc. cleanup 
							
						 
						
							2009-08-09 18:04:03 +00:00  
				
					
						
							
							
								 
						
							
								51f645a916 
								
							 
						 
						
							
							
								
								adding gensym?, fixing keyword?  
							
							... 
							
							
							
							checking in psyntax library, and more scheme aliases to make it work 
							
						 
						
							2009-08-09 17:05:40 +00:00  
				
					
						
							
							
								 
						
							
								db94d6ef1f 
								
							 
						 
						
							
							
								
								adding offset and count arguments to io.write  
							
							... 
							
							
							
							making io.write output chars as utf8;
  suddenly switching to UTF32 was not intuitive
adding stream argument to newline (R6RS)
adding several more scheme compatibility procedures 
							
						 
						
							2009-08-09 04:04:31 +00:00  
				
					
						
							
							
								 
						
							
								3fbd5e7da6 
								
							 
						 
						
							
							
								
								adding functions io.copy, io.readall, time.fromstring  
							
							... 
							
							
							
							adding srfi-6 (string ports) functions
removing unnecessary behavior of sometimes printing int32s and int64s in
  hexadecimal 
							
						 
						
							2009-08-08 23:43:12 +00:00  
				
					
						
							
							
								 
						
							
								302ddec770 
								
							 
						 
						
							
							
								
								adding read and print support for named characters, e.g. #\space  
							
							... 
							
							
							
							printing infs and nans in R6RS format
making closure print syntax more compact; fn instead of function
adding more c[ad]+r functions 
							
						 
						
							2009-08-08 21:44:14 +00:00  
				
					
						
							
							
								 
						
							
								1a6d9d391f 
								
							 
						 
						
							
							
								
								adding with-bindings, with-output-to-file, with-output-to  
							
							... 
							
							
							
							simplifying printing. now based on standard function write,
  removing io.print and io.princ
using same top level exception handler for scripts as repl 
							
						 
						
							2009-08-08 00:29:55 +00:00  
				
					
						
							
							
								 
						
							
								c6a977063e 
								
							 
						 
						
							
							
								
								better error checking for formal argument lists  
							
							... 
							
							
							
							some cosmetic error improvements
adding more tests 
							
						 
						
							2009-08-03 05:00:44 +00:00  
				
					
						
							
							
								 
						
							
								15c8cb327d 
								
							 
						 
						
							
							
								
								finishing initial implementation of keyword arguments  
							
							... 
							
							
							
							fixing up interpreter so it can be used for bootstrapping again
removing let/copyenv optimization because it really didn't seem to help much 
							
						 
						
							2009-08-02 04:06:07 +00:00  
				
					
						
							
							
								 
						
							
								adb702cdf8 
								
							 
						 
						
							
							
								
								fixing a bug in optional args + rest args with no required arguments  
							
							... 
							
							
							
							adding some code for keyword argument processing 
							
						 
						
							2009-07-29 04:20:28 +00:00  
				
					
						
							
							
								 
						
							
								08787a01cd 
								
							 
						 
						
							
							
								
								fixing use of an undefined behavior that was breaking compiles occasionally  
							
							
							
						 
						
							2009-07-29 02:32:23 +00:00  
				
					
						
							
							
								 
						
							
								ecfd81148f 
								
							 
						 
						
							
							
								
								changing optional args to allow default values to be computed from  
							
							... 
							
							
							
							preceding arguments
tidying some stuff with keywords 
							
						 
						
							2009-07-28 04:16:20 +00:00  
				
					
						
							
							
								 
						
							
								eceeddf6d2 
								
							 
						 
						
							
							
								
								adding support for optional arguments  
							
							... 
							
							
							
							error checking formal argument lists
making filter preserve the order of elements in the input list 
							
						 
						
							2009-07-27 03:34:33 +00:00  
				
					
						
							
							
								 
						
							
								c61dc10002 
								
							 
						 
						
							
							
								
								adding some combined instructions and teaching the compiler to emit them:  
							
							... 
							
							
							
							brn, brnn, brne, cadr 
							
						 
						
							2009-07-24 04:20:09 +00:00  
				
					
						
							
							
								 
						
							
								88d08edecc 
								
							 
						 
						
							
							
								
								adding io.pos, io.readlines, read-all  
							
							... 
							
							
							
							fixing a small ios bug 
							
						 
						
							2009-07-22 03:50:57 +00:00  
				
					
						
							
							
								 
						
							
								66c671bfee 
								
							 
						 
						
							
							
								
								making long argument lists more efficient  
							
							
							
						 
						
							2009-07-22 02:10:20 +00:00  
				
					
						
							
							
								 
						
							
								0278b152b8 
								
							 
						 
						
							
							
								
								fixing a case where tail position was not properly observed  
							
							
							
						 
						
							2009-07-21 03:42:15 +00:00  
				
					
						
							
							
								 
						
							
								57c066fcdf 
								
							 
						 
						
							
							
								
								simplifying code by eliminating the hybrid stack/heap calling convention  
							
							... 
							
							
							
							other misc. cleanup 
							
						 
						
							2009-07-20 04:57:17 +00:00  
				
					
						
							
							
								 
						
							
								642d1e1bd4 
								
							 
						 
						
							
							
								
								rewriting some primitives to take advantage of the full language; they  
							
							... 
							
							
							
							do not need to be written in terms of the base language any more
moving handling of internal define and multiple-body-lambda to the
  compiler where it belongs. macroexpand now only handles syntax. 
							
						 
						
							2009-07-18 02:16:18 +00:00  
				
					
						
							
							
								 
						
							
								2c304edf42 
								
							 
						 
						
							
							
								
								changing boot file format; the old one did not preserve sharing  
							
							... 
							
							
							
							between top-level functions
making colon at the end also valid for keywords
adding keyword? predicate
fixing bug in map
adding functions to emulate values and call-with-values
adding receive macro
improving equal? on closures
adding lambda-lifting optimization to the compiler 
							
						 
						
							2009-07-17 01:30:26 +00:00  
				
					
						
							
							
								 
						
							
								c19aaeabd6 
								
							 
						 
						
							
							
								
								keeping track of function names, printing nice stack traces  
							
							... 
							
							
							
							changing default bootstrap process to use VM instead of interpreter
fixing bug where only a fixnum could index a vector
merging equal.c into the main compilation unit 
							
						 
						
							2009-07-10 04:17:39 +00:00  
				
					
						
							
							
								 
						
							
								2d4a0ae30e 
								
							 
						 
						
							
							
								
								adding functions max and min  
							
							... 
							
							
							
							fixing make-system-image to save aliases of builtins 
							
						 
						
							2009-07-08 19:07:56 +00:00  
				
					
						
							
							
								 
						
							
								e4e8d4dfdb 
								
							 
						 
						
							
							
								
								supporting multi-arg map  
							
							... 
							
							
							
							fixing branch destination display in disassemble 
							
						 
						
							2009-07-08 05:53:29 +00:00  
				
					
						
							
							
								 
						
							
								3793cf676c 
								
							 
						 
						
							
							
								
								implementing stack traces  
							
							... 
							
							
							
							some cleanup 
							
						 
						
							2009-07-06 03:56:48 +00:00  
				
					
						
							
							
								 
						
							
								494e439510 
								
							 
						 
						
							
							
								
								using lisp value stack for call frames instead of the C stack  
							
							... 
							
							
							
							adding the ability to grow the value stack as needed
the net effect is that calls use much less space, and stack frames
can use all available heap space. the only downside is that C builtins
must be aware that the stack can change out from under them if they call
lisp code. currently the only example of this is table.foldl.
also fixing bug where exceptions failed to unwind the gc handle stack. 
							
						 
						
							2009-07-03 18:43:15 +00:00  
				
					
						
							
							
								 
						
							
								2f78b407ea 
								
							 
						 
						
							
							
								
								some renaming (intern is now symbol) and moving stuff around  
							
							... 
							
							
							
							adding scheme aliases 
							
						 
						
							2009-06-30 03:21:41 +00:00  
				
					
						
							
							
								 
						
							
								3844191d70 
								
							 
						 
						
							
							
								
								adding the ability for the VM to use computed goto where available  
							
							... 
							
							
							
							with gcc v4.3.2 I found the combination of -O2 and computed goto to give the
best performance; with -O3 performance was a little worse and computed goto
was a wash. 
							
						 
						
							2009-06-28 19:47:11 +00:00  
				
					
						
							
							
								 
						
							
								b5897e0ad1 
								
							 
						 
						
							
							
								
								adding maxstack calculation and stack overflow protection  
							
							... 
							
							
							
							making append benchmark more useful by measuring interpreter
  speed instead of the builtin 
							
						 
						
							2009-06-27 23:07:22 +00:00  
				
					
						
							
							
								 
						
							
								8decdc4ae4 
								
							 
						 
						
							
							
								
								making append a builtin  
							
							... 
							
							
							
							making branch destinations relative so we can access the code
  using *ip instead of code[ip]
doing the same to bp (argument access)
small improvement to map, builtin->instruction
better profiling 
							
						 
						
							2009-06-15 02:25:21 +00:00  
				
					
						
							
							
								 
						
							
								6ec69f5375 
								
							 
						 
						
							
							
								
								optimizations to map and case  
							
							... 
							
							
							
							several optimizations to the compiler itself, mostly involving
  emit and encode-byte-code
experimental, very basic profiling utility 
							
						 
						
							2009-06-11 00:34:50 +00:00  
				
					
						
							
							
								 
						
							
								943c0d71d1 
								
							 
						 
						
							
							
								
								tiny performance tweaks: removing some variables, making some static  
							
							
							
						 
						
							2009-06-09 18:46:02 +00:00  
				
					
						
							
							
								 
						
							
								27a3e413d3 
								
							 
						 
						
							
							
								
								adding opcodes loada0, loada1, loadc00, loadc01  
							
							... 
							
							
							
							adding offset and count arguments to dump 
							
						 
						
							2009-06-08 03:22:32 +00:00