]> gitweb.factorcode.org Git - factor.git/blob - basis/locals/locals.factor
parsed -> suffix!, add append!
[factor.git] / basis / locals / locals.factor
1 ! Copyright (C) 2007, 2009 Slava Pestov, Eduardo Cavazos.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: lexer macros memoize parser sequences vocabs
4 vocabs.loader words kernel namespaces locals.parser locals.types
5 locals.errors ;
6 IN: locals
7
8 SYNTAX: :>
9     scan locals get [ :>-outside-lambda-error ] unless*
10     [ make-local ] bind <def> suffix! ;
11
12 SYNTAX: [| parse-lambda over push-all ;
13
14 SYNTAX: [let parse-let over push-all ;
15
16 SYNTAX: [let* parse-let* over push-all ;
17
18 SYNTAX: [wlet parse-wlet over push-all ;
19
20 SYNTAX: :: (::) define-declared ;
21
22 SYNTAX: M:: (M::) define ;
23
24 SYNTAX: MACRO:: (::) define-macro ;
25
26 SYNTAX: MEMO:: (::) define-memoized ;
27
28 {
29     "locals.macros"
30     "locals.fry"
31 } [ require ] each
32
33 "prettyprint" vocab [
34     "locals.definitions" require
35     "locals.prettyprint" require
36 ] when