Commit Graph

77 Commits (36b2ac97efd94119dbf0aa8618ae6c68265a43b8)

Author SHA1 Message Date
John Benediktsson f2deb82829 core: removing unnecessary method stack effects. 2020-09-09 15:00:53 -07:00
Doug Coleman 9f213f96f6 core: Add the shuffler words but without primitives.
The nipd branch slowed bootstrap by a minute, this patch does not.

sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
Doug Coleman e189954ecc core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ; 2017-06-02 11:57:05 -05:00
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
John Benediktsson 0bb297ed92 slots: silly formatting change. 2016-04-14 16:59:33 -07:00
Björn Lindqvist 85c3ccbb98 slots: add initial value for integer-array-capacity, fixes part of #1571 2016-03-21 18:10:39 +01:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman 02008979d9 factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon. 2015-08-12 15:26:18 -05:00
Doug Coleman 330c7ba156 factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Doug Coleman 44e8e7b344 primitives: Change PRIMITIVE: to check that the word is in that vocabulary and the stack effect is correct.
Use PRIMITIVE: in core/ and basis/
2015-06-25 18:02:03 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
Doug Coleman 632ee276e1 core: Remove trailing whitespace. 2014-10-31 01:14:31 -07:00
John Benediktsson 77e8346ec0 slots: fix typo, cleanup style a little bit. 2013-03-28 20:04:19 -07:00
John Benediktsson 6a1f280e88 slots: make predicates return booleans. 2012-08-14 18:09:50 -07:00
Doug Coleman 78db66a924 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 82c5388f68 classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman fac17c10ba classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 067f9830ef 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 03d6665166 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 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
Joe Groff 2bd6de9a02 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 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
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov df55fed478 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +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 857d0ba1fd core: bootstrap fixes 2009-11-02 20:21:10 -06:00
Joe Groff 06ecb30140 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 15a7148de0 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 15:48:07 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Joe Groff fd02e59ea1 fix bootstrap 2009-08-13 12:05:20 -04:00
Joe Groff ca592b9654 extend T{ } syntax to build structs 2009-08-12 15:40:06 -04:00
Joe Groff 3ac907cbc2 tuple-ish structs 2009-08-11 22:13:18 -04:00
Joe Groff 06eeedcb4c 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 b31fe9b8f2 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 3250c6935e 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