5bcdeee745 
								
							
								 
							
						 
						
							
							
								
								classes: Add a check that arguments to classoids are themselves classoids.  
							
							... 
							
							
							
							Introduce a new word-prop that makes tuple-class words classoids at parse-time so that
self-referential tuple definitions with maybe{} work, e.g. TUPLE: node { next maybe{ node } } ;
Add unit test.
Fixes  #766 . 
							
						 
						
							2013-03-22 16:00:46 -07:00  
				
					
						
							
							
								 
						
							
							
								559b5bfa5b 
								
							
								 
							
						 
						
							
							
								
								using the new H{ } make.  
							
							
							
						 
						
							2012-07-19 09:50:09 -07:00  
				
					
						
							
							
								 
						
							
							
								3507b9bad7 
								
							
								 
							
						 
						
							
							
								
								classes:  
							
							... 
							
							
							
							- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized. 
							
						 
						
							2012-05-03 19:45:30 -07:00  
				
					
						
							
							
								 
						
							
							
								837b22336e 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: make class= and only-classoid? use short-circuit logic.  
							
							
							
						 
						
							2012-04-18 12:00:24 -07:00  
				
					
						
							
							
								 
						
							
							
								82c5388f68 
								
							
								 
							
						 
						
							
							
								
								classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.  
							
							
							
						 
						
							2011-11-22 18:49:42 -08:00  
				
					
						
							
							
								 
						
							
							
								cab0369fec 
								
							
								 
							
						 
						
							
							
								
								classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.  
							
							
							
						 
						
							2011-11-22 15:12:20 -08:00  
				
					
						
							
							
								 
						
							
							
								0f4c5d2bff 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: make it work better to fix bug reported by Sascha Matzke  
							
							
							
						 
						
							2010-07-29 19:57:23 -04:00  
				
					
						
							
							
								 
						
							
							
								da57436180 
								
							
								 
							
						 
						
							
							
								
								Finishing eliminating prune as a synonym of members  
							
							
							
						 
						
							2010-02-27 14:52:24 -05:00  
				
					
						
							
							
								 
						
							
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
				
					
						
							
							
								 
						
							
							
								6501480a0e 
								
							
								 
							
						 
						
							
							
								
								Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining  
							
							
							
						 
						
							2010-02-20 12:01:47 +13:00  
				
					
						
							
							
								 
						
							
							
								83410e23cc 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: remove class<=> -- it's never used and has incorrect semantics  
							
							
							
						 
						
							2010-02-10 15:04:48 +13:00  
				
					
						
							
							
								 
						
							
							
								e929d906ce 
								
							
								 
							
						 
						
							
							
								
								classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private  
							
							
							
						 
						
							2010-02-01 02:48:39 +13:00  
				
					
						
							
							
								 
						
							
							
								0770b940b0 
								
							
								 
							
						 
						
							
							
								
								Merge up  
							
							
							
						 
						
							2010-01-30 20:48:06 -08:00  
				
					
						
							
							
								 
						
							
							
								f33c73bf94 
								
							
								 
							
						 
						
							
							
								
								Merge up  
							
							
							
						 
						
							2010-01-30 20:39:43 -08:00  
				
					
						
							
							
								 
						
							
							
								2c63161c84 
								
							
								 
							
						 
						
							
							
								
								stack-checker.dependencies: make conditional dependencies more robust  
							
							
							
						 
						
							2010-01-31 01:55:35 +13:00  
				
					
						
							
							
								 
						
							
							
								bd479db2f8 
								
							
								 
							
						 
						
							
							
								
								Fix regression when forgetting classes  
							
							
							
						 
						
							2010-01-30 09:28:55 +13:00  
				
					
						
							
							
								 
						
							
							
								af41dc6169 
								
							
								 
							
						 
						
							
							
								
								Trying to fix mixin semantics  
							
							
							
						 
						
							2010-01-30 09:28:51 +13:00  
				
					
						
							
							
								 
						
							
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
				
					
						
							
							
								 
						
							
							
								bb8eabba36 
								
							
								 
							
						 
						
							
							
								
								Unit test fixes  
							
							
							
						 
						
							2009-11-13 23:00:50 -06:00  
				
					
						
							
							
								 
						
							
							
								14a4535ad9 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: output cleaner anonymous unions and intersections  
							
							
							
						 
						
							2009-11-13 03:01:22 -06:00  
				
					
						
							
							
								 
						
							
							
								c693587018 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: cleanup  
							
							
							
						 
						
							2009-11-10 17:41:47 -06:00  
				
					
						
							
							
								 
						
							
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
				
					
						
							
							
								 
						
							
							
								951e3e9c83 
								
							
								 
							
						 
						
							
							
								
								delete-nth -> remove-nth!  
							
							
							
						 
						
							2009-10-27 23:41:57 -05:00  
				
					
						
							
							
								 
						
							
							
								962d039852 
								
							
								 
							
						 
						
							
							
								
								Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster  
							
							
							
						 
						
							2009-09-21 17:42:20 -05:00  
				
					
						
							
							
								 
						
							
							
								686b3e348e 
								
							
								 
							
						 
						
							
							
								
								use ERROR: in several places instead of throwing strings  
							
							
							
						 
						
							2009-08-11 23:09:02 -05:00  
				
					
						
							
							
								 
						
							
							
								7c5ef08aab 
								
							
								 
							
						 
						
							
							
								
								[ [ ... ] compare ] sort => [ ... ] sort-with  
							
							
							
						 
						
							2009-08-02 20:09:23 -05:00  
				
					
						
							
							
								 
						
							
							
								fb33ee3002 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: stack effect fix  
							
							
							
						 
						
							2009-07-28 06:49:09 -05:00  
				
					
						
							
							
								 
						
							
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
				
					
						
							
							
								 
						
							
							
								cd53c2bd37 
								
							
								 
							
						 
						
							
							
								
								produce and produce-as: don't need third quotation either  
							
							
							
						 
						
							2009-02-28 15:31:34 -06:00  
				
					
						
							
							
								 
						
							
							
								3c408342ef 
								
							
								 
							
						 
						
							
							
								
								renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail  
							
							
							
						 
						
							2009-01-29 22:19:07 -06:00  
				
					
						
							
							
								 
						
							
							
								f34c14a0f5 
								
							
								 
							
						 
						
							
							
								
								Remove some usages of tuck  
							
							
							
						 
						
							2009-01-23 18:20:47 -06:00  
				
					
						
							
							
								 
						
							
							
								4b4d93dddd 
								
							
								 
							
						 
						
							
							
								
								Move at-default from unicode.case to assocs, move 2cache from classes.algebra to assocs, clean up some code to no longer use -rot, rot, pick  
							
							
							
						 
						
							2009-01-20 15:27:14 -06:00  
				
					
						
							
							
								 
						
							
							
								a4d9cdfeb3 
								
							
								 
							
						 
						
							
							
								
								Refactor all usages of >r/r> in core to use dip, 2dip, 3dip  
							
							... 
							
							
							
							Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r> 
							
						 
						
							2008-11-23 02:44:56 -06:00  
				
					
						
							
							
								 
						
							
							
								4fd1767768 
								
							
								 
							
						 
						
							
							
								
								Old fix for classes-intersect? no-method bug was incorrect; we were  
							
							... 
							
							
							
							ignoring anonymous classes in compiled-generic-crossref. Also,
