Slava Pestov
6080c6e734
Fix stack effect redefinition
2009-03-22 20:16:31 -05:00
Slava Pestov
4fc2182ac8
define-generic and define-simple-generic now take stack effect parameters; math-combination is a singleton instead of a tuple
2009-03-22 18:00:26 -05:00
Slava Pestov
38c6be94d4
Fixing some stack comments
2009-03-16 06:17:18 -05:00
Slava Pestov
1fab364299
Updating some unit tests
2009-03-16 00:05:43 -05:00
Slava Pestov
943f0ee10f
Add test cases for problem with moving mixin instances and methods between vocabularies
2009-03-15 18:33:29 -05:00
Slava Pestov
bf41b187b0
Re-organize code so that with-compilation-unit can infer
...
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
Slava Pestov
667eca9410
Fix unit tests and help lint for 'see' move
2009-03-11 17:33:54 -05:00
Slava Pestov
abab72f80c
Move 'see' to its own vocabulary, and fix excess newlines after panes change
2009-03-11 07:18:24 -05:00
Slava Pestov
bfb6b4642a
Consultations now implement the definition protocol; removing one from a source file forgets consulted methods
2009-03-07 00:42:43 -06:00
Slava Pestov
37bc52afa8
Redefining methods didn't always update callers if more than one method on the same generic was redefined in a compilation unit
2009-03-06 23:33:30 -06:00
Slava Pestov
ec186a23dc
Make watch and other annotations work on method-specs. { world graft* } watch
2009-03-06 13:32:07 -06:00
Slava Pestov
ca7a155b72
Merge branch 'master' into new_ui
2009-03-01 20:13:05 -06:00
Slava Pestov
03cb32ad9c
Make execute( faster, add execute-unsafe( and make effect tuple slots read only
2009-03-01 20:12:35 -06:00
Slava Pestov
ce1bc1d6ed
Fixing conflicts from stack checker changes
2009-02-24 01:21:10 -06:00
Slava Pestov
421ee726b8
Merge branch 'master' into new_ui
2009-02-16 21:22:12 -06:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -06:00
Slava Pestov
669548e62e
Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary
2009-02-02 13:43:54 -06:00
Doug Coleman
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
Slava Pestov
1951d739a0
Stack effect declarations are mandatory on all words now
...
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
ca2f01e0d0
Updating non-core libraries for monotonic? change
2009-01-16 17:02:54 -06:00
Slava Pestov
de3a4f5462
Change some dup ... swap to bi and keep
2008-12-15 21:20:32 -06:00
Slava Pestov
e4f8448eb1
Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
...
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Doug Coleman
0e14f767ee
core: swap 3append -> glue
2008-12-03 19:12:48 -06:00
Slava Pestov
0ba5304ee3
Fix assocs, generic.standard tests
2008-12-03 03:44:08 -06:00
Slava Pestov
c43690a8fb
Didn't pass help lint because of obsolete example
2008-11-29 00:37:46 -06:00
Slava Pestov
eb8c621b6f
Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch
2008-11-28 08:35:02 -06:00
Slava Pestov
92cc760070
Fixes
2008-11-28 01:11:03 -06:00
Slava Pestov
817510cdb9
Another attempt at size reduction
2008-11-28 01:08:16 -06:00
Slava Pestov
c8f227ccf7
Tweak standard-next-method-quot to produce smaller quotations
2008-11-28 00:56:54 -06:00
Slava Pestov
b19e87ea75
Fix corner case where auto-use didn't print using list
2008-11-24 16:28:35 -06:00
Slava Pestov
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
Slava Pestov
3e7afcac29
(call-next-method) now takes a method instead of a class and a generic
2008-11-22 19:57:25 -06:00
Slava Pestov
9bf63b1613
New $quotation markup element
2008-11-16 09:03:30 -06:00
Slava Pestov
93e9e34175
Add $maybe markup element
2008-11-16 06:02:13 -06:00
Slava Pestov
4858a2ea74
Simplify inline? now that generic words can't be inline anymore
2008-11-13 09:33:18 -06:00
Slava Pestov
ef6206d4bb
Try to optimize generic dispatch to speed up + on fixnums, nth on arrays for example
2008-11-13 03:51:04 -06:00
Slava Pestov
1d630b6cf2
Minor documentation fixes
2008-11-11 10:51:15 -06:00
Slava Pestov
33a082c361
Fix reference to obsolete G: word
2008-11-10 02:43:16 -06:00
Slava Pestov
63a9975a0e
Support inline, foldable, flushable on methods; add declarations in a couple of places for ricing purposes
2008-11-06 13:13:37 -06:00
Slava Pestov
d2b2cda596
Sort methods by tag, this speeds up >fixnum in the common case where the input is a fixnum
2008-11-06 10:44:06 -06:00
Slava Pestov
a95bb533b5
Remove more redundant branches from tuple type predicates and generic words with methods on tuple classes
2008-11-06 09:08:17 -06:00
Slava Pestov
aac256324f
lo-tag-dispatch-engine now sorts tags, this ensures that >fixnum compiles more efficiently
2008-11-06 00:02:10 -06:00
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
4e98751ce0
Remove a conditional branch from all tuple dispatches, since we don't have to check if the class height is at least 1; and remove memory accesses from tuple dispatch where all tuples are height 1
2008-11-05 20:23:38 -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
2fb17458e3
Fix duplication
2008-10-28 16:22:54 -07:00
Slava Pestov
95eb0f696b
Rice
2008-10-23 05:28:04 -05:00
Slava Pestov
c54668596d
More efficient hi-tag accessor
2008-10-11 13:58:41 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
e1a2bfc048
Oops
2008-10-01 08:38:50 -05:00
Slava Pestov
34952ff5c4
Faster call-next-method
2008-10-01 08:20:49 -05:00
Slava Pestov
0c8e2584b4
Fixing unit tests for make, fry changes
2008-09-11 00:20:06 -05:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Slava Pestov
7bc32975ee
Fix erg's bug
2008-09-03 23:38:32 -05:00
Slava Pestov
110a5e5162
Change equality semantics
2008-09-02 02:02:05 -05:00
Slava Pestov
3b24b52673
Omit default method from usage lists
2008-09-01 04:32:26 -05:00
Slava Pestov
f5fbd94a4c
New compiled crossref implementation
2008-08-31 01:34:00 -05:00
Slava Pestov
3cef7c9992
Smarter usage tracking system
2008-08-30 02:31:27 -05:00
Slava Pestov
85cdb1b767
Working on new compiled usage strategy; old one was wrong
2008-08-30 00:05:27 -05:00
Slava Pestov
c9df16e931
Tweak XML-RPC
2008-08-29 04:33:05 -05:00
Slava Pestov
6ead724b25
Fixing bugs
2008-08-29 04:23:39 -05:00
Slava Pestov
74dccc7fbf
Debugging compiler
2008-08-28 22:28:34 -05:00
Slava Pestov
91059b4ad6
Documentation update
2008-08-23 20:24:54 -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
95657e5742
Remove some funny retain stack usage
2008-08-18 20:13:24 -05:00
Slava Pestov
6726b0b920
Fix typo
2008-07-29 21:31:58 -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
0582f45fcb
Add more class algebra opeations
2008-07-22 01:27:52 -05:00
Slava Pestov
ac2bf0b87d
Adding inline recursive declarations
2008-07-18 19:22:59 -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
e6282fe1a8
Performance improvements
2008-07-06 01:37:11 -05:00
Slava Pestov
78d24d5a5d
Fix unit test failures
2008-07-05 23:08:30 -05:00
Slava Pestov
b0d11073d6
Fix step-into on generic words and call-next-method in walker
2008-07-05 00:59:28 -05:00
Slava Pestov
8347710dd5
Help lint fixes
2008-07-04 02:52:27 -05:00
Slava Pestov
537269447c
Move mirrors out of the boot image
2008-07-02 00:20:01 -05:00
Slava Pestov
b9aa005310
More unit test fixes, load fixes
2008-06-30 05:13:50 -05:00
Slava Pestov
77c4d97785
Some unit test fixes
2008-06-30 03:57:00 -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
6e0d35e615
Split up huge parser vocabulary
2008-06-25 03:25:08 -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
014d2ea31c
Cleaning up and debugging corss-referencing
2008-06-06 20:47:09 -05:00
Slava Pestov
ec71ee0940
Bug fixes
2008-05-28 19:34:18 -05:00
Slava Pestov
3ee56c3a68
Add extract-keys word
2008-05-22 22:41:48 -05:00
Slava Pestov
0a3429810c
Fix classes.tuple unit test failures
2008-05-10 16:28:02 -05:00
Slava Pestov
5d61651cb2
Changing method combination would delete methods
2008-05-10 15:56:30 -05:00
Slava Pestov
fa1938eda1
Move unclip-last to sequences
2008-05-05 00:13:17 -05:00
Slava Pestov
5a29b2e273
Class linearization
2008-05-02 02:51:38 -05:00
Doug Coleman
32814ffce5
<=> outputs +lt+ +eq+ +gt+
2008-04-27 18:57:46 -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
2d2b3ec904
Partial dispatch on integer operations
2008-04-18 16:51:09 -05:00
Slava Pestov
d7272871fe
Remove commented out code
2008-04-17 04:14:55 -05:00
Slava Pestov
deb51fbd00
Don't emit first engine in the sequence
2008-04-17 03:07:17 -05:00
Doug Coleman
30b75a797a
construct-boa -> boa
...
construct-empty -> new
2008-04-13 15:06:09 -05:00
Slava Pestov
615f7057e4
Omit tuple dispatch engines from usage listings
2008-04-12 19:05:06 -05:00
Doug Coleman
dbac0a1543
Merge branch 'master' of git://factorcode.org/git/factor
2008-04-11 12:59:20 -05:00
Doug Coleman
bced4022e5
updating usages of cond/case
2008-04-11 12:53:22 -05:00
Slava Pestov
0c7e742b8c
step-into for hooks
2008-04-11 08:35:07 -05:00
Slava Pestov
29406f07eb
Fix declaration
2008-04-05 21:30:16 -05:00
Slava Pestov
871831fdae
Fixing hook stack effects
2008-04-05 20:07:30 -05:00
Slava Pestov
ef4046cda9
Converting code to use inheritance
2008-04-04 00:33:06 -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
e006aca541
Walker: step directly into the effective method
2008-04-03 17:33:06 -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
337d582a81
Fix call-next-method
2008-04-02 21:31:41 -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
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
Slava Pestov
8f3fd992a1
Merge branch 'master' of git://factorcode.org/git/factor
2008-04-01 01:40:37 -05:00
Slava Pestov
2223633b43
Tweak
2008-04-01 01:40:30 -05:00
Eduardo Cavazos
aa40350aa7
replace add* and add with prefix and suffix
2008-03-31 18:18:05 -06:00
Slava Pestov
690621ffb6
Change PREDICATE: syntax
2008-03-26 18:23:19 -05:00
Slava Pestov
8d7367674c
Class algebra refactoring
2008-03-24 19:52:21 -05:00
Slava Pestov
dffb45908c
Fixing help failures
2008-03-20 19:56:30 -05:00
Doug Coleman
936bd26a3a
update core/ to use ERROR:
2008-03-20 15:00:49 -05:00
Doug Coleman
d0b348591a
path+, prepend
2008-03-19 19:15:43 -05:00
Slava Pestov
993a647ccc
Parser fixes
2008-03-18 21:43:29 -05:00
Slava Pestov
ec698b7f53
Parser overhaul
2008-03-16 02:43:00 -05:00
Slava Pestov
32526206f1
Help fixes
2008-03-11 19:51:58 -05:00
Slava Pestov
b6b8ab32b5
Fixing unit tests
2008-03-05 16:24:32 -06:00
Slava Pestov
18d8f449b9
Remove unnecessary method tuple, move its slots to word properties
2008-03-04 22:13:30 -06:00
Slava Pestov
e98cd1fd59
New convention for unit tests
2008-03-01 17:00:45 -05:00
Slava Pestov
cc600ad54f
Cleanups and fixes
2008-02-23 22:48:45 -06:00
Slava Pestov
b44b334a02
Fix a smudging bug
2008-02-23 22:29:29 -06:00
Slava Pestov
fa07776250
Fix stack effects for hooks
2008-02-17 00:37:54 -06:00
Slava Pestov
9c684bf1c5
Fixing some bugs, tweaking optimizer inlining
2008-02-16 18:50:16 -06:00
Slava Pestov
a71665d821
Fix bad interaction between annotations and generic words
2008-02-16 15:55:25 -06:00
Slava Pestov
333bf9ce16
Clean up math combination
2008-02-14 20:27:34 -06:00
Slava Pestov
e66e6d70e4
Moved dispatch to sequences.private
2008-02-11 01:19:53 -06:00
Slava Pestov
5ca99b0105
Fix 'class' in early bootstrap
2008-02-09 14:17:15 -06:00
Slava Pestov
8428f66933
Fixing unit tests
2008-02-06 15:00:10 -06:00
Slava Pestov
be2c8b13d7
Rename unit-test-fails to must-fail and add must-fail-with to replace [ t ] [ [ ... ] catch ... ] unit-test idiom
2008-02-06 13:47:19 -06:00
Slava Pestov
548e6dce47
Fixing crossreferencing
2008-02-06 12:09:42 -06:00
Slava Pestov
2d3298d611
Method usages cleanup
2008-02-04 23:30:59 -06:00
Slava Pestov
77a2a2136a
Better method usages work in progres
2008-02-04 19:43:10 -06:00
Slava Pestov
2872bc9d30
More method cleanups
2008-02-04 19:38:31 -06:00
Slava Pestov
dee25cda13
New generic word implementation reduces compile time
2008-02-04 16:20:07 -06:00
Slava Pestov
1dbd54293c
Clean up generic words a little bit
2008-02-03 14:19:07 -06:00
Slava Pestov
60290fbf52
Fix littledan bug #2
2008-01-31 00:49:18 -06:00
Slava Pestov
b36ab0b048
Optimization
2008-01-17 17:55:51 -05:00
Slava Pestov
554a0d3877
Documentation updates
2008-01-11 03:32:25 -05:00
Slava Pestov
542b85889d
Fix unit tests
2008-01-09 19:13:26 -05:00
Slava Pestov
c8360f5ae5
Rename curry* to with
2008-01-09 17:36:30 -05:00
Slava Pestov
ed29e2e5aa
Notify definition-observers when words are forgotten
2008-01-09 17:51:55 -04:00
Slava Pestov
07e5441b14
Definition protocol cleanup
2008-01-06 12:13:44 -04:00
Slava Pestov
b7327b6228
Redo the profiler
2008-01-02 20:36:36 -04:00
Slava Pestov
64b06f059a
Unit test fixes
2007-12-30 17:14:15 -05:00
Slava Pestov
9c1454ef68
Rename real/imaginary slots of complex to real-part/imaginary-part to avoid clashing with the real class word; fix bug where redefining a generic as a class leaves the word in a weird state
2007-12-27 17:26:39 -05:00
Slava Pestov
9de32c7b2d
Remove temporary hack now that new JIT works
2007-12-26 20:20:49 -05:00
Slava Pestov
7c75697ff3
Assorted fixes
2007-12-24 20:56:23 -05:00
Slava Pestov
6814e07f49
Unit test fixes
2007-12-24 19:40:09 -05:00
Slava Pestov
07a4022d62
Parser, definitions, source-files refactoring work in progress
2007-12-21 21:18:24 -05:00
Slava Pestov
d7217801c3
Documentation fixes
2007-12-11 22:36:40 -05:00
Slava Pestov
588da9ab15
Documentation updates
2007-10-24 02:24:17 -04:00
U-SLAVA-FB3999113\Slava
8b54248c50
Get core unit tests to pass without number tower
2007-10-14 21:13:42 -04:00
Slava Pestov
c64c2e8df8
Use forget-all in forget-vocab
2007-10-09 17:41:35 -04:00
Slava Pestov
6d3aa439c2
forget-all word
2007-10-09 17:35:09 -04:00
Slava Pestov
a75c6ebb22
Update unit test
2007-09-28 00:16:09 -04:00
Slava Pestov
cdad6df422
Fixing inference after cleanup
2007-09-27 04:50:24 -04:00
Slava Pestov
5e2c7e769d
Clean up inference and fix hygiene issue with macros
2007-09-27 04:00:54 -04:00
Slava Pestov
a96457cecc
Initial import
2007-09-20 18:09:08 -04:00