]> gitweb.factorcode.org Git - factor.git/blob - basis/locals/locals.factor
Fix locals conflict
[factor.git] / basis / locals / locals.factor
1 ! Copyright (C) 2007, 2008 Slava Pestov, Eduardo Cavazos.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: lexer locals.parser locals.types macros memoize parser
4 sequences vocabs vocabs.loader words kernel ;
5 IN: locals
6
7 : :> scan <local> <def> parsed ; parsing
8
9 : [| parse-lambda parsed-lambda ; parsing
10
11 : [let
12     "|" expect "|" parse-bindings
13     \ ] (parse-lambda) <let> parsed-lambda ; parsing
14
15 : [let*
16     "|" expect "|" parse-bindings*
17     \ ] (parse-lambda) <let*> parsed-lambda ; parsing
18
19 : [wlet
20     "|" expect "|" parse-wbindings
21     \ ] (parse-lambda) <wlet> parsed-lambda ; parsing
22
23 : :: (::) define ; parsing
24
25 : M:: (M::) define ; parsing
26
27 : MACRO:: (::) define-macro ; parsing
28
29 : MEMO:: (::) define-memoized ; parsing
30
31 {
32     "locals.macros"
33     "locals.fry"
34 } [ require ] each
35
36 "prettyprint" vocab [
37     "locals.definitions" require
38     "locals.prettyprint" require
39 ] when