Commit Graph

29 Commits (0216f9f6d151ef1a32c9699ef88bd565bbafbcb3)

Author SHA1 Message Date
John Benediktsson 0216f9f6d1 namespaces: rename namestack* to (get-namestack) for consistency. 2015-08-13 17:53:07 -07:00
John Benediktsson f88febc03e namespaces: remove is-global word. 2015-08-13 17:46:40 -07:00
Doug Coleman c21a154056 core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack. 2015-08-13 10:11:59 -07:00
John Benediktsson 9d3a654443 namespaces: removing make-assoc in favor of explicit get's. 2014-04-24 09:16:14 -07:00
John Benediktsson 2dafe964fd namespaces: counter should be inlined for globals optimization to work. 2012-08-02 15:14:21 -07:00
John Benediktsson c22893eec8 namespaces: do not create globals via "foo get". 2012-07-20 15:09:06 -07:00
John Benediktsson 7a615ae33b help: don't make word help create global boxes. 2012-07-20 12:00:47 -07:00
Doug Coleman 46b06e28a6 namespaces: Oops, one escaped the lab 2012-07-20 08:38:53 -07:00
Doug Coleman 42f4dc36b2 namespaces: Rename ``bind`` to ``with-variables``. Update a few places that called ``global [ ] with-variables`` to use ``with-global``. 2012-07-19 00:02:47 -07:00
Doug Coleman 3ba787b277 core/basis: trim down using lists 2011-11-30 23:15:42 -08:00
Joe Groff 16e510bc76 namespaces: rework so a singleton isn't necessary
Make global foldable, and make the underlying global object a hashtable wrapper. Also, use a tuple instead of a generic array for the global box type.
2011-11-28 18:25:27 -08:00
Joe Groff a1b730e867 namespaces: make set-global/get-global foldable
Store the globals hashtable as an array of boxes so that the key-to-reference mapping is constant. Use a singleton and an unfoldable "box-at" word so that get-global and set-global optimize to direct operations on the associated box when the variable name is a compile-time constant. Fixes #200.
2011-11-28 18:25:27 -08:00
Joe Groff 186bf65a00 constants for special object hardcoded literals 2011-11-02 12:54:50 -07:00
Doug Coleman 53c6d08b54 Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too. 2011-10-29 01:05:38 -07:00
John Benediktsson 6417f36397 namespaces: adding a "with-global" word to replace "global [ ] bind". 2011-10-13 17:21:59 -07:00
Slava Pestov 6aee6b3adc Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct 2010-03-18 22:06:00 +13:00
Slava Pestov 1c10196c43 Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side 2010-01-13 18:08:18 +13:00
Doug Coleman 407377fc98 rename peek -> last and update all usages 2009-05-25 16:38:33 -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 9bb70c2c4d Update usages of global ... change-at to use the new change-global combinator 2009-04-30 21:38:14 -05:00
Sam Anklesaria 53302edb15 moved change-global to namespaces 2009-04-28 20:37:00 -05:00
Slava Pestov 932d44cab8 Small speedup for code using H{ } clone and with-scope 2009-03-31 08:16:04 -05:00
Slava Pestov 591472f7a9 Clean up namespaces a bit 2009-02-20 20:51:51 -06:00
Joe Groff 1708d10c9a add initialize word to namespaces. foo global [ [ bar ] unless* ] curry => foo [ bar ] initialize 2009-02-10 13:02:33 -06:00
Slava Pestov 0290be6e93 Exploit the fast-path for allocation of array with initial element 0 by changing
new-sequence on arrays, the vector constructor, and resize-array, called when
growing vectors, to fill arrays with 0 instead of f. user code never observes the
initial value in these situations anyway. small speedup on bootstrap
2008-12-06 18:37:28 -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 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov 15fa72da9c No point having get/set-global inline 2008-01-18 02:39:24 -05:00
Slava Pestov a96457cecc Initial import 2007-09-20 18:09:08 -04:00