factor/basis/locals/locals.factor

37 lines
826 B
Factor
Raw Normal View History

! 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
SYNTAX: :>
2008-12-09 02:04:22 -05:00
scan locals get [ :>-outside-lambda-error ] unless*
2009-10-28 14:38:27 -04:00
[ make-local ] bind <def> suffix! ;
2007-09-20 18:09:08 -04:00
SYNTAX: [| parse-lambda over push-all ;
2007-09-20 18:09:08 -04:00
SYNTAX: [let parse-let over push-all ;
2008-03-19 22:16:09 -04:00
SYNTAX: [let* parse-let* over push-all ;
2007-09-20 18:09:08 -04:00
SYNTAX: [wlet parse-wlet over push-all ;
2007-09-20 18:09:08 -04:00
SYNTAX: :: (::) define-declared ;
2008-02-26 19:40:32 -05:00
SYNTAX: M:: (M::) define ;
2008-02-26 19:40:32 -05:00
SYNTAX: MACRO:: (::) define-macro ;
2007-09-20 18:09:08 -04:00
SYNTAX: MEMO:: (::) define-memoized ;
{
"locals.macros"
"locals.fry"
} [ require ] each
2008-12-08 16:28:27 -05:00
"prettyprint" vocab [
"locals.definitions" require
"locals.prettyprint" require
] when