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