Commit Graph

64 Commits (7e6385d9e8faf4a713d741b1f6425da64f7fc7ac)

Author SHA1 Message Date
John Benediktsson 7e6385d9e8 slots: make predicates return booleans. 2012-08-14 18:09:50 -07:00
Doug Coleman 3fc0c5d1ec slots: Don't coerce flots to integers in tuple slots. Add an initial value for bignums so they can be used as tuple slot types. Fixes #593. 2012-07-30 18:16:44 -07: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 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
Slava Pestov 081527628d Fix ambiguity between 'initial: f' and no initial value in a slot spec. Fixes #382 2011-11-12 15:35:51 -08: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
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
Slava Pestov d2d466de29 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
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
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 08b6ebc7fa Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 0f84d38a83 core: bootstrap fixes 2009-11-02 20:21:10 -06:00
Joe Groff 795b95021a make slot initial-values check the class for an "initial-value" word prop; set this word prop on classes.c-types types 2009-08-19 21:28:20 -05:00
Joe Groff 6136271344 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 15:48:07 -05:00
Slava Pestov bee6fa641e Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Joe Groff 344c138dbf fix bootstrap 2009-08-13 12:05:20 -04:00
Joe Groff 570ef8c9f8 extend T{ } syntax to build structs 2009-08-12 15:40:06 -04:00
Joe Groff 629f618579 tuple-ish structs 2009-08-11 22:13:18 -04: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 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 925c78e8a6 Don't make a curry 2009-05-04 05:15:48 -05:00
Doug Coleman 7eaa20a4c5 fix stack effect of n*quot, use iota in core/slots 2009-04-17 18:04:41 -05:00
Slava Pestov ab7f433aa2 Fix stack effect declarations for (>>foo) words 2009-03-31 23:39:11 -05:00
Slava Pestov 4fc2182ac8 define-generic and define-simple-generic now take stack effect parameters; math-combination is a singleton instead of a tuple 2009-03-22 18:00:26 -05:00
Slava Pestov 44815fd981 Better handling of case when user-defined accessor becomes auto-generated 2009-03-06 23:33:03 -06:00
Samuel Tardieu 087d931c36 Remove the tail argument from do/until/while 2009-02-18 02:41:14 +01:00
U-SLAVA-DFB8FF805\Slava 1cd285bcaa Slots with declared type of callable or quotation now have an initial value [ ] 2009-01-28 01:57:14 -06:00
Slava Pestov 2dc0757850 Cleanups 2009-01-21 19:55:47 -06:00
Slava Pestov daf2857d7b define-inline now takes an effect parameter
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov b154b21aaa Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once 2008-12-08 23:37:18 -06:00
Doug Coleman 37b9a350cc swap ... 3append -> surround in core 2008-12-06 18:42:41 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov dffbb120a3 SLOT: now defines the accessor words instead of just deferring them 2008-11-14 00:39:28 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov fdf75fe110 Remove slots.deprecated, remove unused slots from slot-spec tuple; last vestiges of old accessors are now gone forever 2008-09-03 18:47:52 -05:00
Slava Pestov c6915b1023 Working on tuple slot propagation 2008-07-25 02:07:45 -05:00
Slava Pestov 817035099c Fix erg's tuple definition bugs 2008-07-13 21:06:50 -05:00
Slava Pestov 7ca3c2a878 Various minor compiler tweaks 2008-07-12 01:08:30 -05:00
Slava Pestov f7eecc7893 Move bit-arrays and float-arrays to extra 2008-07-02 02:03:30 -05:00
Slava Pestov f8fd065fc5 Initial value for alien slots is a BAD-ALIEN 2008-07-01 16:33:45 -05:00
Slava Pestov f7b7001f39 BOA constructors now check types 2008-06-30 01:44:58 -05:00
Slava Pestov 3b41e31584 More tuple declaration work 2008-06-29 21:37:57 -05:00
Slava Pestov 0be00f03e6 Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers 2008-06-29 02:12:44 -05:00
Slava Pestov b36e06d0d6 Builtinn types now use new slot accessors; tuple slot type declaration work in progress 2008-06-28 02:36:20 -05:00
Slava Pestov 0b86e87544 Slots work in progress 2008-06-27 23:10:19 -05:00
Slava Pestov 9dd5c9919f Mandatory stack effect annotations 2008-06-08 15:32:55 -05:00
Eduardo Cavazos 4f07aefc97 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:

	core/classes/tuple/tuple.factor
2008-03-31 19:42:21 -06:00