Slava Pestov
bdec395130
Remove predicate-instance? hack; use call( instead
2009-03-16 20:49:19 -05:00
Slava Pestov
38c6be94d4
Fixing some stack comments
2009-03-16 06:17:18 -05:00
Slava Pestov
fe8b55bb90
Moving mixin instances between source files works better now
2009-03-16 00:04:34 -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
a23a6a2870
Forgetting a predicate class now updates predicate-instance? word
2009-03-13 04:22:16 -05:00
Slava Pestov
8f1240cf96
Forgetting a word doesn't call reset-word anymore, fixing an issue where a word calling a forgotten word wouldn't compile because the 'declared-effect' word prop was not set
2009-03-13 00:40:18 -05:00
Slava Pestov
667eca9410
Fix unit tests and help lint for 'see' move
2009-03-11 17:33:54 -05:00
Slava Pestov
bf663e830a
Changing a method into a generated slot accessor would result in the generated accessor being forgotten
2009-03-06 20:02:31 -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
25a877e50b
Merge OneEyed's patch
2009-02-28 17:06:55 -06:00
Slava Pestov
cd53c2bd37
produce and produce-as: don't need third quotation either
2009-02-28 15:31:34 -06:00
Slava Pestov
b4a61114e1
Merge branch 'master' into new_ui
2009-02-19 13:36:32 -06:00
Slava Pestov
60134eeb98
Documentation fixes
2009-02-19 13:35:53 -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
056e7aa442
Merge branch 'master' into new_ui
2009-02-13 18:12:35 -06:00
Doug Coleman
cdc5aa60b0
add a stack effect to tuple article
2009-02-13 10:48:11 -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
87e0110ff1
O(1) equal? and hashcode* for ranges
2009-01-28 23:33:26 -06:00
Slava Pestov
a9ef525aed
Help lint fixes for stricter help lint
2009-01-27 04:12:37 -06:00
Slava Pestov
92f9338978
Smart quotes
2009-01-26 23:20:27 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
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
Slava Pestov
c5160d76e9
Merge qualified, alias, symbols, constants into core
2008-12-17 18:10:01 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov
ea4feee886
Fix typo
2008-12-09 15:10:51 -06:00
Slava Pestov
7c1c97470f
tuple-class-unchanged? was bogusly returning f during bootstrap for classes without a superclass
2008-12-08 23:52:46 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Doug Coleman
37b9a350cc
swap ... 3append -> surround in core
2008-12-06 18:42:41 -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
Slava Pestov
8e69362512
Better error message for INSTANCE: if second arg is not a mixin
2008-12-03 09:33:32 -06:00
Slava Pestov
c49cbe5d9c
Fix typo in the docs
2008-12-03 04:07:36 -06:00
Slava Pestov
52c5b53e27
Refactoring usages of >r, r>, -rot, rot
2008-11-30 22:21:37 -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
3e29a31493
Residual fixes for curry/compose change
2008-11-21 05:17:20 -06:00
Slava Pestov
9bf63b1613
New $quotation markup element
2008-11-16 09:03:30 -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
9160e667a7
Fix tuple>array and tuple reshaping
2008-11-06 01:10:56 -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
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