forget* now calls reset-word so that references to predicates of
forgotten classes don't break the compiler with a similar error. 
							
						 
						
							2008-11-05 18:32:02 -06:00  
				
					
						
							
							
								 
						
							
							
								fb64c1cb45 
								
							
								 
							
						 
						
							
							
								
								Fix class<=; a predicate class derived from a union was not reported as being contained in the union  
							
							
							
						 
						
							2008-11-04 04:59:54 -06:00  
				
					
						
							
							
								 
						
							
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
				
					
						
							
							
								 
						
							
							
								b1d26e100a 
								
							
								 
							
						 
						
							
							
								
								use if/when/unless-empty, docs  
							
							
							
						 
						
							2008-09-06 17:10:32 -05:00  
				
					
						
							
							
								 
						
							
							
								3cef7c9992 
								
							
								 
							
						 
						
							
							
								
								Smarter usage tracking system  
							
							
							
						 
						
							2008-08-30 02:31:27 -05:00  
				
					
						
							
							
								 
						
							
							
								0582f45fcb 
								
							
								 
							
						 
						
							
							
								
								Add more class algebra opeations  
							
							
							
						 
						
							2008-07-22 01:27:52 -05:00  
				
					
						
							
							
								 
						
							
							
								5d9c1ea0a0 
								
							
								 
							
						 
						
							
							
								
								Documentation updates, rename unfold to produce  
							
							
							
						 
						
							2008-07-10 01:00:27 -05:00  
				
					
						
							
							
								 
						
							
							
								a8808b7087 
								
							
								 
							
						 
						
							
							
								
								Non-optimizing compiler now inlow inlines some primitives, this improves bootstrap time  
							
							
							
						 
						
							2008-07-07 10:39:04 -05:00  
				
					
						
							
							
								 
						
							
							
								a8b826e8ed 
								
							
								 
							
						 
						
							
							
								
								Fix hang  
							
							
							
						 
						
							2008-07-05 17:08:01 -05:00  
				
					
						
							
							
								 
						
							
							
								44c1c1f679 
								
							
								 
							
						 
						
							
							
								
								Move tuple-class to classes.tuple where it belongs  
							
							
							
						 
						
							2008-07-05 00:59:39 -05:00  
				
					
						
							
							
								 
						
							
							
								b36e06d0d6 
								
							
								 
							
						 
						
							
							
								
								Builtinn types now use new slot accessors; tuple slot type declaration work in progress  
							
							
							
						 
						
							2008-06-28 02:36:20 -05:00  
				
					
						
							
							
								 
						
							
							
								a42756abac 
								
							
								 
							
						 
						
							
							
								
								object is now an empty intersection  
							
							
							
						 
						
							2008-05-11 01:37:37 -05:00  
				
					
						
							
							
								 
						
							
							
								dd08bdfdd1 
								
							
								 
							
						 
						
							
							
								
								Class algebra changes  
							
							
							
						 
						
							2008-05-10 23:59:02 -05:00  
				
					
						
							
							
								 
						
							
							
								315110eb09 
								
							
								 
							
						 
						
							
							
								
								Working on intersection classes  
							
							
							
						 
						
							2008-05-10 18:09:05 -05:00  
				
					
						
							
							
								 
						
							
							
								d1a3b64569 
								
							
								 
							
						 
						
							
							
								
								Fix class sorting again  
							
							
							
						 
						
							2008-05-02 17:36:31 -05:00  
				
					
						
							
							
								 
						
							
							
								5a29b2e273 
								
							
								 
							
						 
						
							
							
								
								Class linearization  
							
							
							
						 
						
							2008-05-02 02:51:38 -05:00  
				
					
						
							
							
								 
						
							
							
								15402ed1b4 
								
							
								 
							
						 
						
							
							
								
								core changes:  
							
							... 
							
							
							
							index* -> index-from
last-index* -> last-index-from
1 tail -> rest
1 tail-slice -> rest-slice
subset -> filter
prepose
find* -> find-from
find-last* -> find-last-from
before, after generic, < for integers
make between? work for timestamps 
							
						 
						
							2008-04-25 23:12:44 -05:00