]> gitweb.factorcode.org Git - factor.git/blob - basis/locals/locals.factor
a95de5ffeae86552f0a48e82b2eaf0c19a53ce1b
[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     in-lambda? get [ :>-outside-lambda-error ] unless
10     scan-token parse-def suffix! ;
11
12 SYNTAX: [| parse-lambda append! ;
13
14 SYNTAX: [let parse-let append! ;
15
16 SYNTAX: :: (::) define-declared ;
17
18 SYNTAX: M:: (M::) define ;
19
20 SYNTAX: MACRO:: (::) define-macro ;
21
22 SYNTAX: MEMO:: (::) define-memoized ;
23
24 SYNTAX: IDENTITY-MEMO:: (::) define-identity-memoized ;
25
26 {
27     "locals.macros"
28     "locals.fry"
29 } [ require ] each
30
31 { "locals" "prettyprint" } "locals.definitions" require-when
32 { "locals" "prettyprint" } "locals.prettyprint" require-when