Commit Graph

310 Commits (dee9f56500134a34abc2385680cfe70ae439e4bf)

Author SHA1 Message Date
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov 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
Slava Pestov 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
Slava Pestov cc94894441 Fix notorious classes-intersect? bug, or at least one manifestation thereof. Turns out that we may temporarily end up with forgotten classes in the compiled-generic-crossref table. This is not a problem, since subsequently the words that reference forgotten classes will presumably be redefined and recompiled, but it does mean that (compiled-generic-usage) does need to handle this case 2008-11-04 03:38:44 -06:00
Slava Pestov 9b492b55e0 Fix minor leak: class-caches were not reset if a class was forgotten 2008-11-04 02:17:37 -06:00
Slava Pestov 7134fad54c Add more unit tests highlighting the problem: predicate -vs- union comparison is broken 2008-11-04 02:17:22 -06:00
Slava Pestov b4d3473d5e Tuple parsing didn't handle line breaks properly; if scan returns f, must throw unexpected-eof 2008-11-03 21:01:50 -06:00
Slava Pestov cdb5c30bd3 Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time 2008-11-03 03:51:28 -06:00
Slava Pestov 7fc44aa444 Add failing tests 2008-10-31 21:07:57 -05:00
Slava Pestov 94fa3929a8 Rice 2008-10-23 05:28:22 -05:00
Slava Pestov 325dbf3eef Fix regression 2008-10-20 21:07:55 -05:00
Slava Pestov ab61e5cd8c Fix performance problem 2008-10-20 05:56:13 -05:00
Slava Pestov d2dd7288b3 Fix parser bug with multi-line tuple literals 2008-10-08 23:43:37 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 34952ff5c4 Faster call-next-method 2008-10-01 08:20:49 -05:00
Slava Pestov c3f9d2180a Fix typo 2008-10-01 03:35:41 -05:00
Slava Pestov 78881e1368 Better error message with invalid tuple literals 2008-09-24 21:23:26 -05:00
Slava Pestov 3d790d8ac8 Memory ricing to make deploy tests pass on Mac OS X/PowerPC 2008-09-19 00:26:27 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Doug Coleman b1d26e100a use if/when/unless-empty, docs 2008-09-06 17:10:32 -05:00
Slava Pestov 32c2543571 Documentation fixes 2008-09-06 05:12:28 -05:00
Slava Pestov 57ca685e26 New tuple syntax 2008-09-05 20:39:45 -05:00
Doug Coleman 21dfb706fb more docs for classes 2008-09-05 16:30:58 -05:00
Slava Pestov d12f55be31 Fix unit test failure in compiler 2008-09-03 17:24:06 -05:00
Slava Pestov 6b07c85fec Minor fixes here and there for delegation slot removal 2008-09-03 06:05:50 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Doug Coleman 1e8358eff5 Merge branch 'master' of git://factorcode.org/git/factor 2008-09-02 02:09:54 -05:00
Slava Pestov 110a5e5162 Change equality semantics 2008-09-02 02:02:05 -05:00
Doug Coleman bef502adfc ENABLE NEW ACCESSORS 2008-09-02 01:56:06 -05:00
Slava Pestov 20380e613e Fix typo 2008-08-31 07:55:34 -05:00
Slava Pestov 0c304b8fc6 Removing old accessor usages from core and basis 2008-08-31 07:45:33 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 86e04a81dc Fix conflict 2008-08-30 02:32:17 -05:00
Slava Pestov 3cef7c9992 Smarter usage tracking system 2008-08-30 02:31:27 -05:00
Slava Pestov b3f3068bdc Massive focused action #1 2008-08-30 00:09:45 -05:00
Slava Pestov 85cdb1b767 Working on new compiled usage strategy; old one was wrong 2008-08-30 00:05:27 -05:00
Doug Coleman 90bc1bc0b5 use new accessor 2008-08-29 10:37:07 -05:00
Slava Pestov 74dccc7fbf Debugging compiler 2008-08-28 22:28:34 -05:00
Slava Pestov a4ac751605 Starting to remove delegation 2008-08-22 23:20:49 -05:00
Slava Pestov 8b855b2445 Help lint fixes 2008-08-22 23:00:35 -05:00
Slava Pestov 40e926609a Fixing unit tests 2008-08-22 22:07:59 -05:00
Slava Pestov 2440fc1ceb Fixing remaining issues 2008-08-22 17:38:23 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -05:00
Slava Pestov 95657e5742 Remove some funny retain stack usage 2008-08-18 20:13:24 -05:00
Slava Pestov 8b55b53269 Re-implement reverse to fix obscure problem 2008-08-18 16:40:50 -05:00
Slava Pestov 4cb64aaeb8 Fixing unit tests for eval word being moved 2008-07-29 00:05:01 -05:00
Slava Pestov d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00
Slava Pestov c6915b1023 Working on tuple slot propagation 2008-07-25 02:07:45 -05:00
Slava Pestov 0582f45fcb Add more class algebra opeations 2008-07-22 01:27:52 -05:00
Slava Pestov d0ae6bdb8f Make array length foldable 2008-07-16 16:48:09 -05:00
Slava Pestov 817035099c Fix erg's tuple definition bugs 2008-07-13 21:06:50 -05:00
Slava Pestov 966ef323bc Expand allocations for simpler intrinsics 2008-07-13 03:53:34 -05:00
Slava Pestov 8160859c8b Fixes 2008-07-12 13:12:45 -05:00
Slava Pestov 7ca3c2a878 Various minor compiler tweaks 2008-07-12 01:08:30 -05:00
Slava Pestov 2f560ffbe0 Fix typo 2008-07-11 17:46:57 -05:00
Slava Pestov 498986fe88 Fix tuple redefinition bug 2008-07-10 02:11:49 -05:00
Slava Pestov 5d9c1ea0a0 Documentation updates, rename unfold to produce 2008-07-10 01:00:27 -05:00
Slava Pestov a8808b7087 Non-optimizing compiler now inlow inlines some primitives, this improves bootstrap time 2008-07-07 10:39:04 -05:00
Slava Pestov 78d24d5a5d Fix unit test failures 2008-07-05 23:08:30 -05:00
Slava Pestov 1c92b20a9a Fix two bugs 2008-07-05 20:37:28 -05:00
Slava Pestov a8b826e8ed Fix hang 2008-07-05 17:08:01 -05:00
Slava Pestov 48671cfca7 Fix classes.algebra unit tests 2008-07-05 04:42:58 -05:00
slava 3dcc04675b Merge branch 'master' of git://factorcode.org/git/factor 2008-07-05 03:07:48 -05:00
slava 8321a41db0 Tweak to reduce image size; don't produce prototypes for tuples with all slots set to f 2008-07-05 03:07:25 -05:00
Slava Pestov 44c1c1f679 Move tuple-class to classes.tuple where it belongs 2008-07-05 00:59:39 -05:00
Slava Pestov 07d2dc58cd Fix unit test 2008-07-04 01:32:38 -05:00
Slava Pestov 091484de98 Fix ERROR:, erg's mixin bug 2008-07-04 01:32:11 -05:00
Slava Pestov ef2fddb1ec Fix conflict 2008-07-03 16:46:21 -05:00
Eduardo Cavazos c38298f0b5 classes.tuple: use sigma 2008-07-03 13:45:32 -05:00
Slava Pestov e876349c51 Fix tests 2008-07-03 02:50:45 -05:00
Slava Pestov 72d9c040b4 Improved ERROR: 2008-07-03 02:47:29 -05:00
Slava Pestov 2831cb8d9b Tweaking docs, change stage2 to load less stuff 2008-07-03 01:39:45 -05:00
Slava Pestov aeb2b9d701 Fixing unit test failures 2008-07-02 15:57:38 -05:00
Slava Pestov f7eecc7893 Move bit-arrays and float-arrays to extra 2008-07-02 02:03:30 -05:00
Slava Pestov 537269447c Move mirrors out of the boot image 2008-07-02 00:20:01 -05:00
Slava Pestov f8fd065fc5 Initial value for alien slots is a BAD-ALIEN 2008-07-01 16:33:45 -05:00
Slava Pestov 664631aa23 Fixing reshaping to work with type declaration 2008-07-01 16:16:02 -05:00
Slava Pestov dea3604264 Remove some usages of deprecated features 2008-06-30 05:22:05 -05:00
Slava Pestov fb8723bce1 Better optimizers for new, boa 2008-06-30 03:10:43 -05:00
Slava Pestov f7b7001f39 BOA constructors now check types 2008-06-30 01:44:58 -05:00
Slava Pestov 3b41e31584 More tuple declaration work 2008-06-29 21:37:57 -05:00
Slava Pestov 0be00f03e6 Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers 2008-06-29 02:12:44 -05:00
Slava Pestov b36e06d0d6 Builtinn types now use new slot accessors; tuple slot type declaration work in progress 2008-06-28 02:36:20 -05:00
Slava Pestov 3f520c3c79 Better error messages for when new or boa are applied to the wrong type 2008-06-26 20:47:36 -05:00
Slava Pestov 6e0d35e615 Split up huge parser vocabulary 2008-06-25 03:25:08 -05:00
Slava Pestov 045b657474 Move replicate into core; move selection sort into its own vocab; remove usages of and? and or? which are redundant now 2008-06-13 01:51:46 -05:00
Slava Pestov 685d53e264 Add gather word; faster 'implementors' using inverted index 2008-06-12 05:49:46 -05:00
Slava Pestov c1509d5fe5 Fix more redefinition problems 2008-06-11 20:46:53 -05:00
Slava Pestov 80720cea0d More redefinition fixes 2008-06-11 17:40:33 -05:00
Slava Pestov c95851e34f Bug fixes and cleanups 2008-06-11 02:58:38 -05:00
Slava Pestov 29fa4a8a54 assoc-find is no longer generic 2008-06-09 05:22:21 -05:00
Slava Pestov ba8f1388ab Fixing everything for mandatory stack effects 2008-06-09 02:14:14 -05:00
Slava Pestov 9dd5c9919f Mandatory stack effect annotations 2008-06-08 15:32:55 -05:00
Slava Pestov ec71ee0940 Bug fixes 2008-05-28 19:34:18 -05:00
Slava Pestov a251556024 Add failing unit tests 2008-05-23 17:33:57 -05:00
Slava Pestov 14d04a37aa Help lint fix 2008-05-11 02:12:36 -05:00
Slava Pestov a42756abac object is now an empty intersection 2008-05-11 01:37:37 -05:00
Slava Pestov 71cb0f9042 Disable some tests 2008-05-11 00:21:26 -05:00
Slava Pestov dd08bdfdd1 Class algebra changes 2008-05-10 23:59:02 -05:00
Slava Pestov 53cda42d44 Add failing test 2008-05-10 18:09:10 -05:00
Slava Pestov 315110eb09 Working on intersection classes 2008-05-10 18:09:05 -05:00
Slava Pestov 0a3429810c Fix classes.tuple unit test failures 2008-05-10 16:28:02 -05:00
Doug Coleman fd531c1a31 rename butlast to but-last 2008-05-07 01:38:34 -05:00
Slava Pestov 9fd7b12534 Merge branch 'master' of git://factorcode.org/git/factor 2008-05-07 00:40:17 -05:00
Doug Coleman 01f20cf32d update core to use butlast, butlast-slice 2008-05-06 12:36:49 -05:00
Slava Pestov 53832ccd2f Fix 2008-05-06 09:01:28 -05:00
Slava Pestov d1a3b64569 Fix class sorting again 2008-05-02 17:36:31 -05:00
Slava Pestov 5a29b2e273 Class linearization 2008-05-02 02:51:38 -05:00
Doug Coleman e264537a1a reverse the arguments of diff, assoc-diff
fix lots of usings
fix help-lint
2008-04-26 02:01:06 -05:00
Doug Coleman 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
Slava Pestov 55f6636bc0 FFI string encoding conversion 2008-04-20 05:15:46 -05:00
Slava Pestov 3b795b6a07 Fix class< bug 2008-04-19 02:11:40 -05:00
Slava Pestov 7f89cb73a1 Fix bootstrap 2008-04-14 05:27:04 -05:00
Slava Pestov 70bec926d0 New convention for parametrized constructors: new-* instead of construct-* 2008-04-14 05:07:31 -05:00
Slava Pestov d42ae9508f Merge with erg's changes 2008-04-14 04:42:43 -05:00
Slava Pestov 5fda0ed040 Throw error if superclass is not a tuple class 2008-04-14 03:54:02 -05:00
Doug Coleman 4597cab824 move some words to sets
write docs for sets
started on usings..
2008-04-14 02:20:37 -05:00
Doug Coleman 2edd0fefc9 new -> new-sequence
construct-empty -> new
construct-boa -> boa
diff -> assoc-diff
union -> assoc-union
intersect -> assoc-intersect
2008-04-13 22:58:07 -05:00
Doug Coleman 30b75a797a construct-boa -> boa
construct-empty -> new
2008-04-13 15:06:09 -05:00
Doug Coleman bced4022e5 updating usages of cond/case 2008-04-11 12:53:22 -05:00
Slava Pestov 0f4ac3a8dc Slot shadow warnings 2008-04-07 20:44:43 -05:00
Slava Pestov d5667fd4b1 Better hashcodes 2008-04-05 07:35:51 -05:00
Slava Pestov f7f43fa689 ABOUT: updates vocabulary 2008-04-05 07:00:09 -05:00
Slava Pestov d046c3b614 Documentation updates 2008-04-04 19:40:08 -05:00
Slava Pestov 8f8d78d73d Documentation updates 2008-04-04 09:57:06 -05:00
Slava Pestov 9e227d394e Remove redundant code 2008-04-04 05:09:58 -05:00
Slava Pestov b040d4d033 Convert prettyprinter to inheritance 2008-04-04 04:33:35 -05:00
Slava Pestov 82fc8f18db Converting core to use inheritance 2008-04-04 03:46:30 -05:00
Slava Pestov ef4046cda9 Converting code to use inheritance 2008-04-04 00:33:06 -05:00
Slava Pestov f2440381cd More documentation updates 2008-04-03 21:29:49 -05:00
Slava Pestov cc2f512287 New classes.builtin vocab 2008-04-03 21:19:20 -05:00
Slava Pestov 8245d65a6c Documentation updates 2008-04-03 19:08:34 -05:00
Slava Pestov 16377be935 Use call-next-method 2008-04-03 05:57:20 -05:00
Slava Pestov 54265a9f4c Final inheritance fixes 2008-04-03 04:58:37 -05:00
Slava Pestov 93d9722a6b Fix class resetting 2008-04-03 00:21:53 -05:00
Slava Pestov 192471badb Merge branch 'master' of git://factorcode.org/git/factor 2008-04-02 21:31:50 -05:00
Slava Pestov 5346e1899f Working on call-next-method, and identity-tuple 2008-04-02 21:27:49 -05:00
Slava Pestov 8fde3fb914 More inheritance debugging 2008-04-02 18:50:21 -05:00
Doug Coleman 7ec68e0aa7 singleton docs 2008-04-02 16:32:34 -05:00
Doug Coleman 47b54b1307 add singletons to core 2008-04-02 15:41:29 -05:00
Doug Coleman e62c3c323c fix unit test 2008-04-02 13:13:56 -05:00
Doug Coleman 11feb563eb move singletons to core 2008-04-02 13:11:55 -05:00
Slava Pestov 7a596ce004 Debugging inheritancE 2008-04-02 02:44:10 -05:00
Slava Pestov f96a43c42d Getting ready to drop in new dispatch code 2008-04-02 00:45:30 -05:00
Slava Pestov fa8b578370 Rewriting method dispatch to support inheritance 2008-04-02 00:28:07 -05:00
Eduardo Cavazos cc5ddd8d78 Resolve more add/add* items 2008-03-31 20:05:06 -06:00
Eduardo Cavazos 4f07aefc97 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:

	core/classes/tuple/tuple.factor
2008-03-31 19:42:21 -06:00
Eduardo Cavazos aa40350aa7 replace add* and add with prefix and suffix 2008-03-31 18:18:05 -06:00
Slava Pestov 8f0530daa6 More inheritance fixes 2008-03-31 03:40:27 -05:00
Slava Pestov 75497d7212 Add another unit test 2008-03-31 01:26:09 -05:00