2009-03-21 04:17:35 -04:00
|
|
|
! Copyright (C) 2007, 2009 Slava Pestov, Eduardo Cavazos.
|
2008-01-06 11:17:38 -05:00
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-12-09 02:04:22 -05:00
|
|
|
USING: lexer macros memoize parser sequences vocabs
|
|
|
|
vocabs.loader words kernel namespaces locals.parser locals.types
|
|
|
|
locals.errors ;
|
2007-09-20 18:09:08 -04:00
|
|
|
IN: locals
|
|
|
|
|
2009-03-21 02:27:50 -04:00
|
|
|
SYNTAX: :>
|
2011-09-27 16:20:07 -04:00
|
|
|
scan-token locals get [ :>-outside-lambda-error ] unless*
|
2009-10-28 17:17:24 -04:00
|
|
|
parse-def suffix! ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2009-10-28 16:29:01 -04:00
|
|
|
SYNTAX: [| parse-lambda append! ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2009-10-28 16:29:01 -04:00
|
|
|
SYNTAX: [let parse-let append! ;
|
2008-03-19 22:16:09 -04:00
|
|
|
|
2009-03-21 04:17:35 -04:00
|
|
|
SYNTAX: :: (::) define-declared ;
|
2008-02-26 19:40:32 -05:00
|
|
|
|
2009-03-21 02:27:50 -04:00
|
|
|
SYNTAX: M:: (M::) define ;
|
2008-02-26 19:40:32 -05:00
|
|
|
|
2009-03-21 02:27:50 -04:00
|
|
|
SYNTAX: MACRO:: (::) define-macro ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2009-03-21 02:27:50 -04:00
|
|
|
SYNTAX: MEMO:: (::) define-memoized ;
|
2009-03-06 20:48:04 -05:00
|
|
|
|
2011-11-30 17:28:40 -05:00
|
|
|
SYNTAX: IDENTITY-MEMO:: (::) define-identity-memoized ;
|
|
|
|
|
2008-12-06 05:57:38 -05:00
|
|
|
{
|
|
|
|
"locals.macros"
|
|
|
|
"locals.fry"
|
|
|
|
} [ require ] each
|
2008-11-27 22:55:46 -05:00
|
|
|
|
2010-04-18 15:29:24 -04:00
|
|
|
{ "locals" "prettyprint" } "locals.definitions" require-when
|
|
|
|
{ "locals" "prettyprint" } "locals.prettyprint" require-when
|