diff --git a/basis/specialized-vectors/mirrors/authors.txt b/basis/specialized-vectors/mirrors/authors.txt new file mode 100644 index 0000000000..1901f27a24 --- /dev/null +++ b/basis/specialized-vectors/mirrors/authors.txt @@ -0,0 +1 @@ +Slava Pestov diff --git a/basis/specialized-vectors/mirrors/mirrors.factor b/basis/specialized-vectors/mirrors/mirrors.factor new file mode 100644 index 0000000000..61d9a40f8f --- /dev/null +++ b/basis/specialized-vectors/mirrors/mirrors.factor @@ -0,0 +1,6 @@ +! Copyright (C) 2010 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: specialized-vectors mirrors ; +IN: specialized-vectors.mirrors + +INSTANCE: specialized-vector enumerated-sequence diff --git a/basis/specialized-vectors/specialized-vectors.factor b/basis/specialized-vectors/specialized-vectors.factor index f96aea6815..f1a7a014eb 100644 --- a/basis/specialized-vectors/specialized-vectors.factor +++ b/basis/specialized-vectors/specialized-vectors.factor @@ -3,25 +3,27 @@ USING: accessors alien alien.c-types alien.parser assocs compiler.units functors growable kernel lexer math namespaces parser prettyprint.custom sequences specialized-arrays -specialized-arrays.private strings vocabs vocabs.parser -vocabs.generated fry make ; +specialized-arrays.private strings vocabs vocabs.loader +vocabs.parser vocabs.generated fry make ; FROM: sequences.private => nth-unsafe ; FROM: specialized-arrays.private => nth-c-ptr direct-like ; QUALIFIED: vectors.functor IN: specialized-vectors +MIXIN: specialized-vector + IS <${A}> +A IS ${T}-array + IS <${A}> IS ->V DEFERS >${V} -V{ DEFINES ${V}{ +>V DEFERS >${V} +V{ DEFINES ${V}{ WHERE @@ -45,6 +47,7 @@ M: V nth-c-ptr underlying>> nth-c-ptr ; inline SYNTAX: V{ \ } [ >V ] parse-literal ; +INSTANCE: V specialized-vector INSTANCE: V growable ;FUNCTOR @@ -78,3 +81,5 @@ SYNTAX: SPECIALIZED-VECTOR: scan-c-type [ define-array-vocab use-vocab ] [ define-vector-vocab use-vocab ] bi ; + +{ "specialized-vectors" "mirrors" } "specialized-vectors.mirrors" require-when