Commit Graph

40 Commits (875357c1bf16981fb85e7bfadeac74de09dd1b51)

Author SHA1 Message Date
John Benediktsson 3c4d232d58 locals.parser: fix docs. 2016-04-28 18:36:39 -07:00
John Benediktsson 51bafaeda4 locals.parser: move parse-binding to functors. 2016-03-15 10:34:07 -07:00
John Benediktsson e45e669fd6 locals.parser: change docs for with-lambda-scope. 2015-08-24 10:21:35 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
John Benediktsson 507dac7599 locals.parser: don't clone the manifest, just pop used words.
It seems the manifest gets cloned on restarts, which makes unuse-words
not work since it just checks ``eq?``. If we pop the last qualified
vocabs, then everything works.
2015-07-20 17:35:22 -07:00
John Benediktsson a08926653d locals.parser: fix bug where auto-use restarts weren't working properly. 2015-07-19 19:18:47 -07:00
John Benediktsson c9561e4f28 locals.parser: fix tests for now so we get clean builds. 2015-07-08 11:27:20 -07:00
John Benediktsson 8325837b84 locals.parser: fix help-lint warning. 2015-06-22 18:42:16 -07:00
John Benediktsson e69d0a7b45 locals.parser: only need to clone manifest. 2015-06-22 15:59:15 -07:00
Björn Lindqvist d32b9f9c90 locals.parser: docs for with-lambda-scope and some random doc additions 2015-06-22 11:15:48 +02:00
Björn Lindqvist 976961bfbd locals.parser: new word with-lambda-scope to handle lexical variables
better, fixes #1338

By cloning the relevant parts of the manifest, you ensure that the
quotation with-lambda-scope runs can't "leak" local names in case of
restartable errors.
2015-06-22 11:15:47 +02:00
John Benediktsson 72c95895e7 locals.parser: use qualified-vocabs. 2015-06-09 09:59:19 -07:00
Björn Lindqvist c2290aa141 locals.parser.tests: fixing the tcs so they work 2015-06-09 13:02:03 +02:00
Björn Lindqvist 92868fe778 locals.parser: fix for #1340, write locals directly to the manifest
The locals parser used to parse and store locals in the 'locals'
variable which was an alias to 'manifest get qualified-vocabs>> last
words>>'. For some reason, after a restart they become distinct
objects. An easy fix is to not alias the hash in the first place.
2015-06-09 13:02:03 +02:00
Björn Lindqvist 48138d548a locals.parser: small refactorings and unit tests 2015-06-09 13:02:03 +02:00
John Benediktsson 04a7a793d6 locals.parser: check for valid locals names. 2013-03-20 09:48:55 -07:00
Doug Coleman d33dc194ca core: in-definition -> with-definition. 2012-08-24 16:07:31 -07:00
Doug Coleman b06b6a8261 core: rename in-word-definition to in-definition 2012-08-24 16:04:49 -07:00
Doug Coleman 84402ccf7e core: Don't allow nested defintions in :, ::, M:, M::. Fixes #469. 2012-08-24 15:53:45 -07:00
John Benediktsson 559b5bfa5b using the new H{ } make. 2012-07-19 09:50:09 -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 f21fee3b73 Rename complete-effect to scan-effect 2011-10-17 10:25:27 -07:00
John Benediktsson 4558bf3414 Change method parsing to validate stack effects. Fixes #236. 2011-10-13 16:41:17 -07:00
Doug Coleman 76580da5d5 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
Slava Pestov 8a0525e5ce Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word 2010-07-06 16:20:08 -04:00
Slava Pestov 1b271f8202 locals: remove some dead code 2010-03-30 21:56:51 -04:00
Joe Groff 9bf5c76771 lexer: add "each-token" and "map-tokens", which are equivalent to "parse-token _ each/map" but incremental. update a smattering of parsing words (such as USING:, SYMBOLS:, etc.) to use each-token/map-tokens 2010-02-28 22:19:43 -08:00
Joe Groff d284d963fa :> ( a b c ) syntax to bind multiple variables left-to-right off the stack 2009-10-28 15:40:07 -05:00
Joe Groff c4e3c15c28 remove [let* ] and change [let ] to only establish a scope, leaving :> as the one true way of binding locals 2009-10-27 14:19:05 -05:00
Joe Groff 8f0321a0b1 remove [wlet ] 2009-10-26 23:17:40 -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 e0d48e3ab6 New utility word: complete-effect 2009-03-22 17:59:40 -05:00
Slava Pestov c0154c1391 Change (:) to parse effect immediately, and remove ( parsing word 2009-03-21 03:17:35 -05:00
Slava Pestov e4a0396550 Add parse-quotation hook to parser which locals overrides. '[ and [ use this hook. Fixes locals bug reported by erg 2009-03-06 19:48:04 -06:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Slava Pestov 4d080b8785 Fix bug in locals found by littledan: [let inside [let didn't work in top-level forms 2009-01-25 23:04:11 -06:00
Slava Pestov c5160d76e9 Merge qualified, alias, symbols, constants into core 2008-12-17 18:10:01 -06:00
Slava Pestov 6286f96379 :> now works 2008-12-09 01:04:22 -06:00
Slava Pestov 7771a3e511 :> word work in progress, split up llocals 2008-12-06 04:57:38 -06:00