factor: core/ lexes! bi@ etc are a problem because they are not decorators.
parent
6f23279be6
commit
0109c44ebc
|
@ -1,6 +1,6 @@
|
|||
USING: kernel locals math math.matrices.simd math.order math.vectors
|
||||
math.vectors.simd prettyprint sequences typed ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: benchmark.3d-matrix-vector
|
||||
|
||||
: v2min ( xy -- xx )
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
USING: assocs benchmark.reverse-complement byte-arrays fry io
|
||||
io.encodings.ascii io.files locals kernel math sequences
|
||||
sequences.private specialized-arrays strings typed alien.data ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:double
|
||||
in: benchmark.fasta
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel io math math.functions math.parser math.vectors
|
||||
math.vectors.simd sequences specialized-arrays ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: float-4
|
||||
in: benchmark.simd-1
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: specialized-arrays sequences.complex
|
||||
kernel sequences tools.test arrays accessors ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
in: sequences.complex.tests
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ in: bootstrap.syntax
|
|||
"unuse:"
|
||||
"USING:"
|
||||
"QUALIFIED:"
|
||||
"qualified:"
|
||||
"QUALIFIED-WITH:"
|
||||
"FROM:"
|
||||
"EXCLUDE:"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors definitions generic generic.single kernel
|
||||
kernel.private namespaces quotations sequences words ;
|
||||
QUALIFIED-WITH: generic.single.private gsp
|
||||
QUALIFIED-WITH: generic.single.private gsp ;
|
||||
in: generic.hook
|
||||
|
||||
TUPLE: hook-combination < single-combination var ;
|
||||
|
|
|
@ -4,7 +4,7 @@ compiler.units definitions eval generic generic.single
|
|||
generic.standard io.streams.string kernel make math
|
||||
math.constants math.functions namespaces parser quotations
|
||||
sequences specialized-vectors strings tools.test words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-VECTOR: c:double
|
||||
in: generic.standard.tests
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ ERROR: no-parent-directory path ;
|
|||
{
|
||||
{ [ dup "\\\\?\\" head? ] [ t ] }
|
||||
{ [ dup length 2 < ] [ f ] }
|
||||
{ [ dup second char: : = ] [ t ] }
|
||||
{ [ dup second char: \: = ] [ t ] }
|
||||
[ f ]
|
||||
} cond ;
|
||||
|
||||
|
|
|
@ -180,44 +180,44 @@ CONSTANT: min-magnitude-2 -1074 ;
|
|||
: ?add-ratio ( m n/f -- m+n/f )
|
||||
dup ratio? [ + ] [ 2drop f ] if ; inline
|
||||
|
||||
: @abort ( i number-parse n x -- f )
|
||||
: abort-parse ( i number-parse n x -- f )
|
||||
4drop f ; inline
|
||||
|
||||
: @split ( i number-parse n -- n i number-parse' n' )
|
||||
: parse-split ( i number-parse n -- n i number-parse' n' )
|
||||
-rot 0 >>magnitude 0 ; inline
|
||||
|
||||
: @split-exponent ( i number-parse n -- n i number-parse' n' )
|
||||
: parse-split-exponent ( i number-parse n -- n i number-parse' n' )
|
||||
-rot 10 >>radix 0 ; inline
|
||||
|
||||
: <float-parse> ( i number-parse n -- float-parse i number-parse n )
|
||||
[ drop nip [ radix>> ] [ magnitude>> ] bi [ 0 f ] dip float-parse boa ] 3keep ; inline
|
||||
|
||||
defer: @exponent-digit
|
||||
defer: @mantissa-digit
|
||||
defer: @denom-digit
|
||||
defer: @num-digit
|
||||
defer: @pos-digit
|
||||
defer: @neg-digit
|
||||
defer: parse-exponent-digit
|
||||
defer: parse-mantissa-digit
|
||||
defer: parse-denom-digit
|
||||
defer: parse-num-digit
|
||||
defer: parse-pos-digit
|
||||
defer: parse-neg-digit
|
||||
|
||||
: @exponent-digit-or-punc ( float-parse i number-parse n char -- float-parse n/f )
|
||||
: parse-exponent-digit-or-punc ( float-parse i number-parse n char -- float-parse n/f )
|
||||
{
|
||||
{ char: , [ [ @exponent-digit ] require-next-digit ] }
|
||||
[ @exponent-digit ]
|
||||
{ char: , [ [ parse-exponent-digit ] require-next-digit ] }
|
||||
[ parse-exponent-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @exponent-digit ( float-parse i number-parse n char -- float-parse n/f )
|
||||
: parse-exponent-digit ( float-parse i number-parse n char -- float-parse n/f )
|
||||
{ float-parse fixnum number-parse integer fixnum } declare
|
||||
digit-in-radix [ [ @exponent-digit-or-punc ] add-exponent-digit ] [ @abort ] if ;
|
||||
digit-in-radix [ [ parse-exponent-digit-or-punc ] add-exponent-digit ] [ abort-parse ] if ;
|
||||
|
||||
: @exponent-first-char ( float-parse i number-parse n char -- float-parse n/f )
|
||||
: parse-exponent-first-char ( float-parse i number-parse n char -- float-parse n/f )
|
||||
{
|
||||
{ char: - [ [ @exponent-digit ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ @exponent-digit ] require-next-digit ] }
|
||||
[ @exponent-digit ]
|
||||
{ char: - [ [ parse-exponent-digit ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ parse-exponent-digit ] require-next-digit ] }
|
||||
[ parse-exponent-digit ]
|
||||
} case ; inline
|
||||
|
||||
: ->exponent ( float-parse i number-parse n -- float-parse' n/f )
|
||||
@split-exponent [ @exponent-first-char ] require-next-digit ?store-exponent ; inline
|
||||
parse-split-exponent [ parse-exponent-first-char ] require-next-digit ?store-exponent ; inline
|
||||
|
||||
: exponent-char? ( number-parse n char -- number-parse n char ? )
|
||||
pick radix>> {
|
||||
|
@ -231,74 +231,74 @@ defer: @neg-digit
|
|||
: or-mantissa->exponent ( float-parse i number-parse n char quot -- float-parse n/f )
|
||||
[ exponent-char? [ drop ->exponent ] ] dip if ; inline
|
||||
|
||||
: @mantissa-digit-or-punc ( float-parse i number-parse n char -- float-parse n/f )
|
||||
: parse-mantissa-digit-or-punc ( float-parse i number-parse n char -- float-parse n/f )
|
||||
{
|
||||
{ char: , [ [ @mantissa-digit ] require-next-digit ] }
|
||||
[ @mantissa-digit ]
|
||||
{ char: , [ [ parse-mantissa-digit ] require-next-digit ] }
|
||||
[ parse-mantissa-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @mantissa-digit ( float-parse i number-parse n char -- float-parse n/f )
|
||||
: parse-mantissa-digit ( float-parse i number-parse n char -- float-parse n/f )
|
||||
{ float-parse fixnum number-parse integer fixnum } declare
|
||||
[
|
||||
digit-in-radix
|
||||
[ [ @mantissa-digit-or-punc ] add-mantissa-digit ]
|
||||
[ @abort ] if
|
||||
[ [ parse-mantissa-digit-or-punc ] add-mantissa-digit ]
|
||||
[ abort-parse ] if
|
||||
] or-mantissa->exponent ;
|
||||
|
||||
: ->mantissa ( i number-parse n -- n/f )
|
||||
<float-parse> [ @mantissa-digit ] next-digit ?make-float ; inline
|
||||
<float-parse> [ parse-mantissa-digit ] next-digit ?make-float ; inline
|
||||
|
||||
: ->required-mantissa ( i number-parse n -- n/f )
|
||||
<float-parse> [ @mantissa-digit ] require-next-digit ?make-float ; inline
|
||||
<float-parse> [ parse-mantissa-digit ] require-next-digit ?make-float ; inline
|
||||
|
||||
: @denom-digit-or-punc ( i number-parse n char -- n/f )
|
||||
: parse-denom-digit-or-punc ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: , [ [ @denom-digit ] require-next-digit ] }
|
||||
{ char: , [ [ parse-denom-digit ] require-next-digit ] }
|
||||
{ char: . [ ->mantissa ] }
|
||||
[ [ @denom-digit ] or-exponent ]
|
||||
[ [ parse-denom-digit ] or-exponent ]
|
||||
} case ; inline
|
||||
|
||||
: @denom-digit ( i number-parse n char -- n/f )
|
||||
: parse-denom-digit ( i number-parse n char -- n/f )
|
||||
{ fixnum number-parse integer fixnum } declare
|
||||
digit-in-radix [ [ @denom-digit-or-punc ] add-digit ] [ @abort ] if ;
|
||||
digit-in-radix [ [ parse-denom-digit-or-punc ] add-digit ] [ abort-parse ] if ;
|
||||
|
||||
: @denom-first-digit ( i number-parse n char -- n/f )
|
||||
: parse-denom-first-digit ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: . [ ->mantissa ] }
|
||||
[ @denom-digit ]
|
||||
[ parse-denom-digit ]
|
||||
} case ; inline
|
||||
|
||||
: ->denominator ( i number-parse n -- n/f )
|
||||
{ fixnum number-parse integer } declare
|
||||
@split [ @denom-first-digit ] require-next-digit ?make-ratio ;
|
||||
parse-split [ parse-denom-first-digit ] require-next-digit ?make-ratio ;
|
||||
|
||||
: @num-digit-or-punc ( i number-parse n char -- n/f )
|
||||
: parse-num-digit-or-punc ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: , [ [ @num-digit ] require-next-digit ] }
|
||||
{ char: , [ [ parse-num-digit ] require-next-digit ] }
|
||||
{ char: / [ ->denominator ] }
|
||||
[ @num-digit ]
|
||||
[ parse-num-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @num-digit ( i number-parse n char -- n/f )
|
||||
: parse-num-digit ( i number-parse n char -- n/f )
|
||||
{ fixnum number-parse integer fixnum } declare
|
||||
digit-in-radix [ [ @num-digit-or-punc ] add-digit ] [ @abort ] if ;
|
||||
digit-in-radix [ [ parse-num-digit-or-punc ] add-digit ] [ abort-parse ] if ;
|
||||
|
||||
: ->numerator ( i number-parse n -- n/f )
|
||||
{ fixnum number-parse integer } declare
|
||||
@split [ @num-digit ] require-next-digit ?add-ratio ;
|
||||
parse-split [ parse-num-digit ] require-next-digit ?add-ratio ;
|
||||
|
||||
: @pos-digit-or-punc ( i number-parse n char -- n/f )
|
||||
: parse-pos-digit-or-punc ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: , [ [ @pos-digit ] require-next-digit ] }
|
||||
{ char: , [ [ parse-pos-digit ] require-next-digit ] }
|
||||
{ char: + [ ->numerator ] }
|
||||
{ char: / [ ->denominator ] }
|
||||
{ char: . [ ->mantissa ] }
|
||||
[ [ @pos-digit ] or-exponent ]
|
||||
[ [ parse-pos-digit ] or-exponent ]
|
||||
} case ; inline
|
||||
|
||||
: @pos-digit ( i number-parse n char -- n/f )
|
||||
: parse-pos-digit ( i number-parse n char -- n/f )
|
||||
{ fixnum number-parse integer fixnum } declare
|
||||
digit-in-radix [ [ @pos-digit-or-punc ] add-digit ] [ @abort ] if ;
|
||||
digit-in-radix [ [ parse-pos-digit-or-punc ] add-digit ] [ abort-parse ] if ;
|
||||
|
||||
: ->radix ( i number-parse n quot radix -- i number-parse n quot )
|
||||
[ >>radix ] curry 2dip ; inline
|
||||
|
@ -313,66 +313,66 @@ defer: @neg-digit
|
|||
} case
|
||||
] 2curry next-digit ; inline
|
||||
|
||||
: @pos-first-digit ( i number-parse n char -- n/f )
|
||||
: parse-pos-first-digit ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: . [ ->required-mantissa ] }
|
||||
{ char: 0 [ [ @pos-digit ] [ @pos-digit-or-punc ] with-radix-char ] }
|
||||
[ @pos-digit ]
|
||||
{ char: 0 [ [ parse-pos-digit ] [ parse-pos-digit-or-punc ] with-radix-char ] }
|
||||
[ parse-pos-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @neg-digit-or-punc ( i number-parse n char -- n/f )
|
||||
: parse-neg-digit-or-punc ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: , [ [ @neg-digit ] require-next-digit ] }
|
||||
{ char: , [ [ parse-neg-digit ] require-next-digit ] }
|
||||
{ char: - [ ->numerator ] }
|
||||
{ char: / [ ->denominator ] }
|
||||
{ char: . [ ->mantissa ] }
|
||||
[ [ @neg-digit ] or-exponent ]
|
||||
[ [ parse-neg-digit ] or-exponent ]
|
||||
} case ; inline
|
||||
|
||||
: @neg-digit ( i number-parse n char -- n/f )
|
||||
: parse-neg-digit ( i number-parse n char -- n/f )
|
||||
{ fixnum number-parse integer fixnum } declare
|
||||
digit-in-radix [ [ @neg-digit-or-punc ] add-digit ] [ @abort ] if ;
|
||||
digit-in-radix [ [ parse-neg-digit-or-punc ] add-digit ] [ abort-parse ] if ;
|
||||
|
||||
: @neg-first-digit ( i number-parse n char -- n/f )
|
||||
: parse-neg-first-digit ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: . [ ->required-mantissa ] }
|
||||
{ char: 0 [ [ @neg-digit ] [ @neg-digit-or-punc ] with-radix-char ] }
|
||||
[ @neg-digit ]
|
||||
{ char: 0 [ [ parse-neg-digit ] [ parse-neg-digit-or-punc ] with-radix-char ] }
|
||||
[ parse-neg-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @first-char ( i number-parse n char -- n/f )
|
||||
: parse-first-char ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: - [ [ @neg-first-digit ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ @pos-first-digit ] require-next-digit ] }
|
||||
[ @pos-first-digit ]
|
||||
{ char: - [ [ parse-neg-first-digit ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ parse-pos-first-digit ] require-next-digit ] }
|
||||
[ parse-pos-first-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @neg-first-digit-no-radix ( i number-parse n char -- n/f )
|
||||
: parse-neg-first-digit-no-radix ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: . [ ->required-mantissa ] }
|
||||
[ @neg-digit ]
|
||||
[ parse-neg-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @pos-first-digit-no-radix ( i number-parse n char -- n/f )
|
||||
: parse-pos-first-digit-no-radix ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: . [ ->required-mantissa ] }
|
||||
[ @pos-digit ]
|
||||
[ parse-pos-digit ]
|
||||
} case ; inline
|
||||
|
||||
: @first-char-no-radix ( i number-parse n char -- n/f )
|
||||
: parse-first-char-no-radix ( i number-parse n char -- n/f )
|
||||
{
|
||||
{ char: - [ [ @neg-first-digit-no-radix ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ @pos-first-digit-no-radix ] require-next-digit ] }
|
||||
[ @pos-first-digit-no-radix ]
|
||||
{ char: - [ [ parse-neg-first-digit-no-radix ] require-next-digit ?neg ] }
|
||||
{ char: + [ [ parse-pos-first-digit-no-radix ] require-next-digit ] }
|
||||
[ parse-pos-first-digit-no-radix ]
|
||||
} case ; inline
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: string>number ( str -- n/f )
|
||||
10 <number-parse> [ @first-char ] require-next-digit ;
|
||||
10 <number-parse> [ parse-first-char ] require-next-digit ;
|
||||
|
||||
: base> ( str radix -- n/f )
|
||||
<number-parse> [ @first-char-no-radix ] require-next-digit ;
|
||||
<number-parse> [ parse-first-char-no-radix ] require-next-digit ;
|
||||
|
||||
: bin> ( str -- n/f ) 2 base> ; inline
|
||||
: oct> ( str -- n/f ) 8 base> ; inline
|
||||
|
|
|
@ -16,22 +16,22 @@ in: modern.compiler
|
|||
: filter-using ( using -- using' )
|
||||
{ "accessors" "threads.private" "threads" } diff ;
|
||||
|
||||
<<
|
||||
SYNTAX: STRING-DISPATCH:
|
||||
[
|
||||
scan-new-word scan-effect
|
||||
H{ } clone over [ in>> but-last ] [ out>> ] bi <effect>
|
||||
'[ _ ?at [ throw ] unless _ call-effect ]
|
||||
swap
|
||||
] with-definition define-declared ;
|
||||
! <<
|
||||
! SYNTAX: STRING-DISPATCH:
|
||||
! [
|
||||
! scan-new-word scan-effect
|
||||
! H{ } clone over [ in>> but-last ] [ out>> ] bi <effect>
|
||||
! '[ _ ?at [ throw ] unless _ call-effect ]
|
||||
! swap
|
||||
! ] with-definition define-declared ;
|
||||
|
||||
SYNTAX: STRING-M:
|
||||
[
|
||||
scan-token scan-word parse-definition
|
||||
over changed-definition
|
||||
swap def>> first swapd set-at
|
||||
] with-definition ;
|
||||
>>
|
||||
! SYNTAX: STRING-M:
|
||||
! [
|
||||
! scan-token scan-word parse-definition
|
||||
! over changed-definition
|
||||
! swap def>> first swapd set-at
|
||||
! ] with-definition ;
|
||||
! >>
|
||||
|
||||
|
||||
TUPLE: holder literal ;
|
||||
|
|
|
@ -6,11 +6,11 @@ in: modern.slices
|
|||
|
||||
: matching-delimiter ( ch -- ch' )
|
||||
H{
|
||||
{ char: ( char: ) }
|
||||
{ char: [ char: ] }
|
||||
{ char: { char: } }
|
||||
{ char: \( char: ) }
|
||||
{ char: \[ char: ] }
|
||||
{ char: \{ char: } }
|
||||
{ char: < char: > }
|
||||
{ char: : char: ; }
|
||||
{ char: \: char: ; }
|
||||
} ?at drop ;
|
||||
|
||||
: matching-delimiter-string ( string -- string' )
|
||||
|
|
|
@ -523,7 +523,7 @@ QUALIFIED: qualified.tests.foo
|
|||
QUALIFIED: qualified.tests.bar
|
||||
{ 1 2 3 } [ qualified.tests.foo:x qualified.tests.bar:x x ] unit-test
|
||||
|
||||
QUALIFIED-WITH: qualified.tests.bar p
|
||||
QUALIFIED-WITH: qualified.tests.bar p ;
|
||||
{ 2 } [ p:x ] unit-test
|
||||
|
||||
RENAME: x qualified.tests.baz => y
|
||||
|
|
|
@ -25,7 +25,7 @@ stack-checker.transforms
|
|||
stack-checker.dependencies
|
||||
stack-checker.recursive-state
|
||||
stack-checker.row-polymorphism ;
|
||||
QUALIFIED-WITH: generic.single.private gsp
|
||||
QUALIFIED-WITH: generic.single.private gsp ;
|
||||
in: stack-checker.known-words
|
||||
|
||||
: infer-special ( word -- )
|
||||
|
|
|
@ -547,11 +547,11 @@ HELP: QUALIFIED:
|
|||
} } ;
|
||||
|
||||
HELP: QUALIFIED-WITH:
|
||||
{ $syntax "QUALIFIED-WITH: vocab word-prefix" }
|
||||
{ $description "Like " { $link postpone: QUALIFIED: } " but uses " { $snippet "word-prefix" } " as prefix." }
|
||||
{ $syntax "QUALIFIED-WITH: vocab word-prefix ;" }
|
||||
{ $description "Like " { $link postpone: qualified: } " but uses " { $snippet "word-prefix" } " as prefix." }
|
||||
{ $examples { $example
|
||||
"USING: prettyprint ;"
|
||||
"QUALIFIED-WITH: math m"
|
||||
"QUALIFIED-WITH: math m ;"
|
||||
"1 2 m:+ ."
|
||||
"3"
|
||||
} } ;
|
||||
|
|
|
@ -83,8 +83,9 @@ in: bootstrap.syntax
|
|||
"USING:" [ ";" [ use-vocab ] each-token ] define-core-syntax
|
||||
|
||||
"QUALIFIED:" [ scan-token dup add-qualified ] define-core-syntax
|
||||
"qualified:" [ scan-token dup add-qualified ] define-core-syntax
|
||||
|
||||
"QUALIFIED-WITH:" [ scan-token scan-token add-qualified ] define-core-syntax
|
||||
"QUALIFIED-WITH:" [ scan-token scan-token ";" expect add-qualified ] define-core-syntax
|
||||
|
||||
"FROM:" [
|
||||
scan-token "=>" expect ";" parse-tokens add-words-from
|
||||
|
|
|
@ -17,7 +17,7 @@ ARTICLE: "word-search-syntax" "Syntax to control word lookup"
|
|||
{ $subsections
|
||||
postpone: use:
|
||||
postpone: USING:
|
||||
postpone: QUALIFIED:
|
||||
postpone: qualified:
|
||||
postpone: QUALIFIED-WITH:
|
||||
}
|
||||
"Parsing words which make a subset of all words in a vocabulary available:"
|
||||
|
@ -32,11 +32,11 @@ ARTICLE: "word-search-syntax" "Syntax to control word lookup"
|
|||
{ $subsections postpone: in: } ;
|
||||
|
||||
ARTICLE: "word-search-semantics" "Resolution of ambiguous word names"
|
||||
"There is a distinction between parsing words which perform “open” imports versus “closed” imports. An open import introduces all words from a vocabulary as identifiers, except possibly a finite set of exclusions. The " { $link postpone: use: } ", " { $link postpone: USING: } " and " { $link postpone: EXCLUDE: } " words perform open imports. A closed import only adds a fixed set of identifiers. The " { $link postpone: FROM: } ", " { $link postpone: RENAME: } ", " { $link postpone: QUALIFIED: } " and " { $link postpone: QUALIFIED-WITH: } " words perform closed imports. Note that the latter two are considered as closed imports, due to the fact that all identifiers they introduce are unambiguously qualified with a prefix. The " { $link postpone: in: } " parsing word also performs a closed import of the newly-created vocabulary."
|
||||
"There is a distinction between parsing words which perform “open” imports versus “closed” imports. An open import introduces all words from a vocabulary as identifiers, except possibly a finite set of exclusions. The " { $link postpone: use: } ", " { $link postpone: USING: } " and " { $link postpone: EXCLUDE: } " words perform open imports. A closed import only adds a fixed set of identifiers. The " { $link postpone: FROM: } ", " { $link postpone: RENAME: } ", " { $link postpone: qualified: } " and " { $link postpone: QUALIFIED-WITH: } " words perform closed imports. Note that the latter two are considered as closed imports, due to the fact that all identifiers they introduce are unambiguously qualified with a prefix. The " { $link postpone: in: } " parsing word also performs a closed import of the newly-created vocabulary."
|
||||
$nl
|
||||
"When the parser encounters a reference to a word, it first searches the closed imports, in order. Closed imports are searched from the most recent to least recent. If the word could not be found this way, it searches open imports. Unlike closed imports, with open imports, the order does not matter -- instead, if more than one vocabulary defines a word with this name, an error is thrown."
|
||||
{ $subsections ambiguous-use-error }
|
||||
"To resolve the error, add a closed import, using " { $link postpone: FROM: } ", " { $link postpone: QUALIFIED: } " or " { $link postpone: QUALIFIED-WITH: } ". The closed import will then take precedence over the open imports, and the ambiguity will be resolved."
|
||||
"To resolve the error, add a closed import, using " { $link postpone: FROM: } ", " { $link postpone: qualified: } " or " { $link postpone: QUALIFIED-WITH: } ". The closed import will then take precedence over the open imports, and the ambiguity will be resolved."
|
||||
$nl
|
||||
"The rationale for this behavior is as follows. Open imports are named such because they are open to future extension; if a future version of a vocabulary that you use adds new words, those new words will now be in scope in your source file, too. To avoid problems, any references to the new word have to be resolved since the parser cannot safely determine which vocabulary was meant. This problem can be avoided entirely by using only closed imports, but this leads to additional verbosity."
|
||||
$nl
|
||||
|
@ -44,7 +44,7 @@ $nl
|
|||
{ $list
|
||||
"Keep vocabularies small"
|
||||
{ "Hide internal words using " { $link postpone: <PRIVATE } }
|
||||
{ "Make good use of " { $link postpone: FROM: } ", " { $link postpone: QUALIFIED: } " or " { $link postpone: QUALIFIED-WITH: } }
|
||||
{ "Make good use of " { $link postpone: FROM: } ", " { $link postpone: qualified: } " or " { $link postpone: QUALIFIED-WITH: } }
|
||||
} ;
|
||||
|
||||
ARTICLE: "word-search-private" "Private words"
|
||||
|
@ -144,7 +144,7 @@ HELP: unuse-vocab
|
|||
HELP: add-qualified
|
||||
{ $values { "vocab" "a vocabulary specifier" } { "prefix" string } }
|
||||
{ $description "Adds the vocabulary's words, prefixed with the given string, to the current manifest." }
|
||||
{ $notes "If adding the vocabulary introduces ambiguity, the vocabulary will take precedence when resolving any ambiguous names. See the example in " { $link postpone: QUALIFIED: } " for further explanation." } ;
|
||||
{ $notes "If adding the vocabulary introduces ambiguity, the vocabulary will take precedence when resolving any ambiguous names. See the example in " { $link postpone: qualified: } " for further explanation." } ;
|
||||
|
||||
HELP: add-words-from
|
||||
{ $values { "vocab" "a vocabulary specifier" } { "words" { $sequence "word names" } } }
|
||||
|
@ -170,7 +170,7 @@ HELP: unuse-words
|
|||
{ $description "Removes an assoc mapping word names to words from the current manifest." } ;
|
||||
|
||||
HELP: ambiguous-use-error
|
||||
{ $error-description "Thrown when a word name referenced in source file is available in more than one vocabulary in the manifest. Such cases must be explicitly disambiguated using " { $link postpone: FROM: } ", " { $link postpone: EXCLUDE: } ", " { $link postpone: QUALIFIED: } ", or " { $link postpone: QUALIFIED-WITH: } "." } ;
|
||||
{ $error-description "Thrown when a word name referenced in source file is available in more than one vocabulary in the manifest. Such cases must be explicitly disambiguated using " { $link postpone: FROM: } ", " { $link postpone: EXCLUDE: } ", " { $link postpone: qualified: } ", or " { $link postpone: QUALIFIED-WITH: } "." } ;
|
||||
|
||||
HELP: search-manifest
|
||||
{ $values { "name" string } { "manifest" manifest } { "word/f" { $maybe word } } }
|
||||
|
|
|
@ -7,7 +7,7 @@ opengl.demo-support opengl.gl sequences threads ui ui.gadgets
|
|||
ui.gadgets.borders ui.gadgets.buttons ui.gadgets.frames
|
||||
ui.gadgets.grids ui.gadgets.labeled ui.gadgets.labels
|
||||
ui.gadgets.packs ui.gadgets.sliders ui.render ;
|
||||
QUALIFIED-WITH: models.range mr
|
||||
QUALIFIED-WITH: models.range mr ;
|
||||
in: boids
|
||||
|
||||
TUPLE: boids-gadget < gadget paused boids behaviours dt ;
|
||||
|
|
|
@ -3,7 +3,7 @@ http.client io io.encodings.ascii io.files io.files.temp kernel
|
|||
locals math math.matrices math.parser math.vectors opengl
|
||||
opengl.capabilities opengl.gl opengl.demo-support sequences
|
||||
splitting vectors words specialized-arrays alien.data ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
SPECIALIZED-ARRAY: c:uint
|
||||
in: bunny.model
|
||||
|
|
|
@ -6,7 +6,7 @@ combinators core-graphics.types fry generalizations
|
|||
io.encodings.utf8 kernel layouts libc locals macros make math
|
||||
memoize namespaces quotations sequences specialized-arrays
|
||||
stack-checker strings words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: cocoa.messages
|
||||
|
||||
SPECIALIZED-ARRAY: void*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.c-types alien.data alien.syntax combinators
|
||||
core-foundation kernel math ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
FROM: math => float ;
|
||||
in: core-foundation.numbers
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ destructors fry init io io.backend io.encodings.string
|
|||
io.encodings.utf8 kernel lexer locals macros math math.parser
|
||||
namespaces opengl.gl.extensions parser prettyprint quotations
|
||||
sequences words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: cuda
|
||||
|
||||
ERROR: cuda-error-state code ;
|
||||
|
|
|
@ -5,7 +5,7 @@ byte-arrays classes.struct classes.struct.private combinators
|
|||
combinators.short-circuit cuda cuda.ffi fry generalizations
|
||||
io.backend kernel locals macros math namespaces sequences
|
||||
variants vocabs.loader words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: cuda.libraries
|
||||
|
||||
VARIANT: cuda-abi
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors alien alien.data alien.destructors assocs
|
|||
byte-arrays cuda cuda.ffi destructors fry io.encodings.string
|
||||
io.encodings.utf8 kernel locals math namespaces sequences
|
||||
strings ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: cuda.memory
|
||||
|
||||
: cuda-malloc ( n -- ptr )
|
||||
|
|
|
@ -6,7 +6,7 @@ classes.struct combinators continuations destructors fry
|
|||
io.encodings.utf8 kernel libc locals math memoize multiline
|
||||
namespaces sequences unix.ffi ;
|
||||
|
||||
QUALIFIED-WITH: curses.ffi ffi
|
||||
QUALIFIED-WITH: curses.ffi ffi ;
|
||||
|
||||
in: curses
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! This vocab only exports forward-compatible OpenGL 3.x symbols.
|
||||
! For legacy OpenGL and extensions, use opengl.gl
|
||||
|
||||
QUALIFIED-WITH: opengl.gl gl
|
||||
QUALIFIED-WITH: opengl.gl gl ;
|
||||
in: opengl.gl3
|
||||
|
||||
ALIAS: GL_DEPTH_BUFFER_BIT gl:GL_DEPTH_BUFFER_BIT ;
|
||||
|
|
|
@ -4,7 +4,7 @@ python.modules.__builtin__ python.modules.argparse python.modules.datetime
|
|||
python.modules.os python.modules.os.path python.modules.sys
|
||||
python.modules.time python.objects python.syntax sets splitting tools.test
|
||||
unicode ;
|
||||
QUALIFIED-WITH: sequences s
|
||||
QUALIFIED-WITH: sequences s ;
|
||||
in: python.syntax.tests
|
||||
|
||||
: py-test ( result quot -- )
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
USING: accessors arrays classes.struct io.streams.c kernel
|
||||
math system terminal unix unix.ffi ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
|
||||
in: terminal.linux
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
USING: accessors alien.c-types classes.struct io.streams.c
|
||||
kernel math memoize scratchpad system terminal unix unix.ffi ;
|
||||
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
|
||||
in: terminal.macosx
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien alien.c-types alien.syntax kernel windows.types
|
||||
math multiline classes.struct alien.data arrays literals ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: windows.kernel32
|
||||
|
||||
: lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
|
||||
|
|
|
@ -5,7 +5,7 @@ hashtables kernel locals math math.parser sequences sequences.deep
|
|||
splitting xml xml.data xml.traversal math.order namespaces
|
||||
combinators images gpu.shaders io make game.models game.models.util
|
||||
io.encodings.ascii game.models.loader specialized-arrays ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:uint ;
|
||||
in: game.models.collada
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ kernel assocs io.files combinators math.order math namespaces
|
|||
arrays sequences.deep accessors alien.c-types alien.data
|
||||
game.models game.models.util gpu.shaders images game.models.loader
|
||||
prettyprint specialized-arrays make ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:uint ;
|
||||
in: game.models.obj
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@ USING: alien alien.c-types alien.syntax byte-arrays classes
|
|||
gpu.buffers gpu.framebuffers gpu.shaders gpu.textures help.markup
|
||||
help.syntax images kernel math sequences
|
||||
specialized-arrays strings ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: math m
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
QUALIFIED-WITH: math m ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
SPECIALIZED-ARRAY: int
|
||||
SPECIALIZED-ARRAY: uint
|
||||
|
|
|
@ -10,7 +10,7 @@ opengl.gl parser quotations sequences slots sorting
|
|||
specialized-arrays strings ui.gadgets.worlds variants
|
||||
vocabs.parser words math.vectors.simd ;
|
||||
FROM: math => float ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:int c:uchar c:ushort c:uint c:void* ;
|
||||
in: gpu.render
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ opengl opengl.gl opengl.shaders parser quotations sequences
|
|||
specialized-arrays splitting strings tr ui.gadgets.worlds
|
||||
variants vectors vocabs vocabs.loader vocabs.parser words
|
||||
words.constant math.floats.half typed ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: int
|
||||
SPECIALIZED-ARRAY: void*
|
||||
in: gpu.shaders
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
USING: accessors alien.c-types alien.data arrays byte-arrays
|
||||
combinators gpu kernel literals math math.rectangles opengl
|
||||
opengl.gl sequences typed variants specialized-arrays ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
FROM: math => float ;
|
||||
SPECIALIZED-ARRAY: c:int
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
|
|
|
@ -15,7 +15,7 @@ io.encodings.utf16n windows.errors literals ui.pixel-formats
|
|||
ui.pixel-formats.private memoize classes colors
|
||||
specialized-arrays classes.struct ;
|
||||
SPECIALIZED-ARRAY: POINT
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: ui.backend.windows
|
||||
|
||||
singleton: windows-ui-backend
|
||||
|
|
|
@ -6,7 +6,7 @@ ui.gadgets ui.gadgets.borders ui.gadgets.buttons
|
|||
ui.gadgets.labeled ui.gadgets.panes ui.gadgets.scrollers
|
||||
ui.gadgets.status-bar ui.gadgets.tables ui.gadgets.toolbar
|
||||
ui.theme ui.gadgets.tracks ui.gestures ui.theme.images ui.tools.common ;
|
||||
QUALIFIED-WITH: ui.tools.inspector i
|
||||
QUALIFIED-WITH: ui.tools.inspector i ;
|
||||
in: ui.tools.traceback
|
||||
|
||||
TUPLE: stack-entry object string ;
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors colors.constants combinators jamshred.log
|
|||
jamshred.oint jamshred.sound jamshred.tunnel kernel locals math
|
||||
math.constants math.order math.ranges math.vectors math.matrices
|
||||
sequences shuffle specialized-arrays strings system ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
in: jamshred.player
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ terrain.generation terrain.shaders typed ui ui.gadgets
|
|||
ui.gadgets.worlds ui.pixel-formats game.worlds
|
||||
math.matrices.simd noise ui.gestures combinators.short-circuit
|
||||
destructors grid-meshes math.vectors.simd ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
in: terrain
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! (c)2010 Joe Groff bsd license
|
||||
USING: alien.cxx kernel ;
|
||||
QUALIFIED-WITH: alien.cxx.demangle.libstdcxx libstdcxx
|
||||
QUALIFIED-WITH: alien.cxx.demangle.libstdcxx libstdcxx ;
|
||||
in: alien.cxx.demangle
|
||||
|
||||
GENERIC: c++-symbol? ( mangled-name abi -- ? ) ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
USING: alien alien.data alien.syntax classes.struct
|
||||
compiler.units kernel sequences specialized-arrays
|
||||
specialized-arrays.private system tools.test vocabs ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: alien.data.tests
|
||||
|
||||
{ -1 } [ -1 c:char <ref> c:char deref ] unit-test
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors alien.accessors alien.c-types alien.data arrays
|
|||
classes.struct.private combinators compiler.units endian fry
|
||||
generalizations kernel macros math math.bitwise namespaces
|
||||
sequences slots words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: alien.endian
|
||||
|
||||
ERROR: invalid-signed-conversion n ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Joe Groff
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: help.markup help.syntax kernel quotations sequences strings words.symbol classes.struct ;
|
||||
QUALIFIED-WITH: alien.syntax c
|
||||
QUALIFIED-WITH: alien.syntax c ;
|
||||
in: alien.fortran
|
||||
|
||||
ARTICLE: "alien.fortran-abis" "Fortran ABIs"
|
||||
|
|
|
@ -5,7 +5,7 @@ classes.struct arrays assocs byte-arrays combinators fry
|
|||
generalizations io.encodings.ascii kernel macros
|
||||
macros.expander namespaces sequences shuffle tools.test vocabs.parser ;
|
||||
FROM: alien.syntax => pointer: ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: alien.fortran.tests
|
||||
|
||||
<< intel-unix-abi "(alien.fortran-tests)" (add-fortran-library) >>
|
||||
|
|
|
@ -7,7 +7,7 @@ parser sequences sequences.generalizations splitting
|
|||
stack-checker vectors vocabs.parser words locals
|
||||
io.encodings.ascii io.encodings.string shuffle effects
|
||||
math.ranges math.order sorting strings system alien.libraries ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: alien.fortran
|
||||
|
||||
SINGLETONS: f2c-abi g95-abi gfortran-abi intel-unix-abi intel-windows-abi ;
|
||||
|
|
|
@ -10,7 +10,7 @@ mirrors namespaces parser prettyprint prettyprint.config see
|
|||
sequences specialized-arrays specialized-arrays.private
|
||||
system tools.test vocabs ;
|
||||
FROM: math => float ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: char
|
||||
SPECIALIZED-ARRAY: int
|
||||
SPECIALIZED-ARRAY: ushort
|
||||
|
|
|
@ -5,7 +5,7 @@ combinators compiler.cfg.builder.alien.params compiler.cfg.hats
|
|||
compiler.cfg.instructions compiler.cfg.intrinsics.allot
|
||||
compiler.cfg.registers cpu.architecture fry kernel layouts
|
||||
locals math namespaces sequences system ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: compiler.cfg.builder.alien.boxing
|
||||
|
||||
symbol: struct-return-area
|
||||
|
|
|
@ -6,7 +6,7 @@ compiler.cfg.predecessors compiler.cfg.utilities locals compiler.cfg.dce
|
|||
compiler.cfg.ssa.destruction compiler.cfg.loop-detection
|
||||
compiler.cfg.representations compiler.cfg assocs vectors arrays
|
||||
layouts literals namespaces alien compiler.cfg.gvn.simd system ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: compiler.cfg.gvn.tests
|
||||
|
||||
: trim-temps ( insns -- insns )
|
||||
|
|
|
@ -7,7 +7,7 @@ compiler.cfg.value-numbering cpu.architecture kernel layouts
|
|||
literals math namespaces sequences system tools.test ;
|
||||
! need cfg simd loaded for some tests
|
||||
use: compiler.cfg.value-numbering.simd
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: compiler.cfg.value-numbering.tests
|
||||
|
||||
: trim-temps ( insns -- insns )
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
USING: compiler.units compiler.test kernel kernel.private memory
|
||||
math math.private tools.test math.floats.private math.order fry
|
||||
specialized-arrays sequences math.functions layouts literals ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
SPECIALIZED-ARRAY: c:double
|
||||
in: compiler.tests.float
|
||||
|
|
|
@ -7,7 +7,7 @@ alien.accessors alien.c-types alien.data alien.syntax alien.strings
|
|||
namespaces libc io.encodings.ascii classes compiler.test ;
|
||||
FROM: math => float ;
|
||||
FROM: alien.c-types => short ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: compiler.tests.intrinsics
|
||||
|
||||
! Make sure that intrinsic ops compile to correct code.
|
||||
|
|
|
@ -17,7 +17,7 @@ compiler.tree.propagation.info
|
|||
compiler.tree.checker
|
||||
compiler.tree.debugger ;
|
||||
FROM: math => float ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: compiler.tree.cleanup.tests
|
||||
|
||||
{ t } [ [ [ 1 ] [ 2 ] if ] cleaned-up-tree [ #if? ] contains-node? ] unit-test
|
||||
|
|
|
@ -8,7 +8,7 @@ compiler.cfg.stack-frame compiler.codegen compiler.codegen.fixup
|
|||
compiler.constants compiler.units cpu.architecture cpu.ppc.assembler fry io
|
||||
kernel layouts literals locals make math math.order math.ranges memory
|
||||
namespaces prettyprint sequences system vm words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
FROM: cpu.ppc.assembler => B ;
|
||||
FROM: math => float ;
|
||||
in: cpu.ppc
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: alien.data arrays assocs combinators compiler.cfg.comparisons
|
|||
compiler.cfg.intrinsics cpu.architecture cpu.x86 cpu.x86.assembler
|
||||
cpu.x86.assembler.operands cpu.x86.features fry kernel locals macros
|
||||
math math.vectors quotations sequences system ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: cpu.x86.sse
|
||||
|
||||
! Scalar floating point with SSE2
|
||||
|
|
|
@ -10,7 +10,7 @@ compiler.units cpu.architecture cpu.x86.assembler
|
|||
cpu.x86.assembler.operands cpu.x86.assembler.private cpu.x86.features
|
||||
cpu.x86.features.private fry io kernel layouts locals make math
|
||||
math.order memory namespaces sequences system vm vocabs ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
FROM: kernel.private => declare ;
|
||||
FROM: math => float ;
|
||||
in: cpu.x86
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: classes.struct classes.tuple functors tools.test math
|
||||
words kernel multiline parser io.streams.string generic ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: functors.tests
|
||||
|
||||
<<
|
||||
|
|
|
@ -27,8 +27,8 @@ in: vocabs.prettyprint.tests"
|
|||
: manifest-test-3 ( -- string )
|
||||
"USING: kernel namespaces vocabs.parser vocabs.prettyprint ;
|
||||
FROM: math => + - ;
|
||||
QUALIFIED: system
|
||||
QUALIFIED-WITH: assocs a
|
||||
qualified: system
|
||||
QUALIFIED-WITH: assocs a ;
|
||||
EXCLUDE: parser => run-file ;
|
||||
in: vocabs.prettyprint.tests
|
||||
|
||||
|
@ -37,8 +37,8 @@ in: vocabs.prettyprint.tests"
|
|||
{
|
||||
"USING: kernel namespaces vocabs.parser vocabs.prettyprint ;
|
||||
FROM: math => + - ;
|
||||
QUALIFIED: system
|
||||
QUALIFIED-WITH: assocs a
|
||||
qualified: system
|
||||
QUALIFIED-WITH: assocs a ;
|
||||
EXCLUDE: parser => run-file ;
|
||||
in: vocabs.prettyprint.tests"
|
||||
}
|
||||
|
|
|
@ -30,11 +30,11 @@ GENERIC: pprint-qualified ( qualified -- ) ;
|
|||
M: qualified pprint-qualified ( qualified -- )
|
||||
[
|
||||
dup [ vocab>> vocab-name ] [ prefix>> ] bi = [
|
||||
\ QUALIFIED: pprint-word
|
||||
\ qualified: pprint-word
|
||||
vocab>> pprint-vocab
|
||||
] [
|
||||
\ QUALIFIED-WITH: pprint-word
|
||||
[ vocab>> pprint-vocab ] [ prefix>> text ] bi
|
||||
[ vocab>> pprint-vocab ] [ prefix>> text ] bi ";" text
|
||||
] if
|
||||
] with-pprint ;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ USING: accessors alien alien.data audio classes.struct fry
|
|||
calendar timers combinators combinators.short-circuit
|
||||
destructors generalizations kernel literals locals math openal
|
||||
sequences sequences.generalizations specialized-arrays strings ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:uchar c:uint ;
|
||||
in: audio.engine
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ byte-arrays classes.struct combinators destructors fry io
|
|||
io.files io.encodings.binary kernel libc locals make math
|
||||
math.order math.parser ogg ogg.vorbis sequences
|
||||
specialized-arrays specialized-vectors ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:void* ;
|
||||
SPECIALIZED-VECTOR: c:short
|
||||
in: audio.vorbis
|
||||
|
|
|
@ -5,7 +5,7 @@ hashtables io kernel locals math math.order math.parser
|
|||
math.ranges multiline sequences bitstreams bit-arrays ;
|
||||
in: compression.huffman
|
||||
|
||||
QUALIFIED-WITH: bitstreams bs
|
||||
QUALIFIED-WITH: bitstreams bs ;
|
||||
|
||||
<PRIVATE
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors arrays assocs byte-vectors combinators
|
|||
combinators.smart compression.huffman fry hashtables io.binary
|
||||
kernel literals locals math math.bitwise math.order math.ranges
|
||||
sequences sorting memoize combinators.short-circuit byte-arrays ;
|
||||
QUALIFIED-WITH: bitstreams bs
|
||||
QUALIFIED-WITH: bitstreams bs ;
|
||||
in: compression.inflate
|
||||
|
||||
<PRIVATE
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators io kernel math math.order
|
||||
namespaces sequences vectors ;
|
||||
QUALIFIED-WITH: bitstreams bs
|
||||
QUALIFIED-WITH: bitstreams bs ;
|
||||
in: compression.lzw
|
||||
|
||||
TUPLE: lzw
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel tools.test compression.zlib classes ;
|
||||
QUALIFIED-WITH: compression.zlib.ffi ffi
|
||||
QUALIFIED-WITH: compression.zlib.ffi ffi ;
|
||||
in: compression.zlib.tests
|
||||
|
||||
: compress-me ( -- byte-array ) B{ 1 2 3 4 5 } ;
|
||||
|
|
|
@ -6,7 +6,7 @@ images.loader images.normalization io io.binary
|
|||
io.encodings.8-bit.latin1 io.encodings.string kernel math
|
||||
math.bitwise sequences specialized-arrays summary
|
||||
io.streams.throwing ;
|
||||
QUALIFIED-WITH: bitstreams b
|
||||
QUALIFIED-WITH: bitstreams b ;
|
||||
SPECIALIZED-ARRAYS: uint ushort ;
|
||||
in: images.bitmap
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! (c)Joe Groff bsd license
|
||||
USING: classes.struct math.matrices.simd math.vectors.simd math
|
||||
literals math.constants math.functions specialized-arrays tools.test ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
FROM: math.matrices => m~ ;
|
||||
SPECIALIZED-ARRAY: float-4
|
||||
in: math.matrices.simd.tests
|
||||
|
|
|
@ -6,7 +6,7 @@ sequences.generalizations sequences.private specialized-arrays
|
|||
typed ;
|
||||
FROM: sequences.private => nth-unsafe ;
|
||||
FROM: math.quaternions.private => (q*sign) ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: float-4
|
||||
in: math.matrices.simd
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ grouping kernel libc locals math math.libm math.order math.ranges
|
|||
sequences sequences.cords sequences.generalizations sequences.private
|
||||
sequences.unrolled sequences.unrolled.private specialized-arrays
|
||||
vocabs ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS:
|
||||
c:char c:short c:int c:longlong
|
||||
c:uchar c:ushort c:uint c:ulonglong
|
||||
|
|
|
@ -8,7 +8,7 @@ specialized-arrays classes.struct eval classes.algebra sets
|
|||
quotations math.constants compiler.units splitting math.matrices
|
||||
math.vectors.simd.cords alien.data ;
|
||||
FROM: math.vectors.simd.intrinsics => alien-vector set-alien-vector ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:float
|
||||
in: math.vectors.simd.tests
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ math.vectors math.vectors.private math.vectors.simd.intrinsics
|
|||
namespaces parser prettyprint.custom quotations sequences
|
||||
sequences.generalizations sequences.private vocabs vocabs.loader
|
||||
words math.bitwise ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: math.vectors.simd
|
||||
|
||||
ERROR: bad-simd-length got expected ;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
USING: arrays alien.c-types assocs kernel sequences math
|
||||
math.functions grouping math.order math.libm math.floats.private
|
||||
fry combinators byte-arrays accessors locals ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
in: math.vectors
|
||||
|
||||
GENERIC: vneg ( v -- w ) ;
|
||||
|
|
|
@ -3,7 +3,7 @@ fry generalizations images kernel locals math math.constants math.functions
|
|||
math.libm math.matrices.simd math.vectors math.vectors.conversion math.vectors.simd
|
||||
memoize random random.mersenne-twister sequences sequences.private specialized-arrays
|
||||
typed ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAYS: c:float c:uchar float-4 uchar-16 ;
|
||||
in: noise
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ hashtables hashtables.private hash-sets hints io.backend
|
|||
io.binary kernel locals math math.bitwise math.constants
|
||||
math.functions math.order math.ranges namespaces sequences
|
||||
sequences.private sets summary system typed vocabs ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: sets sets
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
QUALIFIED-WITH: sets sets ;
|
||||
in: random
|
||||
|
||||
symbol: system-random-generator
|
||||
|
|
|
@ -22,7 +22,7 @@ in: tools.completion
|
|||
{ t } [ { "use:" "" } complete-vocab? ] unit-test
|
||||
{ f } [ { "use:" } complete-vocab? ] unit-test
|
||||
{ t } [ { "unuse:" "A" } complete-vocab? ] unit-test
|
||||
{ t } [ { "QUALIFIED:" "A" } complete-vocab? ] unit-test
|
||||
{ t } [ { "qualified:" "A" } complete-vocab? ] unit-test
|
||||
{ t } [ { "QUALIFIED-WITH:" "A" } complete-vocab? ] unit-test
|
||||
{ t } [ { "USING:" "A" "B" "C" } complete-vocab? ] unit-test
|
||||
{ f } [ { "USING:" "A" "B" "C" ";" } complete-vocab? ] unit-test
|
||||
|
|
|
@ -114,7 +114,7 @@ PRIVATE>
|
|||
<PRIVATE
|
||||
|
||||
: (complete-single-vocab?) ( str -- ? )
|
||||
{ "in:" "use:" "unuse:" "QUALIFIED:" "QUALIFIED-WITH:" }
|
||||
{ "in:" "use:" "unuse:" "qualified:" "QUALIFIED-WITH:" }
|
||||
member? ; inline
|
||||
|
||||
: complete-single-vocab? ( tokens -- ? )
|
||||
|
|
|
@ -7,7 +7,7 @@ tools.deploy.config.editor assocs hashtables prettyprint
|
|||
io.backend.unix cocoa io.encodings.utf8 io.backend
|
||||
cocoa.application cocoa.classes cocoa.plists
|
||||
combinators vocabs.metadata vocabs.loader ;
|
||||
QUALIFIED-WITH: tools.deploy.unix unix
|
||||
QUALIFIED-WITH: tools.deploy.unix unix ;
|
||||
in: tools.deploy.macosx
|
||||
|
||||
: bundle-dir ( -- dir )
|
||||
|
|
|
@ -6,7 +6,7 @@ USING: accessors arrays byte-arrays fry kernel layouts math
|
|||
math.bitwise math.order sequences sets slots.syntax
|
||||
tools.image-analyzer.relocations ;
|
||||
in: tools.image-analyzer.references
|
||||
QUALIFIED-WITH: tools.image-analyzer.vm vm
|
||||
QUALIFIED-WITH: tools.image-analyzer.vm vm ;
|
||||
|
||||
! Edges in the heap
|
||||
GENERIC: pointers ( heap heap-node struct -- seq ) ;
|
||||
|
|
|
@ -6,7 +6,7 @@ assocs byte-arrays classes.struct continuations fry grouping
|
|||
kernel libc literals math sequences splitting strings system
|
||||
system-info.macosx tools.ps unix unix.time unix.types ;
|
||||
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
|
||||
in: tools.ps.macosx
|
||||
|
||||
|
|
|
@ -52,8 +52,8 @@ fry
|
|||
adsoda
|
||||
adsoda.tools
|
||||
;
|
||||
QUALIFIED-WITH: ui.pens.solid s
|
||||
QUALIFIED-WITH: ui.gadgets.wrappers w
|
||||
QUALIFIED-WITH: ui.pens.solid s ;
|
||||
QUALIFIED-WITH: ui.gadgets.wrappers w ;
|
||||
|
||||
|
||||
in: 4DNav
|
||||
|
|
|
@ -8,7 +8,7 @@ kernel locals math math.bitwise math.blas.matrices
|
|||
math.blas.vectors math.constants math.functions math.matrices
|
||||
math.order math.vectors memoize namespaces sequences
|
||||
sequences.deep ;
|
||||
QUALIFIED-WITH: bitstreams bs
|
||||
QUALIFIED-WITH: bitstreams bs ;
|
||||
in: images.jpeg
|
||||
|
||||
singleton: jpeg-image
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors alien alien.data arrays assocs compiler.units
|
|||
effects io.backend io.pathnames kernel llvm.core llvm.jit
|
||||
llvm.reader llvm.types make namespaces sequences
|
||||
specialized-arrays vocabs words ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
QUALIFIED-WITH: alien.c-types c ;
|
||||
SPECIALIZED-ARRAY: c:void*
|
||||
in: llvm.invoker
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
USING: accessors arrays kernel math.rectangles sequences
|
||||
ui.gadgets.controls models.combinators ui.gadgets ui.gadgets.glass
|
||||
ui.gadgets.labels ui.gestures ;
|
||||
QUALIFIED-WITH: ui.gadgets.tables tbl
|
||||
QUALIFIED-WITH: ui.gadgets.tables tbl ;
|
||||
in: ui.gadgets.comboboxes
|
||||
|
||||
TUPLE: combo-table < table spawner ;
|
||||
|
|
|
@ -3,8 +3,8 @@ models.combinators ui.gadgets ui.gadgets.borders ui.gadgets.buttons
|
|||
ui.gadgets.buttons.private ui.gadgets.editors ui.gadgets.editors.private
|
||||
words images.loader ui.gadgets.scrollers ui.images vocabs.parser lexer
|
||||
models.range ui.gadgets.sliders ;
|
||||
QUALIFIED-WITH: ui.gadgets.sliders slider
|
||||
QUALIFIED-WITH: ui.gadgets.tables tbl
|
||||
QUALIFIED-WITH: ui.gadgets.sliders slider ;
|
||||
QUALIFIED-WITH: ui.gadgets.tables tbl ;
|
||||
EXCLUDE: ui.gadgets.editors => model-field ;
|
||||
in: ui.gadgets.controls
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ models monads namespaces parser sequences
|
|||
sequences.extras models.combinators ui.gadgets
|
||||
ui.gadgets.tracks words ui.gadgets.controls ;
|
||||
QUALIFIED: make
|
||||
QUALIFIED-WITH: ui.gadgets.books book
|
||||
QUALIFIED-WITH: ui.gadgets.books book ;
|
||||
in: ui.gadgets.layout
|
||||
|
||||
symbol: templates
|
||||
|
|
Loading…
Reference in New Issue