Commit Graph

455 Commits (eb68676f31e727d1ef6572a96e625867fa8ff6a8)

Author SHA1 Message Date
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
John Benediktsson 378786599d Cleanup lint warnings. 2011-10-14 11:47:24 -07:00
Doug Coleman cca76e0f6e Rename forget-struct-slot-accessors -> forget-slot-accessors 2011-10-06 13:21:18 -07:00
John Benediktsson 7a4ffd92ed classes.tuple: can't assume hashcode* returns fixnum. 2011-10-06 11:53:50 -07:00
Doug Coleman be3eebf719 Document reset-class, forget-class, forget-method. Use lookup-method in see, fix gpu.render for method->lookup-method renaming. Fixes #232. 2011-10-04 10:40:48 -07:00
Doug Coleman 181f11faa8 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Doug Coleman 8504b17aad Rename spread>quot to deep-spread>quot, and spread>quot-shallow to shallow-spread>quot. 2011-10-02 20:25:39 -07:00
Doug Coleman 38feae0e8f Spread now infers with the correct stack effect. Make spread>quot-shallow which trims empty quotations off the head of the spread sequence. Fixes #139. 2011-10-02 18:35:01 -07:00
John Benediktsson 195d5834d4 classes.tuple: switch to python's tuplehash(). Fixes #153. 2011-10-02 13:49:45 -07:00
Doug Coleman 671f19d70f Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
John Benediktsson 86923107db classes.tuple: error-class should call-next-method before resetting itself. 2011-09-26 11:54:55 -07:00
John Benediktsson f099cd5b4c classes.tuple: adding test cases for error-class and support forget-class. 2011-09-26 11:00:32 -07:00
John Benediktsson 7ef1aecf88 Defining an "error-class", and printing error tuples out with ERROR:. See #188. 2011-09-26 11:00:32 -07:00
John Benediktsson d142dbb456 Revert "classes.singleton: fix "summary" of singletons. Fixes #145."
This reverts commit d820c86974.
2011-09-19 17:46:52 -07:00
John Benediktsson ac75393fbd Revert "classes.mixin: fix definitions for MIXIN:."
This reverts commit f625612f89.
2011-09-19 17:46:40 -07:00
John Benediktsson 8827cbdba1 classes.mixin: fix definitions for MIXIN:. 2011-09-19 17:22:50 -07:00
John Benediktsson 46c417370f classes.singleton: fix "summary" of singletons. Fixes #145. 2011-09-19 16:49:11 -07:00
Doug Coleman 035cc310d9 Fix for parser-notes? being removed 2011-09-07 04:59:35 -05:00
John Benediktsson 9f34c9c676 Spelling fixes to documentation. 2011-08-26 16:20:31 -07:00
otoburb 107d9dd385 Tuple subclassing help article: Fixed typo 2011-03-24 04:48:48 +00:00
Keita Haga 073eda332a In several documentation, remove whitespace before or after the colon or period 2011-02-10 01:51:13 +09:00
Keita Haga a2ad751f83 classes.tuple: minor fix to $errors section in the boa word's help page 2011-01-26 21:26:12 +09:00
Keita Haga 8f92ca2d47 classes.algebra, grouping, parser: replace 'seqence' with 'sequence' in docs 2011-01-04 21:02:11 +09:00
Keita Haga f0d22c7162 classes.tuple: minor fixes in tuple-examples article 2010-12-05 21:27:25 +09:00
Mitchell N Charity 8a269f56a4 algebra-docs: fix a typo 2010-09-09 17:39:11 -04:00
Slava Pestov 30dea58330 classes: remove fragile unit test 2010-08-21 18:10:09 -07:00
Slava Pestov 0f4c5d2bff classes.algebra: make it work better to fix bug reported by Sascha Matzke 2010-07-29 19:57:23 -04:00
Slava Pestov c04de94b96 compiler.tree.finalization: record dependencies on inlined predicates 2010-07-23 16:31:15 -07:00
Slava Pestov 8a0525e5ce Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word 2010-07-06 16:20:08 -04:00
Slava Pestov 627295f094 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Daniel Ehrenberg 512fe14e4e Merge branch 'bags' of git://github.com/littledan/Factor
Conflicts:

	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff 18f3df9d4a more help-lint 2010-03-09 21:02:43 -08:00
