Commit Graph

285 Commits (d38fe7a92c735f5770ac498fcf3cd617c8ec4ce5)

Author SHA1 Message Date
Doug Coleman c731dc6edb Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Doug Coleman df64529fb5 Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row 2011-10-24 16:59:46 -07:00
Doug Coleman f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson 5a943b32c4 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07:00
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
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 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 f0d22c7162 classes.tuple: minor fixes in tuple-examples article 2010-12-05 21:27:25 +09: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
Joe Groff 18f3df9d4a more help-lint 2010-03-09 21:02:43 -08: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
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 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 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 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
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 34287fd9d6 Minor documentation updates 2010-01-30 09:28:54 +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 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 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 c693587018 classes.algebra: cleanup 2009-11-10 17:41:47 -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
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
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 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
Doug Coleman 3313098936 use iota 2009-08-19 08:21:45 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Joe Groff 6fe7fe72c7 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-14 10:55:05 -04:00
Doug Coleman 3f3d57032b 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 ca592b9654 extend T{ } syntax to build structs 2009-08-12 15:40:06 -04:00
Joe Groff 25c3434892 pprint structs with tuple syntax 2009-08-12 13:16:43 -04:00
Brad Christensen f8405e9c55 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 cf826d80b0 classes.tuple: eliminate generic arithmetic from M: tuple = and M: tuple hashcode* 2009-07-18 02:09:56 -05:00
Joe Groff 7a88c5ae8a variants vocab for ADTs 2009-06-26 16:31:20 -05:00
Slava Pestov 29327a787c Remove initial-quot feature 2009-06-15 13:07:15 -05:00
Slava Pestov 285c8cecc6 Add some failing unit tests exposing bugs in initial-quot: implementation 2009-06-13 18:34:27 -05:00
Doug Coleman 258abe31ab add some unit tests for reshaping tuples with initial-quot: slots 2009-06-12 11:58:07 -05:00
Doug Coleman 99bfeb62c4 simplify implementation of initial-quot: 2009-06-12 11:45:53 -05:00
Doug Coleman 21a33419a7 initial-quot: works fully, need to make a couple simplifications 2009-06-12 09:21:51 -05:00
Doug Coleman 4bd06486fb make a word not generic, remove unit test for unimplemented feature 2009-06-11 20:20:21 -05:00
Doug Coleman 059eb399f0 add initial-quot: syntax for tuples 2009-06-11 19:48:14 -05:00
Slava Pestov 9c239694bf Update unit tests for parser note and lazy list changes 2009-05-16 13:41:11 -05:00
Slava Pestov 35ccf0231e 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
Doug Coleman 0ad6d1fb7b add a few usages of iota, remove most 1+ and 1- from core 2009-05-01 19:58:24 -05:00
Slava Pestov bba30dc284 Fix conflict from master 2009-04-27 17:09:09 -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 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 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
Doug Coleman aad6a3d504 fixing compiler error in core 2009-04-17 12:45:57 -05:00
Slava Pestov a0ba66080d Documentation updates suggested by dmpk2k 2009-04-10 03:52:53 -05:00
Slava Pestov 890553b776 Fixing tests for method-sec removal 2009-04-06 05:22:28 -05:00
Slava Pestov 7bf0a46d3d Updating tests for method-spec removal 2009-04-06 04:16:39 -05:00