Commit Graph

284 Commits (19cd3c1faedb2c7dc2c8c2e6ea39f90c194c8be3)

Author SHA1 Message Date
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
Slava Pestov ca2148fbf6 generic.single: simplify stack shuffling 2009-11-06 04:15:46 -06:00
Joe Groff 8399f6c58e remove spin from core and retire it to basis/shuffle 2009-11-05 15:40:48 -06:00
Joe Groff a279b360eb Merge branch 'master' into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -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
Joe Groff 81025d7095 move define-inline-method from classes.struct.private to generic.parser 2009-11-01 22:10:28 -06:00
Doug Coleman aabaccff5e fix a bunch of typos in docs 2009-10-21 17:40:43 -05:00
Slava Pestov 681245f19b Build fixes 2009-10-19 19:18:08 -05:00