Daniel Ehrenberg 7364608417 Merge branch 'master' of git://factorcode.org/git/factor into bags 2010-03-02 17:04:45 -05:00
Joe Groff bb58cf4d16 classes.tuple.parser: throw bad-slot-name immediately when an invalid slot name in a tuple/struct literal is scanned 2010-02-28 20:14:16 -08:00
Daniel Ehrenberg da57436180 Finishing eliminating prune as a synonym of members 2010-02-27 14:52:24 -05:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Daniel Ehrenberg b76c82048d Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets 2010-02-26 12:07:37 -05:00
Joe Groff 21ab2ef6e7 repeated runs of classes.tuple test would fail because partially defined classes.tuple.tests:bad-superclass type would shadow classes.tuple:bad-superclass 2010-02-22 19:35:52 -08:00
Slava Pestov 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
Slava Pestov 31ccfa2e5d Fix unit test failures 2010-02-18 04:58:30 +13:00
Slava Pestov c5259f2e2c classes.tuple: document final class declaration 2010-02-18 04:13:34 +13:00
Slava Pestov c4c14c7ceb classes.tuple: fix screwup 2010-02-18 03:00:43 +13:00
Slava Pestov 60296be964 typed: only unbox final classes. Fixes bug reported by littledan 2010-02-18 02:39:12 +13:00
Slava Pestov 01824d41be Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final 2010-02-18 02:19:57 +13:00
Slava Pestov cd1986a906 classes: fix regression from recent bug fix 2010-02-15 23:46:55 +13:00
Slava Pestov 3e5e3a6d3f classes: call reset-generic on predicate word to avoid redefinition problems (reported by littledan) 2010-02-15 18:34:45 +13:00
Slava Pestov a118f208dc 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 83410e23cc classes.algebra: remove class<=> -- it's never used and has incorrect semantics 2010-02-10 15:04:48 +13:00
Slava Pestov f20b4e5607 tools.deploy.shaker: don't try to intern all word props anymore 2010-02-04 17:40:53 +13:00
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov a005e678db classes.tuple: make error slots read only for small space savings 2010-02-03 23:11:25 +13:00
Brad Christensen 9b9322ea1e A number of documentation fixes and cleanup. 2010-02-03 00:05:03 -07:00
Slava Pestov 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
Slava Pestov 3addfcc2ad 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 0770b940b0 Merge up 2010-01-30 20:48:06 -08:00
erikc f33c73bf94 Merge up 2010-01-30 20:39:43 -08:00
Slava Pestov 2c63161c84 stack-checker.dependencies: make conditional dependencies more robust 2010-01-31 01:55:35 +13:00
Slava Pestov 09ead56652 Re-work flushed dependencies into new compiler cross-referencing framework 2010-01-30 09:29:00 +13:00
Slava Pestov c027046857 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Slava Pestov 29fc287618 classes.tuple: documentation fix 2010-01-30 09:28:56 +13:00
Slava Pestov 4f68808a72 Rename predicate-word to create-predicate-word and add a new predicate-word word 2010-01-30 09:28:55 +13:00
Slava Pestov bd479db2f8 Fix regression when forgetting classes 2010-01-30 09:28:55 +13:00
Slava Pestov 34287fd9d6 Minor documentation updates 2010-01-30 09:28:54 +13:00
Slava Pestov 8b19b56a1c classes.mixin: privacy please 2010-01-30 09:28:53 +13:00
Slava Pestov 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov 066bf9a42f classes.algebra: couple more tests 2010-01-30 09:28:53 +13:00
Slava Pestov e6d1388dcc 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 af41dc6169 Trying to fix mixin semantics 2010-01-30 09:28:51 +13:00
Slava Pestov b63ec30449 classes.tuple: tests were changing superclass of vocab tuple 2010-01-27 20:24:33 +13:00
Slava Pestov 94c93f0bc7 vm: 'become' primitive needs to update literal references in code blocks 2010-01-27 18:42:31 +13:00
Slava Pestov d0dc6ba8af 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 df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov e30d275e41 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 bb8eabba36 Unit test fixes 2009-11-13 23:00:50 -06:00
Slava Pestov 14a4535ad9 classes.algebra: output cleaner anonymous unions and intersections 2009-11-13 03:01:22 -06:00
Slava Pestov c693587018 classes.algebra: cleanup 2009-11-10 17:41:47 -06:00
Slava Pestov 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
Doug Coleman 1d12a6707d sigma -> map-sum 2009-10-29 14:34:04 -05:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Slava Pestov 951e3e9c83 delete-nth -> remove-nth! 2009-10-27 23:41:57 -05:00
Slava Pestov 32adb5df27 classes.builtin: fix help lint 2009-10-20 14:28:34 -05:00
Doug Coleman 50d4eb27bf add missing usings 2009-10-10 14:04:22 -05:00
Doug Coleman 584cd44856 fix the tuple subclassing example docs 2009-10-10 14:02:35 -05:00
Keith Lazuka 405e5d015b docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Joe Groff 92e864b019 fix stack effect of ERROR: words that inherit slots from a base class 2009-09-29 12:52:13 -05:00
Doug Coleman b86314ec39 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-21 17:59:48 -05:00
Slava Pestov 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
Doug Coleman eceed177d6 replace usages of <" with """ 2009-09-20 22:42:40 -05:00
Joe Groff 748ba4b833 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 d5bc1ceca2 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 389f47086a 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 26cc551049 fix another tuple definition bug 2009-09-01 11:36:06 -05:00
Doug Coleman d46d063f5f 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 9a876a5255 remove duplicate usings 2009-08-26 22:23:03 -05:00
Doug Coleman f18aef2afb Merge branch 'master' of git://factorcode.org/git/factor 2009-08-22 21:24:02 -04:00
Joe Groff c898593983 decouple struct parsing/printing from tuple parsing/printing a bit 2009-08-19 18:53:44 -05:00
Joe Groff 15a7148de0 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 15:48:07 -05:00
Doug Coleman fadede137c use iota 2009-08-19 08:27:28 -05:00