Commit Graph

291 Commits (ed6ad6f12a3f0cfaf106786b17df72c829df2544)

Author SHA1 Message Date
Doug Coleman 9a22d35cb7 words: Change word -> last-word, set-word -> set-last-word. 2013-03-23 16:12:03 -07:00
John Benediktsson ca4cb44f7e compiler: more use of hash-sets. 2013-03-10 16:13:31 -07:00
John Benediktsson 3ffacf75d2 graphs: moving to basis. 2013-03-09 08:31:06 -08:00
John Benediktsson 26131a5c3e classes: store implementors in hash-sets. 2013-03-08 10:29:50 -08:00
Doug Coleman 11464e10bd core: in-definition -> with-definition. 2012-08-24 16:07:31 -07:00
Doug Coleman a335710021 core: rename in-word-definition to in-definition 2012-08-24 16:04:49 -07:00
Doug Coleman 1973ca3af1 core: Don't allow nested defintions in :, ::, M:, M::. Fixes #469. 2012-08-24 15:53:45 -07:00
John Benediktsson e654e4afd9 Using "same?" in more places. 2012-07-21 10:22:44 -07:00
John Benediktsson 7104c2d7b9 using the new H{ } make. 2012-07-19 09:50:09 -07:00
Doug Coleman dca84c4194 issue #358: Rename check-method and check-mixin-class TUPLE:s to ERROR:s. 2012-06-21 08:35:41 -07:00
Doug Coleman cb42258144 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Doug Coleman c3dcf43e03 core/basis: trim down using lists 2011-11-30 23:15:42 -08:00
Doug Coleman 30ade9023c classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman 627bce6615 classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods. 2011-11-22 15:12:20 -08:00
Doug Coleman d3a4e72f95 classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 14dbf929ee classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman be9f8a99f0 Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Doug Coleman 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson f2741b34a4 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
Doug Coleman 2530cf5657 Rename complete-effect to scan-effect 2011-10-17 10:25:27 -07:00
John Benediktsson 2eccaa5a82 generic.parser: adding tests. 2011-10-13 16:49:54 -07:00
John Benediktsson f3a70c2a99 Change method parsing to validate stack effects. Fixes #236. 2011-10-13 16:41:17 -07:00
Doug Coleman c7818fa326 Update docs for lookup-method. 2011-10-03 15:55:53 -07:00
Doug Coleman e75e2b1f14 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 300138eb4d 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
Joe Groff 571ef865e6 slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global 2011-09-19 10:03:43 -07:00
John Benediktsson 248b0df6fc Spelling fixes to documentation. 2011-08-26 16:20:31 -07:00
Keita Haga 815f33b80f generic: fix using to M\ example in docs 2010-12-05 05:11:38 +09:00
Slava Pestov 3ae7cccd74 generic.single: fix bug where dynamic and static dispatch didn't co-incide (reported by Mitchell N. Charity and others) 2010-08-21 18:12:00 -07:00
Slava Pestov bb22925d4b generic: clean up unit tests a bit 2010-08-21 13:04:37 -07:00
Daniel Ehrenberg 1b61e2e5cf 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 d4a0a69eb1 generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Daniel Ehrenberg 2b5af07494 Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth 2010-02-26 17:17:40 -05:00
Daniel Ehrenberg 0f0571e48a Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Slava Pestov daf2e5270c Get foldable and flushable declarations working on typed words 2010-02-24 00:16:55 +13:00
Slava Pestov 9cda3cf03e Minor documentation fixes 2010-02-18 01:19:39 +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 29e1d268b7 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +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 7f664a6387 Fix a couple of unit tests that were relying on the old compiler crossref structures 2010-01-31 23:26:55 +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 ed7f8341e5 More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov 421a244281 Throw a nice error at parse time if an attempt is made to declare a GENERIC: or MACRO: word inline. Such words cannot be inlined, and doing this before previously result in confusing error messages 2010-01-27 21:00:10 +13:00
Slava Pestov 206e03ee50 generic, sequences: update docs for iota 2010-01-15 08:23:27 +13:00
Joe Groff ebcaaa0d64 Merge branch 'master' into simd-cleanup 2009-11-26 16:14:46 -08:00
Slava Pestov 08b6ebc7fa Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Joe Groff 96060c32e9 Merge branch 'master' into simd-cleanup 2009-11-08 21:54:53 -06:00
Slava Pestov a4b760e9ad generic, words: update unit tests for deopt data structure change 2009-11-08 19:44:04 -06:00
Joe Groff b09b0f0686 Merge branch 'master' into simd-cleanup 2009-11-07 22:26:09 -06:00