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
Doug Coleman
f0b6494c76
memoize: implement identity memoize, trim using lists so bootstrap continues to work
2011-11-30 14:41:32 -08: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
Daniel Ehrenberg
aa6158b366
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Daniel Ehrenberg
eb060443db
Updating code to use require-when rather than vocab [ require ] when
2010-03-18 01:13:37 -04:00
Joe Groff
3fbe722561
Merge branch 'master' of http://factorcode.org/git/factor
...
Conflicts:
basis/locals/locals.factor
basis/peg/peg.factor
extra/infix/infix.factor
2009-10-28 16:17:24 -05: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
Doug Coleman
93de179c2f
over push -> suffix!, over push-all -> append!
2009-10-28 15:29:01 -05:00
Doug Coleman
7ce4b746e5
parsed -> suffix!, add append!
2009-10-28 13:38:27 -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
c0154c1391
Change (:) to parse effect immediately, and remove ( parsing word
2009-03-21 03:17:35 -05:00
Slava Pestov
ea60f8ae93
Changing : foo ; parsing to SYNTAX: foo ;
2009-03-21 01:27:50 -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
6286f96379
:> now works
2008-12-09 01:04:22 -06:00
Slava Pestov
f6d45158bb
Fix locals conflict
2008-12-08 15:28:27 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Slava Pestov
7771a3e511
:> word work in progress, split up llocals
2008-12-06 04:57:38 -06:00
Slava Pestov
90409502e3
Fix [wlet after recent locals refactoring broke it
2008-12-03 06:13:05 -06:00
Slava Pestov
402da00390
Fixing bootstrap with specialized arrays
2008-12-02 02:44:19 -06:00
Slava Pestov
1c382605b2
Fix typo
2008-12-02 00:24:08 -06:00
Slava Pestov
e8a69a3aea
Fix conflict
2008-11-29 05:14:49 -06:00
Slava Pestov
6dfce7d4e7
load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive
2008-11-27 22:30:29 -06:00
Slava Pestov
a729e72b7e
Fixing some problems with the locals implementation:
...
- Smart combinators now work with wlet words
- Expansion no longer usees >r/r>
- Hook into fry so that fry and locals can work as expected
- Document limitations of locals with macros in more detail, remove mention of >r/r> limitation since those two words are going away anyway
2008-11-27 21:55:46 -06:00
Slava Pestov
d334c60897
Fix literal rewriting for macro expansions that use fry to splice in a quot
2008-11-26 00:59:12 -06:00
Slava Pestov
418353b99e
Locals-in-literals rewriting was broken if a lambda was nested inside of an array
2008-11-25 23:03:55 -06:00
Slava Pestov
9628bcd646
New 'expect' word, which is a more correct version of the 'scan assert=' idiom
2008-11-22 17:27:40 -06:00
Eduardo Cavazos
e53d02bc5e
locals: Allow comments in binding forms
2008-11-22 06:45:12 -06:00
Slava Pestov
6324b4dd65
Fix some bugs in locals, throw a parse time error if usage of >r r> is detected
2008-11-21 05:18:41 -06:00
Slava Pestov
281657dd82
Fix conflict
2008-11-18 22:18:14 -06:00
Eduardo Cavazos
930f3d0edc
locals: Allow 'local-reader' in literals
2008-11-17 21:26:16 -06:00
Slava Pestov
2fe364a7bb
Specialized arrays work in progress
2008-11-14 20:18:16 -06:00
Slava Pestov
26f309d2ae
Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local
2008-11-11 18:46:31 -06:00
Slava Pestov
fbb958da82
Fix lambda-method forget
2008-11-05 18:59:58 -06:00
Slava Pestov
58a44f12e5
Fix erg's MEMO:: bug
2008-10-17 16:54:45 -05:00
Slava Pestov
225097a5d3
Fix some bugs in locals
2008-10-17 16:54:07 -05:00
Doug Coleman
a10fd92a33
fix lambda-macro reset-word bug
2008-10-07 17:18:49 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
2cc40052bf
Rewrite locals-in-literals in idiomatic Factor, and fix a performance regression with locals in tuples
2008-09-13 03:06:36 -05:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Eduardo Cavazos
b755bcbdd7
Today's special: broiled tuples and hashtables
2008-09-07 02:06:55 -05:00
Eduardo Cavazos
fcd70b1560
This ain't Ruby on Rails son, it's Locals in Literals! Seecrats!
2008-09-07 01:20:07 -05:00
Doug Coleman
8a921c791c
if-empty changes
2008-09-06 19:13:59 -05:00
Doug Coleman
7652c3ec95
new accessors
2008-08-29 17:04:52 -05:00
Doug Coleman
80f67f1ca7
new accessors
2008-08-29 02:14:22 -05:00
Slava Pestov
19c5317d97
Fix locals with smart combinator macros, document that locals work with macros now
2008-08-26 20:40:34 -05:00
Slava Pestov
8aa6f673aa
Optimizations and load fixes
2008-08-24 03:59:37 -05:00
Slava Pestov
e1987d4af9
Debugging new optimizer
2008-08-14 23:35:19 -05:00
Slava Pestov
48fa2e2d0e
Updating some code
2008-08-12 03:31:48 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00