Slava Pestov
4cc907e1af
compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping
2010-02-12 02:50:59 +13:00
Slava Pestov
b2ba7ea6ec
classes.algebra: remove class<=> -- it's never used and has incorrect semantics
2010-02-10 15:04:48 +13:00
Slava Pestov
b3c7b51a31
tools.deploy.shaker: don't try to intern all word props anymore
2010-02-04 17:40:53 +13:00
Slava Pestov
57a47d9566
Rename update to assoc-union!, add assoc-filter! assoc-diff! words
2010-02-04 02:55:00 +13:00
Slava Pestov
002d454aa7
classes.tuple: make error slots read only for small space savings
2010-02-03 23:11:25 +13:00
Brad Christensen
c37b4f5f61
A number of documentation fixes and cleanup.
2010-02-03 00:05:03 -07:00
Slava Pestov
03a74f2237
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
Slava Pestov
1f255d09e9
classes: more robust code for detecting circular inheritance, move it out of classes.tuple since predicate classes need the same check too
2010-02-01 00:08:18 +13:00
erikc
c84267aaf9
Merge up
2010-01-30 20:48:06 -08:00
erikc
4506512a16
Merge up
2010-01-30 20:39:43 -08:00
Slava Pestov
8e2e869ec5
stack-checker.dependencies: make conditional dependencies more robust
2010-01-31 01:55:35 +13:00
Slava Pestov
df16224ab2
Re-work flushed dependencies into new compiler cross-referencing framework
2010-01-30 09:29:00 +13:00
Slava Pestov
2138b55708
New 'conditional dependency' mechanism for more accurate recording of recompilation information
2010-01-30 09:28:57 +13:00
Slava Pestov
ee74d989df
classes.tuple: documentation fix
2010-01-30 09:28:56 +13:00
Slava Pestov
9662b5e096
Rename predicate-word to create-predicate-word and add a new predicate-word word
2010-01-30 09:28:55 +13:00
Slava Pestov
9d207cc913
Fix regression when forgetting classes
2010-01-30 09:28:55 +13:00
Slava Pestov
7c9250d5b2
Minor documentation updates
2010-01-30 09:28:54 +13:00
Slava Pestov
4f1ba2986a
classes.mixin: privacy please
2010-01-30 09:28:53 +13:00
Slava Pestov
ed7f8341e5
More changes so that mixins trigger even less recompilation
2010-01-30 09:28:53 +13:00
Slava Pestov
c591988707
classes.algebra: couple more tests
2010-01-30 09:28:53 +13:00
Slava Pestov
c178279454
Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics
2010-01-30 09:28:52 +13:00
Slava Pestov
37e03d2e01
Trying to fix mixin semantics
2010-01-30 09:28:51 +13:00
Slava Pestov
43a02cfa7c
classes.tuple: tests were changing superclass of vocab tuple
2010-01-27 20:24:33 +13:00
Slava Pestov
6889b0b7f9
vm: 'become' primitive needs to update literal references in code blocks
2010-01-27 18:42:31 +13:00
Slava Pestov
b6ddccd03a
slots, classes.tuple: make 'integer'-declared slots call >integer on the new value before storing it in, and remove code duplication between type checks in writer methods and boa constructors
2010-01-16 19:29:19 +13:00
Slava Pestov
880fb747fc
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Slava Pestov
08b6ebc7fa
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
43c1ae0a44
compiler.cfg: 'basic-block new hashcode' should not throw an exception; fixes tools.deploy.test.11
2009-11-16 02:01:36 -06:00
Slava Pestov
547abb5603
Unit test fixes
2009-11-13 23:00:50 -06:00
Slava Pestov
aa8feb7bdd
classes.algebra: output cleaner anonymous unions and intersections
2009-11-13 03:01:22 -06:00
Slava Pestov
004b92e175
classes.algebra: cleanup
2009-11-10 17:41:47 -06:00
Slava Pestov
d65296b334
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
Doug Coleman
1ee8c8f5eb
sigma -> map-sum
2009-10-29 14:34:04 -05:00
Doug Coleman
b5fd809209
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Slava Pestov
b8a51c7eb0
delete-nth -> remove-nth!
2009-10-27 23:41:57 -05:00
Slava Pestov
033be6800e
classes.builtin: fix help lint
2009-10-20 14:28:34 -05:00
Doug Coleman
b262a6800f
add missing usings
2009-10-10 14:04:22 -05:00
Doug Coleman
0470c5c291
fix the tuple subclassing example docs
2009-10-10 14:02:35 -05:00
Keith Lazuka
8f79ea91ba
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Joe Groff
4470bf994b
fix stack effect of ERROR: words that inherit slots from a base class
2009-09-29 12:52:13 -05:00
Doug Coleman
e8502d1ebc
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-21 17:59:48 -05:00
Slava Pestov
85c916fedc
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
Doug Coleman
47fab85a00
replace usages of <" with """
2009-09-20 22:42:40 -05:00
Joe Groff
2091f744bc
give a better error message when an invalid slot name is used in a tuple/struct literal
2009-09-16 18:07:39 -05:00
Slava Pestov
8aecdf13ab
classes.struct: fix some bugs
...
- STRUCT: foo<ENTER> in listener threw an error
- S{ did not throw an error when used with non-struct types
- attempting to subclass a struct class now fails
- forgetting a struct class now removes the corresponding C type
- 'see'ing a struct class now indents correctly
2009-09-10 15:59:27 -05:00
Slava Pestov
9f5577c368
classes.tuple: don't run out of memory inside 'instances' quotation if optimizing compiler is off
2009-09-02 05:19:20 -05:00
Doug Coleman
d46fc3ffeb
fix another tuple definition bug
2009-09-01 11:36:06 -05:00
Doug Coleman
11be3077a0
inheriting from itself would hang a tuple definition. only breaks if tuple is being redefined
2009-09-01 04:02:44 -05:00
Doug Coleman
873d3253ee
remove duplicate usings
2009-08-26 22:23:03 -05:00
Doug Coleman
f75b0ff178
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-22 21:24:02 -04:00
Joe Groff
5690fbff4c
decouple struct parsing/printing from tuple parsing/printing a bit
2009-08-19 18:53:44 -05:00
Joe Groff
6136271344
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-19 15:48:07 -05:00
Doug Coleman
d8bfff26f8
use iota
2009-08-19 08:27:28 -05:00
Doug Coleman
8996c4f2c3
use iota
2009-08-19 08:21:45 -05:00
Slava Pestov
cb0da8b66e
classes, words: fix unit tests for method inlining change
2009-08-18 17:20:17 -05:00
Slava Pestov
bee6fa641e
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Joe Groff
4033e46800
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-14 10:55:05 -04:00
Doug Coleman
d1ce837569
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
2009-08-13 19:21:44 -05:00
Joe Groff
570ef8c9f8
extend T{ } syntax to build structs
2009-08-12 15:40:06 -04:00
Joe Groff
e19d8b2e8a
pprint structs with tuple syntax
2009-08-12 13:16:43 -04:00
Doug Coleman
dc79446250
use ERROR: in several places instead of throwing strings
2009-08-11 23:09:02 -05:00
Brad Christensen
4b3ab95660
A number of documentation fixes.
...
* Short-circuit combinators now show correct stack effect for quots
* Groups and Clumps unchecked examples corrected, made runnable in listener
* Class operations had duplicate link to class-types
* Protocol slots readability fixed
* Tuple word property for "tuple-layout" corrected to "layout"
* cond>quot sentence started in lowercase
* Method precedence code example missing stack effect for GENERIC:, M: integer explain changed to detail an integer
* Motivation for default streams readability
* Default input and output streams duplicate readln link removed from output stream words section
* Looping combinators do description clarified
* Make philosophy missing space
* Linear order protocol duplicate after? link removed
* Parsing words readability fix
* Copied note regarding with-compilation-unit from define to define-declared and define-inline
2009-08-10 23:34:25 -07:00
Slava Pestov
edecc71380
classes.intersection: make flatten-class more accurate. It is still not perfect, but it fixes the case where a generic word has a method on a tuple class, and another method on an intersection of a mixin with another tuple classes
2009-08-07 22:30:57 -05:00
Joe Groff
b4befe3f69
[ [ ... ] compare ] sort => [ ... ] sort-with
2009-08-02 20:09:23 -05:00
Joe Groff
4adb86d37d
change-tracking-tuple class. subclasses will have a "changed?" slot that gets set to true when any slot is modified
2009-07-31 21:48:17 -05:00
Slava Pestov
073be4f340
classes.algebra: stack effect fix
2009-07-28 06:49:09 -05:00
Slava Pestov
4f4d6e12d1
classes.tuple: eliminate generic arithmetic from M: tuple = and M: tuple hashcode*
2009-07-18 02:09:56 -05:00
Slava Pestov
7f0c7602ce
More efficient singleton predicates
2009-07-17 17:41:33 -05:00
Joe Groff
915d753d99
variants vocab for ADTs
2009-06-26 16:31:20 -05:00
Slava Pestov
9eec019e9b
Remove initial-quot feature
2009-06-15 13:07:15 -05:00
Slava Pestov
48c31d441c
Add some failing unit tests exposing bugs in initial-quot: implementation
2009-06-13 18:34:27 -05:00
Doug Coleman
76d6b7dbb7
add some unit tests for reshaping tuples with initial-quot: slots
2009-06-12 11:58:07 -05:00
Doug Coleman
498a81fe42
simplify implementation of initial-quot:
2009-06-12 11:45:53 -05:00
Doug Coleman
717f1602e8
initial-quot: works fully, need to make a couple simplifications
2009-06-12 09:21:51 -05:00
Doug Coleman
8a80cacf5c
make a word not generic, remove unit test for unimplemented feature
2009-06-11 20:20:21 -05:00
Doug Coleman
d29c71d821
add initial-quot: syntax for tuples
2009-06-11 19:48:14 -05:00
Doug Coleman
f6d139bee2
fix stack effect
2009-05-28 12:28:52 -05:00
Doug Coleman
8da9d0f203
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
U-C4\Administrator
9c85bc8ce3
fix duplicate using lines
2009-05-17 20:29:32 -05:00
Slava Pestov
11fd309874
Update unit tests for parser note and lazy list changes
2009-05-16 13:41:11 -05:00
Slava Pestov
80d6233913
Fix even more usings
2009-05-16 10:45:17 -05:00
Slava Pestov
02d6c7ca17
Factor out parser note code into parser.notes vocabulary, and print a note if a using list contains duplicates
2009-05-16 09:40:17 -05:00
Slava Pestov
ba04d5af1e
Update documentation for stricter vocabulary search path semantics
2009-05-16 00:29:21 -05:00
Slava Pestov
3ebd4594e8
Implement stricter vocab search path semantics, with a new API for vocabs.parser. Add map-find-last to sequences vocab
2009-05-14 22:31:29 -05:00
Slava Pestov
3e9ca25344
Fix regression with: bad interaction between predicate classes and tuple inheritance, reported by Bruno Deferrari
2009-05-13 16:58:01 -05:00
Slava Pestov
d991690a47
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-04 05:16:47 -05:00
Slava Pestov
4d438a3edd
Remove cruddy string encoding/decoding code from VM
2009-05-02 13:45:38 -05:00
Doug Coleman
4057332535
add a few usages of iota, remove most 1+ and 1- from core
2009-05-01 19:58:24 -05:00
Slava Pestov
5b53562c7b
Add better error checking for INSTANCE: and GENERIC#, and remove unnecessary word props when generic word's combination changes
2009-04-28 17:56:15 -05:00
Slava Pestov
7b08accb7e
Merge branch 'master' into inline_caching
2009-04-27 16:14:45 -05:00
Joe Groff
0d03dea74b
factor out tuple literal slot parsing from the rest of tuple literal parsing
2009-04-26 15:59:26 -05:00
Slava Pestov
a14e5a4a3b
Better local cache
2009-04-26 08:06:37 -05:00
Slava Pestov
7aa65b5b5f
Fixing new method dispatch implementation
2009-04-25 19:41:27 -05:00
Slava Pestov
48e70b65fa
Move cross-referencing stuff to tools.crossref since compiler doesn't depend on it anymore, and compute cross-referencing index as needed; reduces image size by ~4Mb
2009-04-22 04:20:38 -05:00
Slava Pestov
97a522da0e
Fix conflict
2009-04-21 16:26:22 -05:00
Slava Pestov
bd8787d540
Tweak unit test in classes vocab to yield more information on failure
2009-04-21 16:23:54 -05:00
Slava Pestov
469c9ee21d
Debugging stack checking
2009-04-21 16:09:53 -05:00
Slava Pestov
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
8414693142
stack-checker: trust word declarations instead of recursively checking them
2009-04-20 18:44:45 -05:00
Doug Coleman
7a1841f59b
(( -- )) eval -> eval( -- )
2009-04-17 15:49:21 -05:00