]> gitweb.factorcode.org Git - factor.git/blob - basis/alias/alias.factor
79914527ff7f7d4e37ccd09a349dd38b20364a5b
[factor.git] / basis / alias / alias.factor
1 ! Copyright (C) 2008 Slava Pestov.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: accessors words quotations kernel effects sequences\r
4 parser definitions ;\r
5 IN: alias\r
6 \r
7 PREDICATE: alias < word "alias" word-prop ;\r
8 \r
9 : define-alias ( new old -- )\r
10     [ [ 1quotation ] [ stack-effect ] bi define-inline ]\r
11     [ drop t "alias" set-word-prop ] 2bi ;\r
12 \r
13 : ALIAS: CREATE-WORD scan-word define-alias ; parsing\r
14 \r
15 M: alias reset-word\r
16     [ call-next-method ] [ f "alias" set-word-prop ] bi ;\r
17 \r
18 M: alias stack-effect\r
19     def>> first stack-effect ;\r