diff --git a/basis/alien/complex/functor/summary.txt b/basis/alien/complex/functor/summary.txt new file mode 100644 index 0000000000..17454036c5 --- /dev/null +++ b/basis/alien/complex/functor/summary.txt @@ -0,0 +1 @@ +Code generation for C99 complex number support diff --git a/basis/alien/parser/summary.txt b/basis/alien/parser/summary.txt new file mode 100644 index 0000000000..4290040372 --- /dev/null +++ b/basis/alien/parser/summary.txt @@ -0,0 +1 @@ +Utilities used in implementation of alien parsing words diff --git a/basis/alien/prettyprint/summary.txt b/basis/alien/prettyprint/summary.txt new file mode 100644 index 0000000000..06fcfd0078 --- /dev/null +++ b/basis/alien/prettyprint/summary.txt @@ -0,0 +1 @@ +Prettyprinting aliens and DLLs diff --git a/basis/alien/strings/summary.txt b/basis/alien/strings/summary.txt new file mode 100644 index 0000000000..8ea3806523 --- /dev/null +++ b/basis/alien/strings/summary.txt @@ -0,0 +1 @@ +Passing Factor strings as C strings and vice versa diff --git a/basis/alien/strings/unix/summary.txt b/basis/alien/strings/unix/summary.txt new file mode 100644 index 0000000000..27e7f4cfb1 --- /dev/null +++ b/basis/alien/strings/unix/summary.txt @@ -0,0 +1 @@ +Default string encoding on Unix diff --git a/basis/alien/strings/windows/summary.txt b/basis/alien/strings/windows/summary.txt new file mode 100644 index 0000000000..42bffbb300 --- /dev/null +++ b/basis/alien/strings/windows/summary.txt @@ -0,0 +1 @@ +Default string encoding on Windows diff --git a/basis/alien/structs/fields/summary.txt b/basis/alien/structs/fields/summary.txt new file mode 100644 index 0000000000..d9370ca575 --- /dev/null +++ b/basis/alien/structs/fields/summary.txt @@ -0,0 +1 @@ +Struct field implementation and reflection support diff --git a/basis/assoc-heaps/summary.txt b/basis/assoc-heaps/summary.txt new file mode 100644 index 0000000000..792be0a9ec --- /dev/null +++ b/basis/assoc-heaps/summary.txt @@ -0,0 +1 @@ +Priority queue with fast insertion, removal of first element, and lookup of arbitrary elements by key diff --git a/basis/bitstreams/summary.txt b/basis/bitstreams/summary.txt new file mode 100644 index 0000000000..32b21d6e73 --- /dev/null +++ b/basis/bitstreams/summary.txt @@ -0,0 +1 @@ +Reading sequences of bits from a byte stream diff --git a/basis/bootstrap/help/help.factor b/basis/bootstrap/help/help.factor index 145738ff45..c3e74f7863 100644 --- a/basis/bootstrap/help/help.factor +++ b/basis/bootstrap/help/help.factor @@ -5,12 +5,13 @@ IN: bootstrap.help : load-help ( -- ) "help.lint" require + "tools.vocabs.browser" require "alien.syntax" require "compiler" require t load-help? set-global - [ drop ] load-vocab-hook [ + [ vocab ] load-vocab-hook [ dictionary get values [ docs-loaded?>> not ] filter [ load-docs ] each diff --git a/basis/bootstrap/stage2.factor b/basis/bootstrap/stage2.factor index b521244fe0..070618ebb4 100644 --- a/basis/bootstrap/stage2.factor +++ b/basis/bootstrap/stage2.factor @@ -93,9 +93,9 @@ SYMBOL: bootstrap-time "tools.deploy.shaker" run ] [ "staging" get [ - "resource:basis/bootstrap/finish-staging.factor" run-file + "vocab:bootstrap/finish-staging.factor" run-file ] [ - "resource:basis/bootstrap/finish-bootstrap.factor" run-file + "vocab:bootstrap/finish-bootstrap.factor" run-file ] if "output-image" get save-image-and-exit @@ -104,6 +104,6 @@ SYMBOL: bootstrap-time drop [ load-help? off - "resource:basis/bootstrap/bootstrap-error.factor" run-file + "vocab:bootstrap/bootstrap-error.factor" run-file ] with-scope ] recover diff --git a/basis/byte-vectors/byte-vectors-docs.factor b/basis/byte-vectors/byte-vectors-docs.factor index 3873f73bfe..f304dca488 100644 --- a/basis/byte-vectors/byte-vectors-docs.factor +++ b/basis/byte-vectors/byte-vectors-docs.factor @@ -1,9 +1,8 @@ -USING: arrays byte-arrays help.markup help.syntax kernel -byte-vectors.private combinators ; +USING: arrays byte-arrays help.markup help.syntax kernel combinators ; IN: byte-vectors ARTICLE: "byte-vectors" "Byte vectors" -"A byte vector is a resizable mutable sequence of unsigned bytes. Byte vector words are found in the " { $vocab-link "byte-vectors" } " vocabulary." +"The " { $vocab-link "byte-vectors" } " vocabulary implements resizable mutable sequence of unsigned bytes. Byte vectors implement the " { $link "sequence-protocol" } " and thus all " { $link "sequences" } " can be used with them." $nl "Byte vectors form a class:" { $subsection byte-vector } diff --git a/basis/cairo/ffi/summary.txt b/basis/cairo/ffi/summary.txt new file mode 100644 index 0000000000..7fe88a8026 --- /dev/null +++ b/basis/cairo/ffi/summary.txt @@ -0,0 +1 @@ +Low-level alien interface to Cairo library diff --git a/basis/cairo/gadgets/summary.txt b/basis/cairo/gadgets/summary.txt new file mode 100644 index 0000000000..18dc464b16 --- /dev/null +++ b/basis/cairo/gadgets/summary.txt @@ -0,0 +1 @@ +UI gadget for rendering graphics with Cairo diff --git a/basis/calendar/format/macros/summary.txt b/basis/calendar/format/macros/summary.txt new file mode 100644 index 0000000000..92c347a875 --- /dev/null +++ b/basis/calendar/format/macros/summary.txt @@ -0,0 +1 @@ +Implementation details for calendar.format diff --git a/basis/calendar/unix/summary.txt b/basis/calendar/unix/summary.txt new file mode 100644 index 0000000000..b57628b637 --- /dev/null +++ b/basis/calendar/unix/summary.txt @@ -0,0 +1 @@ +Unix-specific timezone support and C library time data types diff --git a/basis/calendar/windows/summary.txt b/basis/calendar/windows/summary.txt new file mode 100644 index 0000000000..1fdbc43acb --- /dev/null +++ b/basis/calendar/windows/summary.txt @@ -0,0 +1 @@ +Windows-specific timezone support diff --git a/basis/call/summary.txt b/basis/call/summary.txt new file mode 100644 index 0000000000..d449497971 --- /dev/null +++ b/basis/call/summary.txt @@ -0,0 +1 @@ +Calling arbitrary quotations and executing arbitrary words with a static stack effect diff --git a/basis/checksums/adler-32/summary.txt b/basis/checksums/adler-32/summary.txt new file mode 100644 index 0000000000..86ce15b536 --- /dev/null +++ b/basis/checksums/adler-32/summary.txt @@ -0,0 +1 @@ +Adler-32 checksum algorithm diff --git a/basis/checksums/md5/summary.txt b/basis/checksums/md5/summary.txt new file mode 100644 index 0000000000..fae2ff8a1c --- /dev/null +++ b/basis/checksums/md5/summary.txt @@ -0,0 +1 @@ +MD5 checksum algorithm diff --git a/basis/checksums/null/summary.txt b/basis/checksums/null/summary.txt new file mode 100644 index 0000000000..2d4eedd2fc --- /dev/null +++ b/basis/checksums/null/summary.txt @@ -0,0 +1 @@ +Dummy checksum algorithm diff --git a/basis/checksums/openssl/summary.txt b/basis/checksums/openssl/summary.txt new file mode 100644 index 0000000000..e13a387197 --- /dev/null +++ b/basis/checksums/openssl/summary.txt @@ -0,0 +1 @@ +OpenSSL's MD5 and SHA1 checksums diff --git a/basis/checksums/sha1/summary.txt b/basis/checksums/sha1/summary.txt new file mode 100644 index 0000000000..d8da1df0aa --- /dev/null +++ b/basis/checksums/sha1/summary.txt @@ -0,0 +1 @@ +SHA1 checksum algorithm diff --git a/basis/checksums/sha2/summary.txt b/basis/checksums/sha2/summary.txt new file mode 100644 index 0000000000..04365d439f --- /dev/null +++ b/basis/checksums/sha2/summary.txt @@ -0,0 +1 @@ +SHA2 checksum algorithm diff --git a/basis/checksums/stream/summary.txt b/basis/checksums/stream/summary.txt new file mode 100644 index 0000000000..12fcb8cb2f --- /dev/null +++ b/basis/checksums/stream/summary.txt @@ -0,0 +1 @@ +Computing checksums of streaming data diff --git a/basis/cocoa/enumeration/summary.txt b/basis/cocoa/enumeration/summary.txt new file mode 100644 index 0000000000..ce593b730f --- /dev/null +++ b/basis/cocoa/enumeration/summary.txt @@ -0,0 +1 @@ +Support for iterating over NSFastEnumerations diff --git a/basis/cocoa/plists/summary.txt b/basis/cocoa/plists/summary.txt new file mode 100644 index 0000000000..155307fbc3 --- /dev/null +++ b/basis/cocoa/plists/summary.txt @@ -0,0 +1 @@ +Reading and writing Cocoa property lists diff --git a/basis/colors/gray/summary.txt b/basis/colors/gray/summary.txt new file mode 100644 index 0000000000..55db158c19 --- /dev/null +++ b/basis/colors/gray/summary.txt @@ -0,0 +1 @@ +Grayscale colors diff --git a/basis/colors/hsv/summary.txt b/basis/colors/hsv/summary.txt new file mode 100644 index 0000000000..bb946f0282 --- /dev/null +++ b/basis/colors/hsv/summary.txt @@ -0,0 +1 @@ +Hue-saturation-value colors diff --git a/basis/combinators/short-circuit/smart/summary.txt b/basis/combinators/short-circuit/smart/summary.txt new file mode 100644 index 0000000000..7779f91802 --- /dev/null +++ b/basis/combinators/short-circuit/smart/summary.txt @@ -0,0 +1 @@ +Short-circuiting logical operations which infer the arity diff --git a/basis/combinators/short-circuit/summary.txt b/basis/combinators/short-circuit/summary.txt new file mode 100644 index 0000000000..4b930db94c --- /dev/null +++ b/basis/combinators/short-circuit/summary.txt @@ -0,0 +1 @@ +Short-circuiting logical operations diff --git a/basis/combinators/smart/summary.txt b/basis/combinators/smart/summary.txt new file mode 100644 index 0000000000..10475cc5b2 --- /dev/null +++ b/basis/combinators/smart/summary.txt @@ -0,0 +1 @@ +Combinators which infer arities diff --git a/basis/compiler/alien/summary.txt b/basis/compiler/alien/summary.txt new file mode 100644 index 0000000000..5fc715b478 --- /dev/null +++ b/basis/compiler/alien/summary.txt @@ -0,0 +1 @@ +Common code used for analysis and code generation of alien bindings diff --git a/basis/compiler/cfg/alias-analysis/summary.txt b/basis/compiler/cfg/alias-analysis/summary.txt new file mode 100644 index 0000000000..c7e7c030bc --- /dev/null +++ b/basis/compiler/cfg/alias-analysis/summary.txt @@ -0,0 +1 @@ +Alias analysis for stack operations, array elements and tuple slots diff --git a/basis/compiler/cfg/copy-prop/summary.txt b/basis/compiler/cfg/copy-prop/summary.txt new file mode 100644 index 0000000000..4273830158 --- /dev/null +++ b/basis/compiler/cfg/copy-prop/summary.txt @@ -0,0 +1 @@ +Common code used by several passes to perform copy propagation diff --git a/basis/compiler/cfg/dead-code/summary.txt b/basis/compiler/cfg/dead-code/summary.txt new file mode 100644 index 0000000000..c66cd99606 --- /dev/null +++ b/basis/compiler/cfg/dead-code/summary.txt @@ -0,0 +1 @@ +Dead-code elimination diff --git a/basis/compiler/cfg/debugger/summary.txt b/basis/compiler/cfg/debugger/summary.txt new file mode 100644 index 0000000000..43e4191880 --- /dev/null +++ b/basis/compiler/cfg/debugger/summary.txt @@ -0,0 +1 @@ +Tools for debugging low-level optimizer diff --git a/basis/compiler/cfg/def-use/summary.txt b/basis/compiler/cfg/def-use/summary.txt new file mode 100644 index 0000000000..e28231e1bc --- /dev/null +++ b/basis/compiler/cfg/def-use/summary.txt @@ -0,0 +1 @@ +Common code used by several passes for def-use analysis diff --git a/basis/compiler/cfg/hats/summary.txt b/basis/compiler/cfg/hats/summary.txt new file mode 100644 index 0000000000..d0ef839c6b --- /dev/null +++ b/basis/compiler/cfg/hats/summary.txt @@ -0,0 +1 @@ +Utility for constructing basic blocks diff --git a/basis/compiler/cfg/height/summary.txt b/basis/compiler/cfg/height/summary.txt new file mode 100644 index 0000000000..ce1974ad60 --- /dev/null +++ b/basis/compiler/cfg/height/summary.txt @@ -0,0 +1 @@ +Stack height normalization coalesces height changes at start of basic block diff --git a/basis/compiler/cfg/instructions/summary.txt b/basis/compiler/cfg/instructions/summary.txt new file mode 100644 index 0000000000..803d6e3391 --- /dev/null +++ b/basis/compiler/cfg/instructions/summary.txt @@ -0,0 +1 @@ +Basic block instructions diff --git a/basis/compiler/cfg/instructions/syntax/summary.txt b/basis/compiler/cfg/instructions/syntax/summary.txt new file mode 100644 index 0000000000..944c38e972 --- /dev/null +++ b/basis/compiler/cfg/instructions/syntax/summary.txt @@ -0,0 +1 @@ +Parsing word for defining instructions diff --git a/basis/compiler/cfg/intrinsics/alien/summary.txt b/basis/compiler/cfg/intrinsics/alien/summary.txt new file mode 100644 index 0000000000..682acebb81 --- /dev/null +++ b/basis/compiler/cfg/intrinsics/alien/summary.txt @@ -0,0 +1 @@ +Generating instructions for alien calls diff --git a/basis/compiler/cfg/intrinsics/allot/summary.txt b/basis/compiler/cfg/intrinsics/allot/summary.txt new file mode 100644 index 0000000000..dc335f3ab3 --- /dev/null +++ b/basis/compiler/cfg/intrinsics/allot/summary.txt @@ -0,0 +1 @@ +Generating instructions for inline memory allocation diff --git a/basis/compiler/cfg/intrinsics/fixnum/summary.txt b/basis/compiler/cfg/intrinsics/fixnum/summary.txt new file mode 100644 index 0000000000..648573bbe2 --- /dev/null +++ b/basis/compiler/cfg/intrinsics/fixnum/summary.txt @@ -0,0 +1 @@ +Generating instructions for fixnum arithmetic diff --git a/basis/compiler/cfg/intrinsics/float/summary.txt b/basis/compiler/cfg/intrinsics/float/summary.txt new file mode 100644 index 0000000000..3da4a1346d --- /dev/null +++ b/basis/compiler/cfg/intrinsics/float/summary.txt @@ -0,0 +1 @@ +Generating instructions for floating point arithmetic diff --git a/basis/compiler/cfg/intrinsics/misc/summary.txt b/basis/compiler/cfg/intrinsics/misc/summary.txt new file mode 100644 index 0000000000..295a34b049 --- /dev/null +++ b/basis/compiler/cfg/intrinsics/misc/summary.txt @@ -0,0 +1 @@ +Generating instructions for miscellaneous primitives diff --git a/basis/compiler/cfg/intrinsics/slots/summary.txt b/basis/compiler/cfg/intrinsics/slots/summary.txt new file mode 100644 index 0000000000..fd3c17071b --- /dev/null +++ b/basis/compiler/cfg/intrinsics/slots/summary.txt @@ -0,0 +1 @@ +Generating instructions for slot access diff --git a/basis/compiler/cfg/intrinsics/summary.txt b/basis/compiler/cfg/intrinsics/summary.txt new file mode 100644 index 0000000000..511091c400 --- /dev/null +++ b/basis/compiler/cfg/intrinsics/summary.txt @@ -0,0 +1 @@ +Generating instructions from certain primitives diff --git a/basis/compiler/cfg/iterator/summary.txt b/basis/compiler/cfg/iterator/summary.txt new file mode 100644 index 0000000000..b5afb479bd --- /dev/null +++ b/basis/compiler/cfg/iterator/summary.txt @@ -0,0 +1 @@ +Utility for iterating for high-level IR diff --git a/basis/compiler/cfg/linear-scan/allocation/summary.txt b/basis/compiler/cfg/linear-scan/allocation/summary.txt new file mode 100644 index 0000000000..bb0290feb6 --- /dev/null +++ b/basis/compiler/cfg/linear-scan/allocation/summary.txt @@ -0,0 +1 @@ +Allocating registers for live intervals diff --git a/basis/compiler/cfg/linear-scan/assignment/summary.txt b/basis/compiler/cfg/linear-scan/assignment/summary.txt new file mode 100644 index 0000000000..9f6b1b8ff5 --- /dev/null +++ b/basis/compiler/cfg/linear-scan/assignment/summary.txt @@ -0,0 +1 @@ +Assigning registers to live intervals diff --git a/basis/compiler/cfg/linear-scan/debugger/summary.txt b/basis/compiler/cfg/linear-scan/debugger/summary.txt new file mode 100644 index 0000000000..73f2210478 --- /dev/null +++ b/basis/compiler/cfg/linear-scan/debugger/summary.txt @@ -0,0 +1 @@ +Tools for debugging register allocator diff --git a/basis/compiler/cfg/linear-scan/live-intervals/summary.txt b/basis/compiler/cfg/linear-scan/live-intervals/summary.txt new file mode 100644 index 0000000000..e12e4c37e3 --- /dev/null +++ b/basis/compiler/cfg/linear-scan/live-intervals/summary.txt @@ -0,0 +1 @@ +Live intervals diff --git a/basis/compiler/cfg/linear-scan/summary.txt b/basis/compiler/cfg/linear-scan/summary.txt new file mode 100644 index 0000000000..51858c8ada --- /dev/null +++ b/basis/compiler/cfg/linear-scan/summary.txt @@ -0,0 +1 @@ +Linear-scan register allocation diff --git a/basis/compiler/cfg/linearization/summary.txt b/basis/compiler/cfg/linearization/summary.txt new file mode 100644 index 0000000000..96daec8046 --- /dev/null +++ b/basis/compiler/cfg/linearization/summary.txt @@ -0,0 +1 @@ +Flattening CFG into MR (machine representation) diff --git a/basis/compiler/cfg/optimizer/summary.txt b/basis/compiler/cfg/optimizer/summary.txt new file mode 100644 index 0000000000..d6b0ad899a --- /dev/null +++ b/basis/compiler/cfg/optimizer/summary.txt @@ -0,0 +1 @@ +Top-level harness for CFG optimization diff --git a/basis/compiler/cfg/predecessors/summary.txt b/basis/compiler/cfg/predecessors/summary.txt new file mode 100644 index 0000000000..89e9a9026e --- /dev/null +++ b/basis/compiler/cfg/predecessors/summary.txt @@ -0,0 +1 @@ +Computing predecessors of basic blocks in CFG diff --git a/basis/compiler/cfg/registers/summary.txt b/basis/compiler/cfg/registers/summary.txt new file mode 100644 index 0000000000..5258598ab6 --- /dev/null +++ b/basis/compiler/cfg/registers/summary.txt @@ -0,0 +1 @@ +Virtual single-assignment registers diff --git a/basis/compiler/cfg/rpo/summary.txt b/basis/compiler/cfg/rpo/summary.txt new file mode 100644 index 0000000000..bcb03ef9d9 --- /dev/null +++ b/basis/compiler/cfg/rpo/summary.txt @@ -0,0 +1 @@ +Reverse post-order linearization of CFG diff --git a/basis/compiler/cfg/stack-frame/summary.txt b/basis/compiler/cfg/stack-frame/summary.txt new file mode 100644 index 0000000000..1ad913a1d3 --- /dev/null +++ b/basis/compiler/cfg/stack-frame/summary.txt @@ -0,0 +1 @@ +Computing stack frame size and layout diff --git a/basis/compiler/cfg/stacks/summary.txt b/basis/compiler/cfg/stacks/summary.txt new file mode 100644 index 0000000000..63da52fc21 --- /dev/null +++ b/basis/compiler/cfg/stacks/summary.txt @@ -0,0 +1 @@ +Generating instructions for accessing the data and retain stacks diff --git a/basis/compiler/cfg/summary.txt b/basis/compiler/cfg/summary.txt new file mode 100644 index 0000000000..8cbb6a5951 --- /dev/null +++ b/basis/compiler/cfg/summary.txt @@ -0,0 +1 @@ +Low-level control flow graph IR diff --git a/basis/compiler/cfg/two-operand/summary.txt b/basis/compiler/cfg/two-operand/summary.txt new file mode 100644 index 0000000000..6c9154d306 --- /dev/null +++ b/basis/compiler/cfg/two-operand/summary.txt @@ -0,0 +1 @@ +Converting three-operand instructions into two-operand form diff --git a/basis/compiler/cfg/useless-blocks/summary.txt b/basis/compiler/cfg/useless-blocks/summary.txt new file mode 100644 index 0000000000..616fae71c2 --- /dev/null +++ b/basis/compiler/cfg/useless-blocks/summary.txt @@ -0,0 +1 @@ +Eliminating unreachable basic blocks and unconditional jumps diff --git a/basis/compiler/cfg/utilities/summary.txt b/basis/compiler/cfg/utilities/summary.txt new file mode 100644 index 0000000000..7bb20b1609 --- /dev/null +++ b/basis/compiler/cfg/utilities/summary.txt @@ -0,0 +1 @@ +Utility words used by CFG optimization diff --git a/basis/compiler/cfg/value-numbering/expressions/summary.txt b/basis/compiler/cfg/value-numbering/expressions/summary.txt new file mode 100644 index 0000000000..22aacde2f4 --- /dev/null +++ b/basis/compiler/cfg/value-numbering/expressions/summary.txt @@ -0,0 +1 @@ +Value numbering expressions diff --git a/basis/compiler/cfg/value-numbering/graph/summary.txt b/basis/compiler/cfg/value-numbering/graph/summary.txt new file mode 100644 index 0000000000..f6fb58d0dc --- /dev/null +++ b/basis/compiler/cfg/value-numbering/graph/summary.txt @@ -0,0 +1 @@ +Value numbering expression graph diff --git a/basis/compiler/cfg/value-numbering/propagate/summary.txt b/basis/compiler/cfg/value-numbering/propagate/summary.txt new file mode 100644 index 0000000000..fd56a8e099 --- /dev/null +++ b/basis/compiler/cfg/value-numbering/propagate/summary.txt @@ -0,0 +1 @@ +Propagation pass to update code after value numbering diff --git a/basis/compiler/cfg/value-numbering/rewrite/summary.txt b/basis/compiler/cfg/value-numbering/rewrite/summary.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/basis/compiler/cfg/value-numbering/rewrite/summary.txt @@ -0,0 +1 @@ + diff --git a/basis/compiler/cfg/value-numbering/simplify/summary.txt b/basis/compiler/cfg/value-numbering/simplify/summary.txt new file mode 100644 index 0000000000..1027c83ce4 --- /dev/null +++ b/basis/compiler/cfg/value-numbering/simplify/summary.txt @@ -0,0 +1 @@ +Algebraic simplification of expressions diff --git a/basis/compiler/cfg/value-numbering/summary.txt b/basis/compiler/cfg/value-numbering/summary.txt new file mode 100644 index 0000000000..8d48ebe2d2 --- /dev/null +++ b/basis/compiler/cfg/value-numbering/summary.txt @@ -0,0 +1 @@ +Local value numbering for common subexpression elimination diff --git a/basis/compiler/cfg/write-barrier/summary.txt b/basis/compiler/cfg/write-barrier/summary.txt new file mode 100644 index 0000000000..453cda66f4 --- /dev/null +++ b/basis/compiler/cfg/write-barrier/summary.txt @@ -0,0 +1 @@ +Write barrier elimination diff --git a/basis/compiler/codegen/summary.txt b/basis/compiler/codegen/summary.txt new file mode 100644 index 0000000000..7a6e01c0c6 --- /dev/null +++ b/basis/compiler/codegen/summary.txt @@ -0,0 +1 @@ +Code generation from MR (machine representation) diff --git a/basis/compiler/tree/builder/summary.txt b/basis/compiler/tree/builder/summary.txt new file mode 100644 index 0000000000..de3a6f981f --- /dev/null +++ b/basis/compiler/tree/builder/summary.txt @@ -0,0 +1 @@ +Constructing high-level tree IR diff --git a/basis/compiler/tree/checker/summary.txt b/basis/compiler/tree/checker/summary.txt new file mode 100644 index 0000000000..257abfef83 --- /dev/null +++ b/basis/compiler/tree/checker/summary.txt @@ -0,0 +1 @@ +Debugging tool for checking various invariants of tree IR diff --git a/basis/compiler/tree/cleanup/summary.txt b/basis/compiler/tree/cleanup/summary.txt new file mode 100644 index 0000000000..de7b8e32a6 --- /dev/null +++ b/basis/compiler/tree/cleanup/summary.txt @@ -0,0 +1 @@ +Finalizing speculative inlining and constant folding from propagation pass diff --git a/basis/compiler/tree/combinators/summary.txt b/basis/compiler/tree/combinators/summary.txt new file mode 100644 index 0000000000..8e9114ecf4 --- /dev/null +++ b/basis/compiler/tree/combinators/summary.txt @@ -0,0 +1 @@ +Combinators for iterating over tree IR diff --git a/basis/compiler/tree/comparisons/summary.txt b/basis/compiler/tree/comparisons/summary.txt new file mode 100644 index 0000000000..9d92ac4616 --- /dev/null +++ b/basis/compiler/tree/comparisons/summary.txt @@ -0,0 +1 @@ +Utilities for working with binary comparison operations diff --git a/basis/compiler/tree/dead-code/branches/summary.txt b/basis/compiler/tree/dead-code/branches/summary.txt new file mode 100644 index 0000000000..f635191c9a --- /dev/null +++ b/basis/compiler/tree/dead-code/branches/summary.txt @@ -0,0 +1 @@ +Dead branch elimination diff --git a/basis/compiler/tree/dead-code/liveness/summary.txt b/basis/compiler/tree/dead-code/liveness/summary.txt new file mode 100644 index 0000000000..f18a3304b0 --- /dev/null +++ b/basis/compiler/tree/dead-code/liveness/summary.txt @@ -0,0 +1 @@ +Liveness analysis diff --git a/basis/compiler/tree/dead-code/recursive/summary.txt b/basis/compiler/tree/dead-code/recursive/summary.txt new file mode 100644 index 0000000000..3d51eaf5a6 --- /dev/null +++ b/basis/compiler/tree/dead-code/recursive/summary.txt @@ -0,0 +1 @@ +Dead code elimination for inline recursive combinators diff --git a/basis/compiler/tree/dead-code/simple/summary.txt b/basis/compiler/tree/dead-code/simple/summary.txt new file mode 100644 index 0000000000..8f8f091d1a --- /dev/null +++ b/basis/compiler/tree/dead-code/simple/summary.txt @@ -0,0 +1 @@ +Dead code elimination for straight-line code diff --git a/basis/compiler/tree/dead-code/summary.txt b/basis/compiler/tree/dead-code/summary.txt new file mode 100644 index 0000000000..82b391c2bf --- /dev/null +++ b/basis/compiler/tree/dead-code/summary.txt @@ -0,0 +1 @@ +Dead code elimination diff --git a/basis/compiler/tree/debugger/summary.txt b/basis/compiler/tree/debugger/summary.txt new file mode 100644 index 0000000000..c91394ddcf --- /dev/null +++ b/basis/compiler/tree/debugger/summary.txt @@ -0,0 +1 @@ +Tools for debugging high-level optimizer diff --git a/basis/compiler/tree/def-use/simplified/summary.txt b/basis/compiler/tree/def-use/simplified/summary.txt new file mode 100644 index 0000000000..f87e851dba --- /dev/null +++ b/basis/compiler/tree/def-use/simplified/summary.txt @@ -0,0 +1 @@ +Variant form of def-use chains used by modular arithmetic optimization diff --git a/basis/compiler/tree/escape-analysis/allocations/summary.txt b/basis/compiler/tree/escape-analysis/allocations/summary.txt new file mode 100644 index 0000000000..422a8a49aa --- /dev/null +++ b/basis/compiler/tree/escape-analysis/allocations/summary.txt @@ -0,0 +1 @@ +Tracking memory allocations diff --git a/basis/compiler/tree/escape-analysis/branches/summary.txt b/basis/compiler/tree/escape-analysis/branches/summary.txt new file mode 100644 index 0000000000..592797bf4d --- /dev/null +++ b/basis/compiler/tree/escape-analysis/branches/summary.txt @@ -0,0 +1 @@ +Escape analysis for conditionals diff --git a/basis/compiler/tree/escape-analysis/check/summary.txt b/basis/compiler/tree/escape-analysis/check/summary.txt new file mode 100644 index 0000000000..fe000ceb9c --- /dev/null +++ b/basis/compiler/tree/escape-analysis/check/summary.txt @@ -0,0 +1 @@ +Skipping escape analysis pass for code which does not allocate diff --git a/basis/compiler/tree/escape-analysis/nodes/summary.txt b/basis/compiler/tree/escape-analysis/nodes/summary.txt new file mode 100644 index 0000000000..f2febaf020 --- /dev/null +++ b/basis/compiler/tree/escape-analysis/nodes/summary.txt @@ -0,0 +1 @@ +Per-node dispatch for escape analysis diff --git a/basis/compiler/tree/escape-analysis/recursive/summary.txt b/basis/compiler/tree/escape-analysis/recursive/summary.txt new file mode 100644 index 0000000000..e412f5de64 --- /dev/null +++ b/basis/compiler/tree/escape-analysis/recursive/summary.txt @@ -0,0 +1 @@ +Escape analysis for inline recursive combinators diff --git a/basis/compiler/tree/escape-analysis/simple/summary.txt b/basis/compiler/tree/escape-analysis/simple/summary.txt new file mode 100644 index 0000000000..8035abc38c --- /dev/null +++ b/basis/compiler/tree/escape-analysis/simple/summary.txt @@ -0,0 +1 @@ +Escape analysis for straight-line code diff --git a/basis/compiler/tree/escape-analysis/summary.txt b/basis/compiler/tree/escape-analysis/summary.txt new file mode 100644 index 0000000000..dba0e47015 --- /dev/null +++ b/basis/compiler/tree/escape-analysis/summary.txt @@ -0,0 +1 @@ +Escape analysis for tuple unboxing diff --git a/basis/compiler/tree/finalization/summary.txt b/basis/compiler/tree/finalization/summary.txt new file mode 100644 index 0000000000..8967945bc1 --- /dev/null +++ b/basis/compiler/tree/finalization/summary.txt @@ -0,0 +1 @@ +Final pass cleans up high-level IR diff --git a/basis/compiler/tree/identities/summary.txt b/basis/compiler/tree/identities/summary.txt new file mode 100644 index 0000000000..67c9f9f82a --- /dev/null +++ b/basis/compiler/tree/identities/summary.txt @@ -0,0 +1 @@ +Applying arithmetic identities to integer code diff --git a/basis/compiler/tree/late-optimizations/summary.txt b/basis/compiler/tree/late-optimizations/summary.txt new file mode 100644 index 0000000000..9d3e2dbc1a --- /dev/null +++ b/basis/compiler/tree/late-optimizations/summary.txt @@ -0,0 +1 @@ +Utilities used by several optimization passes run in the later stages diff --git a/basis/compiler/tree/modular-arithmetic/summary.txt b/basis/compiler/tree/modular-arithmetic/summary.txt new file mode 100644 index 0000000000..88ecbe16a6 --- /dev/null +++ b/basis/compiler/tree/modular-arithmetic/summary.txt @@ -0,0 +1 @@ +Modular arithmetic optimization diff --git a/basis/compiler/tree/normalization/introductions/summary.txt b/basis/compiler/tree/normalization/introductions/summary.txt new file mode 100644 index 0000000000..baee9c818a --- /dev/null +++ b/basis/compiler/tree/normalization/introductions/summary.txt @@ -0,0 +1 @@ +Coalesce value introduction nodes to beginning of each tree leaf diff --git a/basis/compiler/tree/normalization/renaming/summary.txt b/basis/compiler/tree/normalization/renaming/summary.txt new file mode 100644 index 0000000000..0fc4f5968f --- /dev/null +++ b/basis/compiler/tree/normalization/renaming/summary.txt @@ -0,0 +1 @@ +Support for renaming values diff --git a/basis/compiler/tree/normalization/summary.txt b/basis/compiler/tree/normalization/summary.txt new file mode 100644 index 0000000000..9bb06734a1 --- /dev/null +++ b/basis/compiler/tree/normalization/summary.txt @@ -0,0 +1 @@ +Normalize IR created by high level IR builder to simplify subsequent passes diff --git a/basis/compiler/tree/optimizer/summary.txt b/basis/compiler/tree/optimizer/summary.txt new file mode 100644 index 0000000000..f00b60f8d8 --- /dev/null +++ b/basis/compiler/tree/optimizer/summary.txt @@ -0,0 +1 @@ +Top-level harness for high-level optimizer diff --git a/basis/compiler/tree/propagation/branches/summary.txt b/basis/compiler/tree/propagation/branches/summary.txt new file mode 100644 index 0000000000..c4dc6758e7 --- /dev/null +++ b/basis/compiler/tree/propagation/branches/summary.txt @@ -0,0 +1 @@ +Sparse propagation for branches diff --git a/basis/compiler/tree/propagation/constraints/summary.txt b/basis/compiler/tree/propagation/constraints/summary.txt new file mode 100644 index 0000000000..186b5c036b --- /dev/null +++ b/basis/compiler/tree/propagation/constraints/summary.txt @@ -0,0 +1 @@ +Support for predicated value info diff --git a/basis/compiler/tree/propagation/copy/summary.txt b/basis/compiler/tree/propagation/copy/summary.txt new file mode 100644 index 0000000000..2deae090c9 --- /dev/null +++ b/basis/compiler/tree/propagation/copy/summary.txt @@ -0,0 +1 @@ +Copy propagation diff --git a/basis/compiler/tree/propagation/info/summary.txt b/basis/compiler/tree/propagation/info/summary.txt new file mode 100644 index 0000000000..26faa340d5 --- /dev/null +++ b/basis/compiler/tree/propagation/info/summary.txt @@ -0,0 +1 @@ +Value info data type and operations diff --git a/basis/compiler/tree/propagation/inlining/summary.txt b/basis/compiler/tree/propagation/inlining/summary.txt new file mode 100644 index 0000000000..e4fc7152cd --- /dev/null +++ b/basis/compiler/tree/propagation/inlining/summary.txt @@ -0,0 +1 @@ +Method inlining and dispatch elimination diff --git a/basis/compiler/tree/propagation/known-words/summary.txt b/basis/compiler/tree/propagation/known-words/summary.txt new file mode 100644 index 0000000000..b53506f80d --- /dev/null +++ b/basis/compiler/tree/propagation/known-words/summary.txt @@ -0,0 +1 @@ +Propagation rules for certain known words diff --git a/basis/compiler/tree/propagation/nodes/summary.txt b/basis/compiler/tree/propagation/nodes/summary.txt new file mode 100644 index 0000000000..c4fcd37c59 --- /dev/null +++ b/basis/compiler/tree/propagation/nodes/summary.txt @@ -0,0 +1 @@ +Node dispatch for propagation pass diff --git a/basis/compiler/tree/propagation/recursive/summary.txt b/basis/compiler/tree/propagation/recursive/summary.txt new file mode 100644 index 0000000000..b0c844c747 --- /dev/null +++ b/basis/compiler/tree/propagation/recursive/summary.txt @@ -0,0 +1 @@ +Propagation for inline recursive combinators diff --git a/basis/compiler/tree/propagation/simple/summary.txt b/basis/compiler/tree/propagation/simple/summary.txt new file mode 100644 index 0000000000..25e631f1cc --- /dev/null +++ b/basis/compiler/tree/propagation/simple/summary.txt @@ -0,0 +1 @@ +Propagation for straight-line code diff --git a/basis/compiler/tree/propagation/slots/summary.txt b/basis/compiler/tree/propagation/slots/summary.txt new file mode 100644 index 0000000000..b47a4b5006 --- /dev/null +++ b/basis/compiler/tree/propagation/slots/summary.txt @@ -0,0 +1 @@ +Propagation for read-only tuple slots and array lengths diff --git a/basis/compiler/tree/recursive/summary.txt b/basis/compiler/tree/recursive/summary.txt new file mode 100644 index 0000000000..202a3d1262 --- /dev/null +++ b/basis/compiler/tree/recursive/summary.txt @@ -0,0 +1 @@ +Analysis of inline recursive combinators and loop detection diff --git a/basis/compiler/tree/tuple-unboxing/summary.txt b/basis/compiler/tree/tuple-unboxing/summary.txt new file mode 100644 index 0000000000..3f13c95637 --- /dev/null +++ b/basis/compiler/tree/tuple-unboxing/summary.txt @@ -0,0 +1 @@ +Tuple unboxing diff --git a/basis/compiler/utilities/summary.txt b/basis/compiler/utilities/summary.txt new file mode 100644 index 0000000000..be0857c646 --- /dev/null +++ b/basis/compiler/utilities/summary.txt @@ -0,0 +1 @@ +Utilities used by high-level IR optimizations diff --git a/basis/compression/lzw/summary.txt b/basis/compression/lzw/summary.txt new file mode 100644 index 0000000000..bbc8c67be9 --- /dev/null +++ b/basis/compression/lzw/summary.txt @@ -0,0 +1 @@ +LZW compression and decompression diff --git a/basis/compression/zlib/ffi/summary.txt b/basis/compression/zlib/ffi/summary.txt new file mode 100644 index 0000000000..0047076a95 --- /dev/null +++ b/basis/compression/zlib/ffi/summary.txt @@ -0,0 +1 @@ +Low-level FFI bindings to ZLIB compression library diff --git a/basis/compression/zlib/summary.txt b/basis/compression/zlib/summary.txt new file mode 100644 index 0000000000..e7caf47c49 --- /dev/null +++ b/basis/compression/zlib/summary.txt @@ -0,0 +1 @@ +Wrapper ZLIB compression library diff --git a/basis/concurrency/flags/summary.txt b/basis/concurrency/flags/summary.txt new file mode 100644 index 0000000000..f8981c85ed --- /dev/null +++ b/basis/concurrency/flags/summary.txt @@ -0,0 +1 @@ +Flags for cross-thread notification of conditions diff --git a/basis/concurrency/mailboxes/summary.txt b/basis/concurrency/mailboxes/summary.txt new file mode 100644 index 0000000000..2a228ebc82 --- /dev/null +++ b/basis/concurrency/mailboxes/summary.txt @@ -0,0 +1 @@ +Mailboxes for inter-thread message passing diff --git a/basis/constructors/summary.txt b/basis/constructors/summary.txt new file mode 100644 index 0000000000..6f135bd17a --- /dev/null +++ b/basis/constructors/summary.txt @@ -0,0 +1 @@ +Utility to simplify tuple constructors diff --git a/basis/core-foundation/arrays/summary.txt b/basis/core-foundation/arrays/summary.txt new file mode 100644 index 0000000000..5ac5a7e87f --- /dev/null +++ b/basis/core-foundation/arrays/summary.txt @@ -0,0 +1 @@ +Wrapper for CFArray data type diff --git a/basis/core-foundation/bundles/summary.txt b/basis/core-foundation/bundles/summary.txt new file mode 100644 index 0000000000..911084a182 --- /dev/null +++ b/basis/core-foundation/bundles/summary.txt @@ -0,0 +1 @@ +Wrapper for CFBundle data type diff --git a/basis/core-foundation/data/summary.txt b/basis/core-foundation/data/summary.txt new file mode 100644 index 0000000000..74b02449fa --- /dev/null +++ b/basis/core-foundation/data/summary.txt @@ -0,0 +1 @@ +Wrapper for various CF data types diff --git a/basis/core-foundation/file-descriptors/summary.txt b/basis/core-foundation/file-descriptors/summary.txt new file mode 100644 index 0000000000..ac2afab5a8 --- /dev/null +++ b/basis/core-foundation/file-descriptors/summary.txt @@ -0,0 +1 @@ +Wrapper for CFFileDescriptor diff --git a/basis/core-foundation/fsevents/summary.txt b/basis/core-foundation/fsevents/summary.txt new file mode 100644 index 0000000000..17ab7f49a0 --- /dev/null +++ b/basis/core-foundation/fsevents/summary.txt @@ -0,0 +1 @@ +Wrapper for FSEventStream diff --git a/basis/core-foundation/strings/summary.txt b/basis/core-foundation/strings/summary.txt new file mode 100644 index 0000000000..4242691164 --- /dev/null +++ b/basis/core-foundation/strings/summary.txt @@ -0,0 +1 @@ +Wrapper for CFString diff --git a/basis/core-foundation/time/summary.txt b/basis/core-foundation/time/summary.txt new file mode 100644 index 0000000000..c8f1f3bf59 --- /dev/null +++ b/basis/core-foundation/time/summary.txt @@ -0,0 +1 @@ +Wrapper for CF time-related data types diff --git a/basis/core-foundation/timers/summary.txt b/basis/core-foundation/timers/summary.txt new file mode 100644 index 0000000000..c9b95849c4 --- /dev/null +++ b/basis/core-foundation/timers/summary.txt @@ -0,0 +1 @@ +Wrapper for CFTimer diff --git a/basis/core-foundation/urls/summary.txt b/basis/core-foundation/urls/summary.txt new file mode 100644 index 0000000000..2ae52e53ba --- /dev/null +++ b/basis/core-foundation/urls/summary.txt @@ -0,0 +1 @@ +Wrapper for CFURL diff --git a/basis/cpu/ppc/linux/bootstrap.factor b/basis/cpu/ppc/linux/bootstrap.factor index fd9bab4835..cf6517b664 100644 --- a/basis/cpu/ppc/linux/bootstrap.factor +++ b/basis/cpu/ppc/linux/bootstrap.factor @@ -6,5 +6,5 @@ IN: bootstrap.ppc : c-area-size ( -- n ) 10 bootstrap-cells ; : lr-save ( -- n ) bootstrap-cell ; -<< "resource:basis/cpu/ppc/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/ppc/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/ppc/linux/summary.txt b/basis/cpu/ppc/linux/summary.txt new file mode 100644 index 0000000000..a35c0374b9 --- /dev/null +++ b/basis/cpu/ppc/linux/summary.txt @@ -0,0 +1 @@ +Linux/PPC ABI support diff --git a/basis/cpu/ppc/macosx/bootstrap.factor b/basis/cpu/ppc/macosx/bootstrap.factor index f2ddc42688..0c383c2fb0 100644 --- a/basis/cpu/ppc/macosx/bootstrap.factor +++ b/basis/cpu/ppc/macosx/bootstrap.factor @@ -6,5 +6,5 @@ IN: bootstrap.ppc : c-area-size ( -- n ) 14 bootstrap-cells ; : lr-save ( -- n ) 2 bootstrap-cells ; -<< "resource:basis/cpu/ppc/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/ppc/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/ppc/macosx/summary.txt b/basis/cpu/ppc/macosx/summary.txt new file mode 100644 index 0000000000..52ace04cc8 --- /dev/null +++ b/basis/cpu/ppc/macosx/summary.txt @@ -0,0 +1 @@ +Mac OS X/PPC ABI support diff --git a/basis/cpu/x86/32/bootstrap.factor b/basis/cpu/x86/32/bootstrap.factor index f29dec128c..5d88f699b8 100644 --- a/basis/cpu/x86/32/bootstrap.factor +++ b/basis/cpu/x86/32/bootstrap.factor @@ -30,5 +30,5 @@ IN: bootstrap.x86 (JMP) drop ] rc-relative rt-primitive 1 jit-primitive jit-define -<< "resource:basis/cpu/x86/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/x86/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/x86/32/summary.txt b/basis/cpu/x86/32/summary.txt new file mode 100644 index 0000000000..09e329f942 --- /dev/null +++ b/basis/cpu/x86/32/summary.txt @@ -0,0 +1 @@ +32-bit x86 code generator diff --git a/basis/cpu/x86/64/bootstrap.factor b/basis/cpu/x86/64/bootstrap.factor index efa3de3065..ddf5791009 100644 --- a/basis/cpu/x86/64/bootstrap.factor +++ b/basis/cpu/x86/64/bootstrap.factor @@ -30,5 +30,5 @@ IN: bootstrap.x86 temp1 JMP ! go ] rc-absolute-cell rt-primitive 1 rex-length + jit-primitive jit-define -<< "resource:basis/cpu/x86/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/x86/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/x86/64/unix/bootstrap.factor b/basis/cpu/x86/64/unix/bootstrap.factor index 20a953b6d5..e48a20a9de 100644 --- a/basis/cpu/x86/64/unix/bootstrap.factor +++ b/basis/cpu/x86/64/unix/bootstrap.factor @@ -7,5 +7,5 @@ IN: bootstrap.x86 : stack-frame-size ( -- n ) 4 bootstrap-cells ; : arg ( -- reg ) RDI ; -<< "resource:basis/cpu/x86/64/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/x86/64/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/x86/64/unix/summary.txt b/basis/cpu/x86/64/unix/summary.txt new file mode 100644 index 0000000000..8689936077 --- /dev/null +++ b/basis/cpu/x86/64/unix/summary.txt @@ -0,0 +1 @@ +64-bit x86 Unix ABI support diff --git a/basis/cpu/x86/64/winnt/bootstrap.factor b/basis/cpu/x86/64/winnt/bootstrap.factor index 3accca400f..ff15ef27af 100644 --- a/basis/cpu/x86/64/winnt/bootstrap.factor +++ b/basis/cpu/x86/64/winnt/bootstrap.factor @@ -7,5 +7,5 @@ IN: bootstrap.x86 : stack-frame-size ( -- n ) 8 bootstrap-cells ; : arg ( -- reg ) RCX ; -<< "resource:basis/cpu/x86/64/bootstrap.factor" parse-file parsed >> +<< "vocab:cpu/x86/64/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/x86/64/winnt/summary.txt b/basis/cpu/x86/64/winnt/summary.txt new file mode 100644 index 0000000000..7f66427cf5 --- /dev/null +++ b/basis/cpu/x86/64/winnt/summary.txt @@ -0,0 +1 @@ +64-bit x86 Windows ABI support diff --git a/basis/cpu/x86/assembler/summary.txt b/basis/cpu/x86/assembler/summary.txt new file mode 100644 index 0000000000..0861fbb17e --- /dev/null +++ b/basis/cpu/x86/assembler/summary.txt @@ -0,0 +1 @@ +x86 assembler diff --git a/basis/cpu/x86/assembler/syntax/summary.txt b/basis/cpu/x86/assembler/syntax/summary.txt new file mode 100644 index 0000000000..82e436dc22 --- /dev/null +++ b/basis/cpu/x86/assembler/syntax/summary.txt @@ -0,0 +1 @@ +Parsing words used by x86 assembler diff --git a/basis/db/errors/summary.txt b/basis/db/errors/summary.txt new file mode 100644 index 0000000000..1cd102173f --- /dev/null +++ b/basis/db/errors/summary.txt @@ -0,0 +1 @@ +Errors thrown by database library diff --git a/basis/db/pools/summary.txt b/basis/db/pools/summary.txt new file mode 100644 index 0000000000..d1f51c47e6 --- /dev/null +++ b/basis/db/pools/summary.txt @@ -0,0 +1 @@ +Database connection pooling diff --git a/basis/db/postgresql/summary.txt b/basis/db/postgresql/summary.txt new file mode 100644 index 0000000000..f0e494623e --- /dev/null +++ b/basis/db/postgresql/summary.txt @@ -0,0 +1 @@ +PostgreSQL database connector diff --git a/basis/db/queries/summary.txt b/basis/db/queries/summary.txt new file mode 100644 index 0000000000..b5f395b183 --- /dev/null +++ b/basis/db/queries/summary.txt @@ -0,0 +1 @@ +Database queries diff --git a/basis/db/sqlite/summary.txt b/basis/db/sqlite/summary.txt new file mode 100644 index 0000000000..f5997a3c69 --- /dev/null +++ b/basis/db/sqlite/summary.txt @@ -0,0 +1 @@ +SQLite database connector diff --git a/basis/db/tuples/summary.txt b/basis/db/tuples/summary.txt new file mode 100644 index 0000000000..3ffaa8acac --- /dev/null +++ b/basis/db/tuples/summary.txt @@ -0,0 +1 @@ +O/R mapper diff --git a/basis/db/types/summary.txt b/basis/db/types/summary.txt new file mode 100644 index 0000000000..c474fe6460 --- /dev/null +++ b/basis/db/types/summary.txt @@ -0,0 +1 @@ +SQL data type support diff --git a/basis/debugger/debugger.factor b/basis/debugger/debugger.factor index 1440e7ca5d..5f7431ecf3 100644 --- a/basis/debugger/debugger.factor +++ b/basis/debugger/debugger.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2004, 2008 Slava Pestov. +! Copyright (C) 2004, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: slots arrays definitions generic hashtables summary io kernel math namespaces make prettyprint prettyprint.config @@ -9,7 +9,7 @@ combinators generic.math classes.builtin classes compiler.units generic.standard vocabs init kernel.private io.encodings accessors math.order destructors source-files parser classes.tuple.parser effects.parser lexer compiler.errors -generic.parser strings.parser vocabs.parser ; +generic.parser strings.parser vocabs.loader vocabs.parser ; IN: debugger GENERIC: error. ( error -- ) @@ -70,7 +70,7 @@ M: string error. print ; "Type :help for debugging help." print flush ; : try ( quot -- ) - [ print-error-and-restarts ] recover ; + [ print-error-and-restarts ] recover ; inline : expired-error. ( obj -- ) "Object did not survive image save/load: " write third . ; @@ -323,3 +323,5 @@ M: bad-escape summary drop "Bad escape code" ; M: bad-literal-tuple summary drop "Bad literal tuple" ; M: check-mixin-class summary drop "Not a mixin class" ; + +M: not-found-in-roots summary drop "Cannot resolve vocab: path" ; diff --git a/basis/delegate/protocols/summary.txt b/basis/delegate/protocols/summary.txt new file mode 100644 index 0000000000..3a74997468 --- /dev/null +++ b/basis/delegate/protocols/summary.txt @@ -0,0 +1 @@ +Various core protocols for use with delegation diff --git a/basis/endian/summary.txt b/basis/endian/summary.txt new file mode 100644 index 0000000000..e5380c1709 --- /dev/null +++ b/basis/endian/summary.txt @@ -0,0 +1 @@ +Utilities for working with big-endian and little-endian data diff --git a/basis/environment/unix/macosx/summary.txt b/basis/environment/unix/macosx/summary.txt new file mode 100644 index 0000000000..d7f2162a5e --- /dev/null +++ b/basis/environment/unix/macosx/summary.txt @@ -0,0 +1 @@ +Mac OS X environment variables implementation diff --git a/basis/environment/unix/summary.txt b/basis/environment/unix/summary.txt new file mode 100644 index 0000000000..cc4d5ded5b --- /dev/null +++ b/basis/environment/unix/summary.txt @@ -0,0 +1 @@ +Unix environment variables implementation diff --git a/basis/environment/winnt/summary.txt b/basis/environment/winnt/summary.txt new file mode 100644 index 0000000000..905970977f --- /dev/null +++ b/basis/environment/winnt/summary.txt @@ -0,0 +1 @@ +Windows environment variables implementation diff --git a/basis/farkup/tags.txt b/basis/farkup/tags.txt index 8e27be7d61..5df72b3467 100644 --- a/basis/farkup/tags.txt +++ b/basis/farkup/tags.txt @@ -1 +1,2 @@ text +web diff --git a/basis/ftp/client/summary.txt b/basis/ftp/client/summary.txt new file mode 100644 index 0000000000..17a546eea3 --- /dev/null +++ b/basis/ftp/client/summary.txt @@ -0,0 +1 @@ +FTP client diff --git a/basis/ftp/server/summary.txt b/basis/ftp/server/summary.txt new file mode 100644 index 0000000000..e839816e20 --- /dev/null +++ b/basis/ftp/server/summary.txt @@ -0,0 +1 @@ +FTP server diff --git a/basis/ftp/summary.txt b/basis/ftp/summary.txt new file mode 100644 index 0000000000..a1c6bf62e2 --- /dev/null +++ b/basis/ftp/summary.txt @@ -0,0 +1 @@ +Common code shared by FTP client and server diff --git a/basis/help/html/html.factor b/basis/help/html/html.factor index cccf320e44..f8d06064f0 100644 --- a/basis/help/html/html.factor +++ b/basis/help/html/html.factor @@ -54,7 +54,7 @@ M: f topic>filename* drop \ f topic>filename* ; M: topic url-of topic>filename ; : help-stylesheet ( -- string ) - "resource:basis/help/html/stylesheet.css" ascii file-contents + "vocab:help/html/stylesheet.css" ascii file-contents [XML XML] ; : help>html ( topic -- xml ) diff --git a/basis/help/html/summary.txt b/basis/help/html/summary.txt new file mode 100644 index 0000000000..913a9a5766 --- /dev/null +++ b/basis/help/html/summary.txt @@ -0,0 +1 @@ +Converting help to HTML diff --git a/basis/html/summary.txt b/basis/html/summary.txt new file mode 100644 index 0000000000..6fb5a3ca8d --- /dev/null +++ b/basis/html/summary.txt @@ -0,0 +1 @@ +HTML utilities diff --git a/basis/html/templates/chloe/chloe-tests.factor b/basis/html/templates/chloe/chloe-tests.factor index 4e454dcee4..86f86a8468 100644 --- a/basis/html/templates/chloe/chloe-tests.factor +++ b/basis/html/templates/chloe/chloe-tests.factor @@ -10,7 +10,7 @@ IN: html.templates.chloe.tests "?>" split1 nip ; inline : test-template ( name -- template ) - "resource:basis/html/templates/chloe/test/" + "vocab:html/templates/chloe/test/" prepend ; [ "Hello world" ] [ diff --git a/basis/html/templates/chloe/chloe.factor b/basis/html/templates/chloe/chloe.factor index 439b207063..da0d45a9d4 100644 --- a/basis/html/templates/chloe/chloe.factor +++ b/basis/html/templates/chloe/chloe.factor @@ -107,7 +107,7 @@ TUPLE: cached-template path last-modified quot ; path>> ".xml" append [ ] [ file-info modified>> ] - [ utf8 read-xml compile-template ] tri + [ file>xml compile-template ] tri \ cached-template boa ; \ load-template DEBUG add-input-logging diff --git a/basis/html/templates/chloe/compiler/summary.txt b/basis/html/templates/chloe/compiler/summary.txt new file mode 100644 index 0000000000..c77d722739 --- /dev/null +++ b/basis/html/templates/chloe/compiler/summary.txt @@ -0,0 +1 @@ +Compiling Chloe templates to Factor quotations diff --git a/basis/html/templates/fhtml/fhtml-tests.factor b/basis/html/templates/fhtml/fhtml-tests.factor index 6cebb55688..55cf90c2dd 100644 --- a/basis/html/templates/fhtml/fhtml-tests.factor +++ b/basis/html/templates/fhtml/fhtml-tests.factor @@ -4,7 +4,7 @@ tools.test sequences parser splitting prettyprint ; IN: html.templates.fhtml.tests : test-template ( path -- ? ) - "resource:basis/html/templates/fhtml/test/" + "vocab:html/templates/fhtml/test/" prepend [ ".fhtml" append [ call-template ] with-string-writer ] [ ".html" append utf8 file-contents ] bi diff --git a/basis/http/http-tests.factor b/basis/http/http-tests.factor index 4f685945aa..229d05615e 100644 --- a/basis/http/http-tests.factor +++ b/basis/http/http-tests.factor @@ -213,7 +213,7 @@ test-db [ add-quit-action - "resource:basis/http/test" >>default + "vocab:http/test" >>default "nested" add-responder [ URL" redirect-loop" ] >>display @@ -226,7 +226,7 @@ test-db [ >url clone "port" get >>port ; [ t ] [ - "resource:basis/http/test/foo.html" ascii file-contents + "vocab:http/test/foo.html" ascii file-contents "http://localhost/nested/foo.html" add-port http-get nip = ] unit-test diff --git a/basis/http/server/dispatchers/summary.txt b/basis/http/server/dispatchers/summary.txt new file mode 100644 index 0000000000..b3a5b41233 --- /dev/null +++ b/basis/http/server/dispatchers/summary.txt @@ -0,0 +1 @@ +Dispatcher responder for dispaching requests to a set of child responders diff --git a/basis/http/server/filters/summary.txt b/basis/http/server/filters/summary.txt new file mode 100644 index 0000000000..dc07e1a32d --- /dev/null +++ b/basis/http/server/filters/summary.txt @@ -0,0 +1 @@ +Filter responders which wrap an underlying responder diff --git a/basis/http/server/redirection/summary.txt b/basis/http/server/redirection/summary.txt new file mode 100644 index 0000000000..1e5f38e8fe --- /dev/null +++ b/basis/http/server/redirection/summary.txt @@ -0,0 +1 @@ +Redirection responses which redirect the client to another URL diff --git a/basis/http/server/remapping/summary.txt b/basis/http/server/remapping/summary.txt new file mode 100644 index 0000000000..4515eeebe8 --- /dev/null +++ b/basis/http/server/remapping/summary.txt @@ -0,0 +1 @@ +Support for port remapping diff --git a/basis/http/server/responses/summary.txt b/basis/http/server/responses/summary.txt new file mode 100644 index 0000000000..091d5869e4 --- /dev/null +++ b/basis/http/server/responses/summary.txt @@ -0,0 +1 @@ +Constructing various simple responses diff --git a/basis/http/server/static/summary.txt b/basis/http/server/static/summary.txt new file mode 100644 index 0000000000..3aa2f3783c --- /dev/null +++ b/basis/http/server/static/summary.txt @@ -0,0 +1 @@ +Serving static files diff --git a/basis/images/bitmap/bitmap-tests.factor b/basis/images/bitmap/bitmap-tests.factor index 102c13c295..e250d81ae5 100644 --- a/basis/images/bitmap/bitmap-tests.factor +++ b/basis/images/bitmap/bitmap-tests.factor @@ -3,16 +3,16 @@ io.files io.files.unique kernel tools.test ; IN: images.bitmap.tests : test-bitmap24 ( -- path ) - "resource:basis/images/test-images/thiswayup24.bmp" ; + "vocab:images/test-images/thiswayup24.bmp" ; : test-bitmap8 ( -- path ) - "resource:basis/images/test-images/rgb8bit.bmp" ; + "vocab:images/test-images/rgb8bit.bmp" ; : test-bitmap4 ( -- path ) - "resource:basis/images/test-images/rgb4bit.bmp" ; + "vocab:images/test-images/rgb4bit.bmp" ; : test-bitmap1 ( -- path ) - "resource:basis/images/test-images/1bit.bmp" ; + "vocab:images/test-images/1bit.bmp" ; [ t ] [ diff --git a/basis/images/bitmap/summary.txt b/basis/images/bitmap/summary.txt new file mode 100644 index 0000000000..2411e584db --- /dev/null +++ b/basis/images/bitmap/summary.txt @@ -0,0 +1 @@ +Windows BMP image loader diff --git a/basis/images/loader/summary.txt b/basis/images/loader/summary.txt new file mode 100644 index 0000000000..69d35c4597 --- /dev/null +++ b/basis/images/loader/summary.txt @@ -0,0 +1 @@ +Loading bitmap images from files diff --git a/basis/images/summary.txt b/basis/images/summary.txt new file mode 100644 index 0000000000..3c1ddbb47d --- /dev/null +++ b/basis/images/summary.txt @@ -0,0 +1 @@ +Bitmap images diff --git a/basis/images/tiff/summary.txt b/basis/images/tiff/summary.txt new file mode 100644 index 0000000000..ff340daf1b --- /dev/null +++ b/basis/images/tiff/summary.txt @@ -0,0 +1 @@ +TIFF image loader diff --git a/basis/interpolate/summary.txt b/basis/interpolate/summary.txt new file mode 100644 index 0000000000..b9cf1b7724 --- /dev/null +++ b/basis/interpolate/summary.txt @@ -0,0 +1 @@ +Interpolating variable values into strings diff --git a/basis/io/backend/unix/multiplexers/epoll/summary.txt b/basis/io/backend/unix/multiplexers/epoll/summary.txt new file mode 100644 index 0000000000..74c9b80761 --- /dev/null +++ b/basis/io/backend/unix/multiplexers/epoll/summary.txt @@ -0,0 +1 @@ +Linux epoll multiplexer diff --git a/basis/io/backend/unix/multiplexers/kqueue/summary.txt b/basis/io/backend/unix/multiplexers/kqueue/summary.txt new file mode 100644 index 0000000000..74f9ce6edd --- /dev/null +++ b/basis/io/backend/unix/multiplexers/kqueue/summary.txt @@ -0,0 +1 @@ +BSD and Mac OS X kqueue multiplexer diff --git a/basis/io/backend/unix/multiplexers/run-loop/summary.txt b/basis/io/backend/unix/multiplexers/run-loop/summary.txt new file mode 100644 index 0000000000..559de8a088 --- /dev/null +++ b/basis/io/backend/unix/multiplexers/run-loop/summary.txt @@ -0,0 +1 @@ +Mac OS X CFRunLoop multiplexer diff --git a/basis/io/backend/unix/multiplexers/select/summary.txt b/basis/io/backend/unix/multiplexers/select/summary.txt new file mode 100644 index 0000000000..46360fd234 --- /dev/null +++ b/basis/io/backend/unix/multiplexers/select/summary.txt @@ -0,0 +1 @@ +Generic Unix select multiplexer diff --git a/basis/io/backend/unix/multiplexers/summary.txt b/basis/io/backend/unix/multiplexers/summary.txt new file mode 100644 index 0000000000..36ac79d083 --- /dev/null +++ b/basis/io/backend/unix/multiplexers/summary.txt @@ -0,0 +1 @@ +Generic protocol for Unix I/O multiplexers diff --git a/basis/io/directories/search/summary.txt b/basis/io/directories/search/summary.txt new file mode 100644 index 0000000000..a9df0baf4c --- /dev/null +++ b/basis/io/directories/search/summary.txt @@ -0,0 +1 @@ +Recursive directory traversal diff --git a/basis/io/directories/unix/unix.factor b/basis/io/directories/unix/unix.factor index 1ef80b3438..89e091f919 100644 --- a/basis/io/directories/unix/unix.factor +++ b/basis/io/directories/unix/unix.factor @@ -27,16 +27,8 @@ M: unix make-directory ( path -- ) M: unix delete-directory ( path -- ) normalize-path rmdir io-error ; -: (copy-file) ( from to -- ) - dup parent-directory make-directories - binary [ - swap binary [ - swap stream-copy - ] with-disposal - ] with-disposal ; - M: unix copy-file ( from to -- ) - [ normalize-path ] bi@ (copy-file) ; + [ normalize-path ] bi@ call-next-method ; : with-unix-directory ( path quot -- ) [ opendir dup [ (io-error) ] unless ] dip diff --git a/basis/io/encodings/8-bit/8-bit.factor b/basis/io/encodings/8-bit/8-bit.factor index a11edeb703..bad2d9fd82 100644 --- a/basis/io/encodings/8-bit/8-bit.factor +++ b/basis/io/encodings/8-bit/8-bit.factor @@ -33,8 +33,8 @@ IN: io.encodings.8-bit } ; : encoding-file ( file-name -- stream ) - "resource:basis/io/encodings/8-bit/" swap ".TXT" - 3append ascii ; + "vocab:io/encodings/8-bit/" swap ".TXT" + 3append ; : process-contents ( lines -- assoc ) [ "#" split1 drop ] map harvest @@ -47,8 +47,8 @@ IN: io.encodings.8-bit : ch>byte ( assoc -- newassoc ) [ swap ] assoc-map >hashtable ; -: parse-file ( stream -- byte>ch ch>byte ) - lines process-contents +: parse-file ( path -- byte>ch ch>byte ) + ascii file-lines process-contents [ byte>ch ] [ ch>byte ] bi ; SYMBOL: 8-bit-encodings diff --git a/basis/io/encodings/chinese/chinese.factor b/basis/io/encodings/chinese/chinese.factor index b0013b6e08..1d6ef52d8d 100644 --- a/basis/io/encodings/chinese/chinese.factor +++ b/basis/io/encodings/chinese/chinese.factor @@ -80,7 +80,7 @@ VALUE: gb>u VALUE: u>gb VALUE: mapping -"resource:basis/io/encodings/chinese/gb-18030-2000.xml" +"vocab:io/encodings/chinese/gb-18030-2000.xml" ascii xml>gb-data [ ranges-u>gb to: u>gb ] [ ranges-gb>u to: gb>u ] bi >biassoc to: mapping diff --git a/basis/io/encodings/chinese/summary.txt b/basis/io/encodings/chinese/summary.txt new file mode 100644 index 0000000000..da296942b0 --- /dev/null +++ b/basis/io/encodings/chinese/summary.txt @@ -0,0 +1 @@ +GB18030 encoding for Chinese text diff --git a/basis/io/encodings/iana/iana.factor b/basis/io/encodings/iana/iana.factor index 6afae92429..a8555ac339 100644 --- a/basis/io/encodings/iana/iana.factor +++ b/basis/io/encodings/iana/iana.factor @@ -21,14 +21,14 @@ ERROR: missing-name encoding ; dup e>n-table get-global at [ ] [ missing-name ] ?if ; e ) +: make-aliases ( file -- n>e ) parse-iana [ [ first ] [ ] bi ] H{ } map>assoc ; : initial-n>e ( -- assoc ) @@ -44,8 +44,8 @@ ERROR: missing-name encoding ; PRIVATE> -"resource:basis/io/encodings/iana/character-sets" -utf8 make-aliases aliases set-global +"vocab:io/encodings/iana/character-sets" +make-aliases aliases set-global n>e-table [ initial-n>e ] initialize e>n-table [ initial-e>n ] initialize diff --git a/basis/io/encodings/japanese/japanese.factor b/basis/io/encodings/japanese/japanese.factor index 194ade377b..8f38f597ca 100644 --- a/basis/io/encodings/japanese/japanese.factor +++ b/basis/io/encodings/japanese/japanese.factor @@ -44,10 +44,10 @@ TUPLE: jis assoc ; : make-jis ( filename -- jis ) ascii file-lines process-jis ; -"resource:basis/io/encodings/japanese/CP932.txt" +"vocab:io/encodings/japanese/CP932.txt" make-jis to: windows-31j-table -"resource:basis/io/encodings/japanese/sjis-0208-1997-std.txt" +"vocab:io/encodings/japanese/sjis-0208-1997-std.txt" make-jis to: shift-jis-table : small? ( char -- ? ) diff --git a/basis/io/encodings/korean/korean-docs.factor b/basis/io/encodings/korean/korean-docs.factor deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/basis/io/encodings/korean/korean.factor b/basis/io/encodings/korean/korean.factor index 4f387d8987..cd98bb1eb0 100644 --- a/basis/io/encodings/korean/korean.factor +++ b/basis/io/encodings/korean/korean.factor @@ -17,7 +17,7 @@ cp949 "EUC-KR" register-encoding : cp949.txt-lines ( -- seq ) ! "cp949.txt" from ... ! - "resource:basis/io/encodings/korean/data/cp949.txt" + "vocab:io/encodings/korean/data/cp949.txt" ascii file-lines ; : drop-comments ( seq -- newseq ) diff --git a/basis/io/encodings/korean/tags.txt b/basis/io/encodings/korean/tags.txt deleted file mode 100644 index 8e27be7d61..0000000000 --- a/basis/io/encodings/korean/tags.txt +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/basis/io/encodings/strict/tags.txt b/basis/io/encodings/strict/tags.txt deleted file mode 100644 index 8e27be7d61..0000000000 --- a/basis/io/encodings/strict/tags.txt +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/basis/io/encodings/string/summary.txt b/basis/io/encodings/string/summary.txt index 59b8927dea..da2f7957b2 100644 --- a/basis/io/encodings/string/summary.txt +++ b/basis/io/encodings/string/summary.txt @@ -1 +1 @@ -Encoding and decoding strings +Converting strings to byte arrays and vice versa diff --git a/basis/io/encodings/string/tags.factor b/basis/io/encodings/string/tags.factor deleted file mode 100644 index 8e27be7d61..0000000000 --- a/basis/io/encodings/string/tags.factor +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/basis/io/encodings/8-bit/tags.txt b/basis/io/encodings/string/tags.txt similarity index 100% rename from basis/io/encodings/8-bit/tags.txt rename to basis/io/encodings/string/tags.txt diff --git a/basis/io/encodings/utf16/tags.txt b/basis/io/encodings/utf16/tags.txt deleted file mode 100644 index 8e27be7d61..0000000000 --- a/basis/io/encodings/utf16/tags.txt +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/basis/io/encodings/utf16n/summary.txt b/basis/io/encodings/utf16n/summary.txt new file mode 100644 index 0000000000..4d94d1bbdb --- /dev/null +++ b/basis/io/encodings/utf16n/summary.txt @@ -0,0 +1 @@ +UTF16 encoding with native byte order diff --git a/basis/io/encodings/utf32/tags.txt b/basis/io/encodings/utf32/tags.txt deleted file mode 100644 index 8e27be7d61..0000000000 --- a/basis/io/encodings/utf32/tags.txt +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/basis/io/files/types/summary.txt b/basis/io/files/types/summary.txt new file mode 100644 index 0000000000..1e0118aa37 --- /dev/null +++ b/basis/io/files/types/summary.txt @@ -0,0 +1 @@ +File types for file-info and directory listing diff --git a/basis/io/files/unique/summary.txt b/basis/io/files/unique/summary.txt new file mode 100644 index 0000000000..08584aae17 --- /dev/null +++ b/basis/io/files/unique/summary.txt @@ -0,0 +1 @@ +Temporary files with unique names diff --git a/basis/io/pipes/summary.txt b/basis/io/pipes/summary.txt new file mode 100644 index 0000000000..3a1f8c7d21 --- /dev/null +++ b/basis/io/pipes/summary.txt @@ -0,0 +1 @@ +Pipes for inter-process communication diff --git a/basis/io/sockets/secure/secure-tests.factor b/basis/io/sockets/secure/secure-tests.factor index 557bba52d2..b5af130168 100644 --- a/basis/io/sockets/secure/secure-tests.factor +++ b/basis/io/sockets/secure/secure-tests.factor @@ -5,8 +5,8 @@ USING: accessors kernel io.sockets io.sockets.secure tools.test ; [ ] [ - "resource:basis/openssl/test/server.pem" >>key-file - "resource:basis/openssl/test/dh1024.pem" >>dh-file + "vocab:openssl/test/server.pem" >>key-file + "vocab:openssl/test/dh1024.pem" >>dh-file "password" >>password [ ] with-secure-context ] unit-test diff --git a/basis/io/sockets/secure/secure.factor b/basis/io/sockets/secure/secure.factor index c4a1475f48..bff2dbaf1a 100644 --- a/basis/io/sockets/secure/secure.factor +++ b/basis/io/sockets/secure/secure.factor @@ -26,7 +26,7 @@ ephemeral-key-bits ; secure-config new SSLv23 >>method 1024 >>ephemeral-key-bits - "resource:basis/openssl/cacert.pem" >>ca-file + "vocab:openssl/cacert.pem" >>ca-file t >>verify ; TUPLE: secure-context config handle disposed ; diff --git a/basis/io/sockets/secure/unix/debug/debug.factor b/basis/io/sockets/secure/unix/debug/debug.factor index d32cdee2ed..10df82ae7b 100644 --- a/basis/io/sockets/secure/unix/debug/debug.factor +++ b/basis/io/sockets/secure/unix/debug/debug.factor @@ -5,7 +5,7 @@ IN: io.sockets.secure.unix.debug : with-test-context ( quot -- ) - "resource:basis/openssl/test/server.pem" >>key-file - "resource:basis/openssl/test/dh1024.pem" >>dh-file + "vocab:openssl/test/server.pem" >>key-file + "vocab:openssl/test/dh1024.pem" >>dh-file "password" >>password swap with-secure-context ; inline diff --git a/basis/io/streams/byte-array/summary.txt b/basis/io/streams/byte-array/summary.txt new file mode 100644 index 0000000000..2f0b772872 --- /dev/null +++ b/basis/io/streams/byte-array/summary.txt @@ -0,0 +1 @@ +Streams for reading and writing bytes in a byte array diff --git a/basis/io/streams/limited/summary.txt b/basis/io/streams/limited/summary.txt new file mode 100644 index 0000000000..386143403f --- /dev/null +++ b/basis/io/streams/limited/summary.txt @@ -0,0 +1 @@ +Streams with a maximum length cutoff diff --git a/basis/io/streams/memory/summary.txt b/basis/io/streams/memory/summary.txt new file mode 100644 index 0000000000..b0ecbf6d5b --- /dev/null +++ b/basis/io/streams/memory/summary.txt @@ -0,0 +1 @@ +Streams for reading data directly from memory diff --git a/basis/lcs/diff2html/summary.txt b/basis/lcs/diff2html/summary.txt new file mode 100644 index 0000000000..066e78a26e --- /dev/null +++ b/basis/lcs/diff2html/summary.txt @@ -0,0 +1 @@ +Pretty HTML rendering of diffs diff --git a/basis/linked-assocs/linked-assocs-tests.factor b/basis/linked-assocs/linked-assocs-tests.factor index 7a259ee59a..5030e93abc 100644 --- a/basis/linked-assocs/linked-assocs-tests.factor +++ b/basis/linked-assocs/linked-assocs-tests.factor @@ -54,4 +54,12 @@ IN: linked-assocs.test { [ [ 1- ] bi@ ] [ 2 / ] } "second" pick set-at 4 6 pick values [ first call ] each + swap values [ second call ] each +] unit-test + +{ V{ { "az" 1 } { "by" 2 } { "cx" 3 } } } [ + + 1 "az" pick set-at + 2 "by" pick set-at + 3 "cx" pick set-at + >alist ] unit-test \ No newline at end of file diff --git a/basis/lists/lazy/examples/summary.txt b/basis/lists/lazy/examples/summary.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/basis/lists/lazy/examples/summary.txt @@ -0,0 +1 @@ + diff --git a/basis/locals/backend/summary.txt b/basis/locals/backend/summary.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/basis/locals/backend/summary.txt @@ -0,0 +1 @@ + diff --git a/basis/locals/definitions/summary.txt b/basis/locals/definitions/summary.txt new file mode 100644 index 0000000000..e08d7bf0a4 --- /dev/null +++ b/basis/locals/definitions/summary.txt @@ -0,0 +1 @@ +Definition protocol implementation for lambda words diff --git a/basis/locals/errors/summary.txt b/basis/locals/errors/summary.txt new file mode 100644 index 0000000000..a5d40df872 --- /dev/null +++ b/basis/locals/errors/summary.txt @@ -0,0 +1 @@ +Errors thrown by locals implementation diff --git a/basis/locals/fry/summary.txt b/basis/locals/fry/summary.txt new file mode 100644 index 0000000000..2173b22649 --- /dev/null +++ b/basis/locals/fry/summary.txt @@ -0,0 +1 @@ +Support for mixing fry and locals diff --git a/basis/locals/macros/summary.txt b/basis/locals/macros/summary.txt new file mode 100644 index 0000000000..92b4c4c775 --- /dev/null +++ b/basis/locals/macros/summary.txt @@ -0,0 +1 @@ +Support for macro expansion inside lambdas diff --git a/basis/locals/parser/summary.txt b/basis/locals/parser/summary.txt new file mode 100644 index 0000000000..095b0e22e7 --- /dev/null +++ b/basis/locals/parser/summary.txt @@ -0,0 +1 @@ +Utility words used by locals parsing words diff --git a/basis/locals/prettyprint/summary.txt b/basis/locals/prettyprint/summary.txt new file mode 100644 index 0000000000..ecfc10483c --- /dev/null +++ b/basis/locals/prettyprint/summary.txt @@ -0,0 +1 @@ +Prettyprinting of lambdas diff --git a/basis/locals/rewrite/closures/summary.txt b/basis/locals/rewrite/closures/summary.txt new file mode 100644 index 0000000000..d0a28aad4f --- /dev/null +++ b/basis/locals/rewrite/closures/summary.txt @@ -0,0 +1 @@ +Rewriting closures to not have any free variables diff --git a/basis/locals/rewrite/point-free/summary.txt b/basis/locals/rewrite/point-free/summary.txt new file mode 100644 index 0000000000..40ab193d72 --- /dev/null +++ b/basis/locals/rewrite/point-free/summary.txt @@ -0,0 +1 @@ +Rewriting applicative code to use the retain stack instead of named values diff --git a/basis/locals/rewrite/sugar/summary.txt b/basis/locals/rewrite/sugar/summary.txt new file mode 100644 index 0000000000..485bb844e4 --- /dev/null +++ b/basis/locals/rewrite/sugar/summary.txt @@ -0,0 +1 @@ +Desugaring locals in literals and let binding diff --git a/basis/locals/types/summary.txt b/basis/locals/types/summary.txt new file mode 100644 index 0000000000..be667d0ffb --- /dev/null +++ b/basis/locals/types/summary.txt @@ -0,0 +1 @@ +Data types used by locals implementation diff --git a/basis/macros/expander/summary.txt b/basis/macros/expander/summary.txt new file mode 100644 index 0000000000..0fd81ed0cf --- /dev/null +++ b/basis/macros/expander/summary.txt @@ -0,0 +1 @@ +Macro expansion utility, used for debugging and in the locals implementation diff --git a/basis/math/partial-dispatch/summary.txt b/basis/math/partial-dispatch/summary.txt new file mode 100644 index 0000000000..a1bc1a16b1 --- /dev/null +++ b/basis/math/partial-dispatch/summary.txt @@ -0,0 +1 @@ +Partially-dispatched math operations, used by the compiler diff --git a/basis/mime/multipart/summary.txt b/basis/mime/multipart/summary.txt new file mode 100644 index 0000000000..ab08c83021 --- /dev/null +++ b/basis/mime/multipart/summary.txt @@ -0,0 +1 @@ +MIME multipart parser diff --git a/basis/mime/types/summary.txt b/basis/mime/types/summary.txt new file mode 100644 index 0000000000..7ead547277 --- /dev/null +++ b/basis/mime/types/summary.txt @@ -0,0 +1 @@ +MIME types database diff --git a/basis/mime/types/types.factor b/basis/mime/types/types.factor index ac5233c543..5693aa9162 100644 --- a/basis/mime/types/types.factor +++ b/basis/mime/types/types.factor @@ -5,7 +5,7 @@ splitting kernel namespaces fry memoize ; IN: mime.types MEMO: mime-db ( -- seq ) - "resource:basis/mime/types/mime.types" ascii file-lines + "vocab:mime/types/mime.types" ascii file-lines [ "#" head? not ] filter [ " \t" split harvest ] map harvest ; : nonstandard-mime-types ( -- assoc ) diff --git a/basis/models/compose/summary.txt b/basis/models/compose/summary.txt new file mode 100644 index 0000000000..962b30ad90 --- /dev/null +++ b/basis/models/compose/summary.txt @@ -0,0 +1 @@ +Composed models combine the values of a sequence of models into one diff --git a/basis/models/delay/summary.txt b/basis/models/delay/summary.txt new file mode 100644 index 0000000000..46fa0d6a75 --- /dev/null +++ b/basis/models/delay/summary.txt @@ -0,0 +1 @@ +Delay models update a fixed period of time after the underlying model changes diff --git a/basis/models/filter/summary.txt b/basis/models/filter/summary.txt new file mode 100644 index 0000000000..a8267ac7ec --- /dev/null +++ b/basis/models/filter/summary.txt @@ -0,0 +1 @@ +Filter models apply a quotation to the value of an underlying model diff --git a/basis/models/history/summary.txt b/basis/models/history/summary.txt new file mode 100644 index 0000000000..76f7b88159 --- /dev/null +++ b/basis/models/history/summary.txt @@ -0,0 +1 @@ +History models remember prior values diff --git a/basis/models/mapping/summary.txt b/basis/models/mapping/summary.txt new file mode 100644 index 0000000000..5b1562124b --- /dev/null +++ b/basis/models/mapping/summary.txt @@ -0,0 +1 @@ +Mapping models combine an assoc of models into a single model diff --git a/basis/models/range/summary.txt b/basis/models/range/summary.txt new file mode 100644 index 0000000000..b00df47fe1 --- /dev/null +++ b/basis/models/range/summary.txt @@ -0,0 +1 @@ +Range models bound their values diff --git a/basis/nibble-arrays/nibble-arrays.factor b/basis/nibble-arrays/nibble-arrays.factor index d1ab0a34c1..22a1515908 100644 --- a/basis/nibble-arrays/nibble-arrays.factor +++ b/basis/nibble-arrays/nibble-arrays.factor @@ -10,7 +10,7 @@ TUPLE: nibble-array bytes ( m -- n ) 1 + 2/ ; inline diff --git a/basis/nibble-arrays/summary.txt b/basis/nibble-arrays/summary.txt new file mode 100644 index 0000000000..ae8abe6b2e --- /dev/null +++ b/basis/nibble-arrays/summary.txt @@ -0,0 +1 @@ +Space-efficient arrays of 4-bit values diff --git a/basis/openssl/libcrypto/summary.txt b/basis/openssl/libcrypto/summary.txt new file mode 100644 index 0000000000..f140b3cbea --- /dev/null +++ b/basis/openssl/libcrypto/summary.txt @@ -0,0 +1 @@ +Low-level FFI binding to libcrypto diff --git a/basis/openssl/libssl/summary.txt b/basis/openssl/libssl/summary.txt new file mode 100644 index 0000000000..e823bb65b5 --- /dev/null +++ b/basis/openssl/libssl/summary.txt @@ -0,0 +1 @@ +Low-level FFI binding to libssl diff --git a/basis/openssl/openssl-tests.factor b/basis/openssl/openssl-tests.factor index 93af70b3e0..aaae521a62 100644 --- a/basis/openssl/openssl-tests.factor +++ b/basis/openssl/openssl-tests.factor @@ -4,17 +4,17 @@ openssl namespaces accessors tools.test continuations kernel ; openssl secure-socket-backend [ [ ] [ - "resource:basis/openssl/test/server.pem" >>key-file - "resource:basis/openssl/test/root.pem" >>ca-file - "resource:basis/openssl/test/dh1024.pem" >>dh-file + "vocab:openssl/test/server.pem" >>key-file + "vocab:openssl/test/root.pem" >>ca-file + "vocab:openssl/test/dh1024.pem" >>dh-file "password" >>password [ ] with-secure-context ] unit-test [ - "resource:basis/openssl/test/server.pem" >>key-file - "resource:basis/openssl/test/root.pem" >>ca-file + "vocab:openssl/test/server.pem" >>key-file + "vocab:openssl/test/root.pem" >>ca-file "wrong password" >>password [ ] with-secure-context ] must-fail diff --git a/basis/pack/summary.txt b/basis/pack/summary.txt new file mode 100644 index 0000000000..ae884f60c5 --- /dev/null +++ b/basis/pack/summary.txt @@ -0,0 +1 @@ +Packing and unpacking binary data diff --git a/basis/peg/ebnf/summary.txt b/basis/peg/ebnf/summary.txt index 473cf4f3a2..76ad8b1b1e 100644 --- a/basis/peg/ebnf/summary.txt +++ b/basis/peg/ebnf/summary.txt @@ -1 +1 @@ -Grammar for parsing EBNF +Declarative EBNF language for writing PEG parsers diff --git a/basis/peg/ebnf/tags.txt b/basis/peg/ebnf/tags.txt index 9da56880c0..5af5dba748 100644 --- a/basis/peg/ebnf/tags.txt +++ b/basis/peg/ebnf/tags.txt @@ -1 +1,2 @@ +text parsing diff --git a/basis/peg/parsers/summary.txt b/basis/peg/parsers/summary.txt new file mode 100644 index 0000000000..a87ccc97b4 --- /dev/null +++ b/basis/peg/parsers/summary.txt @@ -0,0 +1 @@ +Additional PEG parsers diff --git a/basis/io/encodings/ascii/tags.txt b/basis/peg/parsers/tags.txt similarity index 100% rename from basis/io/encodings/ascii/tags.txt rename to basis/peg/parsers/tags.txt diff --git a/basis/peg/summary.txt b/basis/peg/summary.txt index 324a544036..498b4e0bb0 100644 --- a/basis/peg/summary.txt +++ b/basis/peg/summary.txt @@ -1 +1 @@ -Parsing Expression Grammar and Packrat Parser +Parsing expression grammar and packrat parser diff --git a/basis/porter-stemmer/porter-stemmer-tests.factor b/basis/porter-stemmer/porter-stemmer-tests.factor index 72bf5c0bb5..4403541608 100644 --- a/basis/porter-stemmer/porter-stemmer-tests.factor +++ b/basis/porter-stemmer/porter-stemmer-tests.factor @@ -57,8 +57,8 @@ io.files io.encodings.utf8 ; [ "mate" ] [ "mate" step5 "" like ] unit-test [ { } ] [ - "resource:basis/porter-stemmer/test/voc.txt" utf8 file-lines + "vocab:porter-stemmer/test/voc.txt" utf8 file-lines [ stem ] map - "resource:basis/porter-stemmer/test/output.txt" utf8 file-lines + "vocab:porter-stemmer/test/output.txt" utf8 file-lines [ 2array ] 2map [ first2 = not ] filter ] unit-test diff --git a/basis/prettyprint/custom/summary.txt b/basis/prettyprint/custom/summary.txt new file mode 100644 index 0000000000..a9cd58aaf7 --- /dev/null +++ b/basis/prettyprint/custom/summary.txt @@ -0,0 +1 @@ +Protocol for extending the prettyprinter on custom data types diff --git a/basis/random/dummy/summary.txt b/basis/random/dummy/summary.txt new file mode 100644 index 0000000000..706f2c9e7b --- /dev/null +++ b/basis/random/dummy/summary.txt @@ -0,0 +1 @@ +Dummy RNG for testing diff --git a/basis/random/unix/summary.txt b/basis/random/unix/summary.txt new file mode 100644 index 0000000000..c8762e21e5 --- /dev/null +++ b/basis/random/unix/summary.txt @@ -0,0 +1 @@ +Native Unix RNG diff --git a/basis/random/windows/summary.txt b/basis/random/windows/summary.txt new file mode 100644 index 0000000000..0554a506e0 --- /dev/null +++ b/basis/random/windows/summary.txt @@ -0,0 +1 @@ +Native Windows RNG diff --git a/basis/smtp/server/summary.txt b/basis/smtp/server/summary.txt new file mode 100644 index 0000000000..1bcabc1835 --- /dev/null +++ b/basis/smtp/server/summary.txt @@ -0,0 +1 @@ +SMTP server for testing purposes diff --git a/basis/sorting/slots/summary.txt b/basis/sorting/slots/summary.txt new file mode 100644 index 0000000000..240a4ff714 --- /dev/null +++ b/basis/sorting/slots/summary.txt @@ -0,0 +1 @@ +Sorting by tuple slots diff --git a/basis/specialized-arrays/direct/functor/summary.txt b/basis/specialized-arrays/direct/functor/summary.txt new file mode 100644 index 0000000000..79df0a577c --- /dev/null +++ b/basis/specialized-arrays/direct/functor/summary.txt @@ -0,0 +1 @@ +Code generation for direct specialized arrays diff --git a/basis/specialized-arrays/functor/summary.txt b/basis/specialized-arrays/functor/summary.txt new file mode 100644 index 0000000000..77cb2d4d89 --- /dev/null +++ b/basis/specialized-arrays/functor/summary.txt @@ -0,0 +1 @@ +Code generation for specialized arrays diff --git a/basis/specialized-vectors/functor/summary.txt b/basis/specialized-vectors/functor/summary.txt new file mode 100644 index 0000000000..dc26fa6d44 --- /dev/null +++ b/basis/specialized-vectors/functor/summary.txt @@ -0,0 +1 @@ +Code generation for specialized vectors diff --git a/basis/stack-checker/alien/summary.txt b/basis/stack-checker/alien/summary.txt new file mode 100644 index 0000000000..18cf21cd5b --- /dev/null +++ b/basis/stack-checker/alien/summary.txt @@ -0,0 +1 @@ +Stack effect inference for alien calls diff --git a/basis/stack-checker/branches/summary.txt b/basis/stack-checker/branches/summary.txt new file mode 100644 index 0000000000..c63c8d052a --- /dev/null +++ b/basis/stack-checker/branches/summary.txt @@ -0,0 +1 @@ +Stack effect inference for conditionals diff --git a/basis/stack-checker/inlining/summary.txt b/basis/stack-checker/inlining/summary.txt new file mode 100644 index 0000000000..422401d354 --- /dev/null +++ b/basis/stack-checker/inlining/summary.txt @@ -0,0 +1 @@ +Stack effect inference for inline and inline recursive words diff --git a/basis/stack-checker/recursive-state/summary.txt b/basis/stack-checker/recursive-state/summary.txt new file mode 100644 index 0000000000..52f5a14fc5 --- /dev/null +++ b/basis/stack-checker/recursive-state/summary.txt @@ -0,0 +1 @@ +Tracking word nesting during stack effect inference diff --git a/basis/stack-checker/recursive-state/tree/summary.txt b/basis/stack-checker/recursive-state/tree/summary.txt new file mode 100644 index 0000000000..ca96da119a --- /dev/null +++ b/basis/stack-checker/recursive-state/tree/summary.txt @@ -0,0 +1 @@ +Simple binary tree diff --git a/basis/stack-checker/values/summary.txt b/basis/stack-checker/values/summary.txt new file mode 100644 index 0000000000..5b57e95f5c --- /dev/null +++ b/basis/stack-checker/values/summary.txt @@ -0,0 +1 @@ +Abstract stack checker values diff --git a/basis/stack-checker/visitor/dummy/summary.txt b/basis/stack-checker/visitor/dummy/summary.txt new file mode 100644 index 0000000000..b4340ea4d2 --- /dev/null +++ b/basis/stack-checker/visitor/dummy/summary.txt @@ -0,0 +1 @@ +Dummy implementation of node visitor protocol diff --git a/basis/stack-checker/visitor/summary.txt b/basis/stack-checker/visitor/summary.txt new file mode 100644 index 0000000000..29a3c8a41f --- /dev/null +++ b/basis/stack-checker/visitor/summary.txt @@ -0,0 +1 @@ +Node visitor protocol diff --git a/basis/syndication/syndication-tests.factor b/basis/syndication/syndication-tests.factor index 8cfdc9e1d5..616ce2723a 100644 --- a/basis/syndication/syndication-tests.factor +++ b/basis/syndication/syndication-tests.factor @@ -25,7 +25,7 @@ IN: syndication.tests f } } -} ] [ "resource:basis/syndication/test/rss1.xml" load-news-file ] unit-test +} ] [ "vocab:syndication/test/rss1.xml" load-news-file ] unit-test [ T{ feed f @@ -42,5 +42,5 @@ IN: syndication.tests T{ timestamp f 2003 12 13 8 29 29 T{ duration f 0 0 0 -4 0 0 } } } } -} ] [ "resource:basis/syndication/test/atom.xml" load-news-file ] unit-test -[ ] [ "resource:basis/syndication/test/atom.xml" load-news-file feed>xml xml>string drop ] unit-test +} ] [ "vocab:syndication/test/atom.xml" load-news-file ] unit-test +[ ] [ "vocab:syndication/test/atom.xml" load-news-file feed>xml xml>string drop ] unit-test diff --git a/basis/tools/crossref/crossref-tests.factor b/basis/tools/crossref/crossref-tests.factor index 3d09802576..d4f2fea2e5 100755 --- a/basis/tools/crossref/crossref-tests.factor +++ b/basis/tools/crossref/crossref-tests.factor @@ -7,7 +7,7 @@ GENERIC: foo M: integer foo + ; -"resource:basis/tools/crossref/test/foo.factor" run-file +"vocab:tools/crossref/test/foo.factor" run-file [ t ] [ integer \ foo method \ + usage member? ] unit-test [ t ] [ \ foo usage [ pathname? ] any? ] unit-test diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor index ff851edce6..7d8f357240 100755 --- a/basis/tools/deploy/backend/backend.factor +++ b/basis/tools/deploy/backend/backend.factor @@ -58,25 +58,17 @@ DEFER: ?make-staging-image : staging-command-line ( profile -- flags ) [ "-staging" , - dup empty? [ "-i=" my-boot-image-name append , ] [ dup but-last ?make-staging-image - "-resource-path=" "" resource-path append , - "-i=" over but-last staging-image-name append , - "-run=tools.deploy.restage" , ] if - "-output-image=" over staging-image-name append , - "-include=" swap " " join append , - strip-word-names? [ "-no-stack-traces" , ] when - "-no-user-init" , ] { } make ; @@ -101,16 +93,11 @@ DEFER: ?make-staging-image [ "-i=" bootstrap-profile staging-image-name append , - "-resource-path=" "" resource-path append , - "-run=tools.deploy.shaker" , - [ "-deploy-vocab=" prepend , ] [ make-deploy-config "-deploy-config=" prepend , ] bi - "-output-image=" prepend , - strip-word-names? [ "-no-stack-traces" , ] when ] { } make ] bind ; diff --git a/basis/tools/deploy/deploy-tests.factor b/basis/tools/deploy/deploy-tests.factor index 8b36947f43..0dea093081 100644 --- a/basis/tools/deploy/deploy-tests.factor +++ b/basis/tools/deploy/deploy-tests.factor @@ -65,7 +65,7 @@ M: quit-responder call-responder* [ ] [ add-quot-responder - "resource:basis/http/test" >>default + "vocab:http/test" >>default test-httpd ] unit-test @@ -104,3 +104,8 @@ M: quit-responder call-responder* "tools.deploy.test.10" shake-and-bake run-temp-image ] unit-test + +[ ] [ + "tools.deploy.test.11" shake-and-bake + run-temp-image +] unit-test \ No newline at end of file diff --git a/basis/tools/deploy/shaker/shaker.factor b/basis/tools/deploy/shaker/shaker.factor index c894a8931b..5095f9e93e 100755 --- a/basis/tools/deploy/shaker/shaker.factor +++ b/basis/tools/deploy/shaker/shaker.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2007, 2008 Slava Pestov. +! Copyright (C) 2007, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors io.backend io.streams.c init fry namespaces make assocs kernel parser lexer strings.parser vocabs @@ -42,21 +42,21 @@ IN: tools.deploy.shaker : strip-debugger ( -- ) strip-debugger? "debugger" vocab and [ "Stripping debugger" show - "resource:basis/tools/deploy/shaker/strip-debugger.factor" + "vocab:tools/deploy/shaker/strip-debugger.factor" run-file ] when ; : strip-libc ( -- ) "libc" vocab [ "Stripping manual memory management debug code" show - "resource:basis/tools/deploy/shaker/strip-libc.factor" + "vocab:tools/deploy/shaker/strip-libc.factor" run-file ] when ; : strip-cocoa ( -- ) "cocoa" vocab [ "Stripping unused Cocoa methods" show - "resource:basis/tools/deploy/shaker/strip-cocoa.factor" + "vocab:tools/deploy/shaker/strip-cocoa.factor" run-file ] when ; @@ -232,7 +232,6 @@ IN: tools.deploy.shaker "tools" "io.launcher" "random" - "compiler" "stack-checker" "bootstrap" "listener" @@ -241,7 +240,7 @@ IN: tools.deploy.shaker strip-dictionary? [ "libraries" "alien" lookup , - { } { "cpu" } strip-vocab-globals % + { } { "cpu" "compiler" } strip-vocab-globals % { gensym @@ -359,12 +358,26 @@ IN: tools.deploy.shaker SYMBOL: deploy-vocab -: set-boot-quot* ( word -- ) +: [:c] ( -- word ) ":c" "debugger" lookup ; + +: [print-error] ( -- word ) "print-error" "debugger" lookup ; + +: deploy-boot-quot ( word -- ) [ - \ boot , + [ boot ] % init-hooks get values concat % - , - strip-io? [ \ flush , ] unless + strip-debugger? [ , ] [ + ! Don't reference try directly + [:c] + [print-error] + '[ + [ _ execute ] [ + _ execute nl + _ execute + ] recover + ] % + ] if + strip-io? [ [ flush ] % ] unless [ 0 exit ] % ] [ ] make set-boot-quot ; @@ -380,7 +393,7 @@ SYMBOL: deploy-vocab dup next-method-quot "next-method-quot" set-word-prop ] assoc-each ] each - "resource:basis/tools/deploy/shaker/next-methods.factor" run-file ; + "vocab:tools/deploy/shaker/next-methods.factor" run-file ; : strip ( -- ) init-stripper @@ -392,7 +405,7 @@ SYMBOL: deploy-vocab strip-init-hooks strip-c-io f 5 setenv ! we can't use the Factor debugger or Factor I/O anymore - deploy-vocab get vocab-main set-boot-quot* + deploy-vocab get vocab-main deploy-boot-quot stripped-word-props stripped-globals strip-globals compress-byte-arrays @@ -401,16 +414,33 @@ SYMBOL: deploy-vocab compress-wrappers strip-words ; +: deploy-error-handler ( quot -- ) + [ + strip-debugger? + [ error-continuation get call>> callstack>array die ] + ! Don't reference these words literally, if we're stripping the + ! debugger out we don't want to load the prettyprinter at all + [ [:c] execute nl [print-error] execute flush ] if + 1 exit + ] recover ; inline + : (deploy) ( final-image vocab config -- ) #! Does the actual work of a deployment in the slave #! stage2 image [ [ + strip-debugger? [ + "debugger" require + "inspector" require + ] unless deploy-vocab set deploy-vocab get require + deploy-vocab get vocab-main [ + "Vocabulary has no MAIN: word." print flush 1 exit + ] unless strip finish-deploy - ] [ error-continuation get call>> callstack>array die 1 exit ] recover + ] deploy-error-handler ] bind ; : do-deploy ( -- ) diff --git a/basis/tools/deploy/test/11/11-tests.factor b/basis/tools/deploy/test/11/11-tests.factor new file mode 100644 index 0000000000..2eb7009bf9 --- /dev/null +++ b/basis/tools/deploy/test/11/11-tests.factor @@ -0,0 +1,4 @@ +! Copyright (C) 2009 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: tools.test tools.deploy.test.11 ; +IN: tools.deploy.test.11.tests diff --git a/basis/tools/deploy/test/11/11.factor b/basis/tools/deploy/test/11/11.factor new file mode 100644 index 0000000000..b4f8622627 --- /dev/null +++ b/basis/tools/deploy/test/11/11.factor @@ -0,0 +1,8 @@ +! Copyright (C) 2009 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: eval ; +IN: tools.deploy.test.11 + +: foo ( -- ) "USING: math prettyprint ; 2 2 + ." eval ; + +MAIN: foo \ No newline at end of file diff --git a/basis/tools/deploy/test/11/authors.txt b/basis/tools/deploy/test/11/authors.txt new file mode 100644 index 0000000000..d4f5d6b3ae --- /dev/null +++ b/basis/tools/deploy/test/11/authors.txt @@ -0,0 +1 @@ +Slava Pestov \ No newline at end of file diff --git a/basis/tools/deploy/test/11/deploy.factor b/basis/tools/deploy/test/11/deploy.factor new file mode 100644 index 0000000000..42f707b332 --- /dev/null +++ b/basis/tools/deploy/test/11/deploy.factor @@ -0,0 +1,15 @@ +USING: tools.deploy.config ; +H{ + { deploy-reflection 5 } + { deploy-word-props? f } + { deploy-c-types? f } + { deploy-name "tools.deploy.test.11" } + { "stop-after-last-window?" t } + { deploy-word-defs? f } + { deploy-math? f } + { deploy-unicode? f } + { deploy-threads? f } + { deploy-compiler? f } + { deploy-io 2 } + { deploy-ui? f } +} diff --git a/basis/tools/files/summary.txt b/basis/tools/files/summary.txt new file mode 100644 index 0000000000..ec49d5bc30 --- /dev/null +++ b/basis/tools/files/summary.txt @@ -0,0 +1 @@ +File listing and disk usage tools diff --git a/basis/tools/scaffold/summary.txt b/basis/tools/scaffold/summary.txt new file mode 100644 index 0000000000..9355d1426e --- /dev/null +++ b/basis/tools/scaffold/summary.txt @@ -0,0 +1 @@ +Tool to create the scaffolding for new vocabularies diff --git a/basis/tools/threads/summary.txt b/basis/tools/threads/summary.txt new file mode 100644 index 0000000000..3a94df1cc9 --- /dev/null +++ b/basis/tools/threads/summary.txt @@ -0,0 +1 @@ +Listing running threads diff --git a/basis/tools/vocabs/browser/summary.txt b/basis/tools/vocabs/browser/summary.txt new file mode 100644 index 0000000000..28b4850ed8 --- /dev/null +++ b/basis/tools/vocabs/browser/summary.txt @@ -0,0 +1 @@ +Browsing vocabularies diff --git a/basis/tools/vocabs/summary.txt b/basis/tools/vocabs/summary.txt new file mode 100644 index 0000000000..1ae5f43784 --- /dev/null +++ b/basis/tools/vocabs/summary.txt @@ -0,0 +1 @@ +Reloading vocabularies and cross-referencing vocabularies diff --git a/basis/tools/vocabs/vocabs.factor b/basis/tools/vocabs/vocabs.factor index fe380e0afe..6167a5be23 100644 --- a/basis/tools/vocabs/vocabs.factor +++ b/basis/tools/vocabs/vocabs.factor @@ -241,6 +241,12 @@ M: vocab-link summary vocab-summary ; swap [ "." glue ] with map ] unless-empty ; +: vocab-dir? ( root name -- ? ) + over + [ ".factor" vocab-dir+ append-path exists? ] + [ 2drop f ] + if ; + : vocabs-in-dir ( root name -- ) dupd (all-child-vocabs) [ 2dup vocab-dir? [ dup >vocab-link , ] when diff --git a/basis/ui/gadgets/canvas/summary.txt b/basis/ui/gadgets/canvas/summary.txt new file mode 100644 index 0000000000..70b35e6eed --- /dev/null +++ b/basis/ui/gadgets/canvas/summary.txt @@ -0,0 +1 @@ +Canvas gadget for caching rendering to a display list diff --git a/basis/ui/operations/operations.factor b/basis/ui/operations/operations.factor index bcfca946dd..8ba0e5dac7 100644 --- a/basis/ui/operations/operations.factor +++ b/basis/ui/operations/operations.factor @@ -1,8 +1,8 @@ -! Copyright (C) 2006, 2008 Slava Pestov. +! Copyright (C) 2006, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays definitions kernel ui.commands ui.gestures sequences strings math words generic namespaces make -hashtables help.markup quotations assocs fry ; +hashtables help.markup quotations assocs fry linked-assocs ; IN: ui.operations SYMBOL: +keyboard+ @@ -34,8 +34,11 @@ M: operation command-word command>> command-word ; SYMBOL: operations +operations [ ] initialize + : object-operations ( obj -- operations ) - operations get [ predicate>> call ] with filter ; + operations get values + [ predicate>> call ] with filter ; : find-operation ( obj quot -- command ) [ object-operations ] dip find-last nip ; inline @@ -51,10 +54,14 @@ SYMBOL: operations : default-flags ( -- assoc ) H{ { +keyboard+ f } { +primary+ f } { +secondary+ f } } ; +: (define-operation) ( operation -- ) + dup [ command>> ] [ predicate>> ] bi + 2array operations get set-at ; + : define-operation ( pred command flags -- ) default-flags swap assoc-union dupd define-command - operations get push ; + (define-operation) ; : modify-operation ( hook translator operation -- operation ) clone diff --git a/basis/ui/tools/deploy/summary.txt b/basis/ui/tools/deploy/summary.txt new file mode 100644 index 0000000000..c6f49801d7 --- /dev/null +++ b/basis/ui/tools/deploy/summary.txt @@ -0,0 +1 @@ +Graphical front-end for deploy tool diff --git a/basis/ui/tools/operations/operations.factor b/basis/ui/tools/operations/operations.factor index a9405424dc..d8802d66c9 100644 --- a/basis/ui/tools/operations/operations.factor +++ b/basis/ui/tools/operations/operations.factor @@ -12,8 +12,6 @@ sequences tools.vocabs classes compiler.units accessors vocabs.parser ; IN: ui.tools.operations -V{ } clone operations set-global - ! Objects [ drop t ] \ inspect H{ { +primary+ t } diff --git a/basis/ui/windows/summary.txt b/basis/ui/windows/summary.txt new file mode 100644 index 0000000000..9a0a894850 --- /dev/null +++ b/basis/ui/windows/summary.txt @@ -0,0 +1 @@ +Windows UI backend diff --git a/basis/ui/x11/summary.txt b/basis/ui/x11/summary.txt new file mode 100644 index 0000000000..046c83ad89 --- /dev/null +++ b/basis/ui/x11/summary.txt @@ -0,0 +1 @@ +X11 UI backend diff --git a/basis/unicode/breaks/breaks-tests.factor b/basis/unicode/breaks/breaks-tests.factor index b91cb2b26c..d8e220cf18 100644 --- a/basis/unicode/breaks/breaks-tests.factor +++ b/basis/unicode/breaks/breaks-tests.factor @@ -10,10 +10,10 @@ IN: unicode.breaks.tests dup last-grapheme head last-grapheme ] unit-test : grapheme-break-test ( -- filename ) - "resource:basis/unicode/breaks/GraphemeBreakTest.txt" ; + "vocab:unicode/breaks/GraphemeBreakTest.txt" ; : word-break-test ( -- filename ) - "resource:basis/unicode/breaks/WordBreakTest.txt" ; + "vocab:unicode/breaks/WordBreakTest.txt" ; : parse-test-file ( file-name -- tests ) utf8 file-lines diff --git a/basis/unicode/breaks/breaks.factor b/basis/unicode/breaks/breaks.factor index 6bcf8b50cc..2f8daef8b2 100644 --- a/basis/unicode/breaks/breaks.factor +++ b/basis/unicode/breaks/breaks.factor @@ -127,7 +127,7 @@ to: grapheme-table VALUE: word-break-table -"resource:basis/unicode/data/WordBreakProperty.txt" load-script +"vocab:unicode/data/WordBreakProperty.txt" load-script to: word-break-table C-ENUM: wOther wCR wLF wNewline wExtend wFormat wKatakana wALetter wMidLetter diff --git a/basis/unicode/breaks/summary.txt b/basis/unicode/breaks/summary.txt new file mode 100644 index 0000000000..4f73d98063 --- /dev/null +++ b/basis/unicode/breaks/summary.txt @@ -0,0 +1 @@ +Unicode grapheme and word breaking diff --git a/basis/unicode/case/summary.txt b/basis/unicode/case/summary.txt new file mode 100644 index 0000000000..a88f3d4a98 --- /dev/null +++ b/basis/unicode/case/summary.txt @@ -0,0 +1 @@ +Unicode case conversion diff --git a/basis/unicode/categories/summary.txt b/basis/unicode/categories/summary.txt new file mode 100644 index 0000000000..7efad41e84 --- /dev/null +++ b/basis/unicode/categories/summary.txt @@ -0,0 +1 @@ +Unicode character categories diff --git a/basis/unicode/collation/collation-tests.factor b/basis/unicode/collation/collation-tests.factor index d3d0b8199d..f53a1382ae 100644 --- a/basis/unicode/collation/collation-tests.factor +++ b/basis/unicode/collation/collation-tests.factor @@ -4,7 +4,7 @@ tools.test assocs words ; IN: unicode.collation.tests : parse-test ( -- strings ) - "resource:basis/unicode/collation/CollationTest_SHIFTED.txt" + "vocab:unicode/collation/CollationTest_SHIFTED.txt" utf8 file-lines 5 tail [ ";" split1 drop " " split [ hex> ] "" map-as ] map ; diff --git a/basis/unicode/collation/collation.factor b/basis/unicode/collation/collation.factor index a8bd788e2a..2a94d501bd 100755 --- a/basis/unicode/collation/collation.factor +++ b/basis/unicode/collation/collation.factor @@ -24,12 +24,11 @@ TUPLE: weight primary secondary tertiary ignorable? ; ";" split1 [ [ blank? ] trim ] bi@ [ " " split [ hex> ] "" map-as ] [ parse-weight ] bi* ; -: parse-ducet ( stream -- ducet ) - lines filter-comments +: parse-ducet ( file -- ducet ) + ascii file-lines filter-comments [ parse-line ] H{ } map>assoc ; -"resource:basis/unicode/collation/allkeys.txt" -ascii parse-ducet to: ducet +"vocab:unicode/collation/allkeys.txt" parse-ducet to: ducet ! Fix up table for long contractions : help-one ( assoc key -- ) diff --git a/basis/unicode/collation/summary.txt b/basis/unicode/collation/summary.txt new file mode 100644 index 0000000000..0b855e1fc8 --- /dev/null +++ b/basis/unicode/collation/summary.txt @@ -0,0 +1 @@ +Unicode string comparison and sorting (collation) diff --git a/basis/io/encodings/binary/tags.txt b/basis/unicode/collation/tags.txt similarity index 100% rename from basis/io/encodings/binary/tags.txt rename to basis/unicode/collation/tags.txt diff --git a/basis/unicode/data/data.factor b/basis/unicode/data/data.factor index 2407b740b0..de8d28ad2e 100644 --- a/basis/unicode/data/data.factor +++ b/basis/unicode/data/data.factor @@ -38,7 +38,7 @@ VALUE: properties ascii file-lines [ split-; ] map ; : load-data ( -- data ) - "resource:basis/unicode/data/UnicodeData.txt" data ; + "vocab:unicode/data/UnicodeData.txt" data ; : filter-comments ( lines -- lines ) [ "#@" split first ] map harvest ; @@ -68,7 +68,7 @@ VALUE: properties [ " " split [ hex> ] map ] assoc-map ; : exclusions-file ( -- filename ) - "resource:basis/unicode/data/CompositionExclusions.txt" ; + "vocab:unicode/data/CompositionExclusions.txt" ; : exclusions ( -- set ) exclusions-file utf8 file-lines @@ -147,7 +147,7 @@ C: code-point ! Extra properties : properties-lines ( -- lines ) - "resource:basis/unicode/data/PropList.txt" + "vocab:unicode/data/PropList.txt" ascii file-lines ; : parse-properties ( -- {{[a,b],prop}} ) @@ -166,7 +166,7 @@ C: code-point ! Special casing data : load-special-casing ( -- special-casing ) - "resource:basis/unicode/data/SpecialCasing.txt" data + "vocab:unicode/data/SpecialCasing.txt" data [ length 5 = ] filter [ [ set-code-point ] each ] H{ } make-assoc ; @@ -196,9 +196,9 @@ load-properties to: properties SYMBOL: interned -: parse-script ( stream -- assoc ) +: parse-script ( filename -- assoc ) ! assoc is code point/range => name - lines filter-comments [ split-; ] map ; + ascii file-lines filter-comments [ split-; ] map ; : range, ( value key -- ) swap interned get @@ -218,7 +218,7 @@ SYMBOL: interned [ expand-ranges ] with-variable ; : load-script ( filename -- table ) - ascii parse-script process-script ; + parse-script process-script ; [ name>char [ "Invalid character" throw ] unless* ] name>char-hook set-global diff --git a/basis/unicode/data/summary.txt b/basis/unicode/data/summary.txt new file mode 100644 index 0000000000..c956b233f0 --- /dev/null +++ b/basis/unicode/data/summary.txt @@ -0,0 +1 @@ +Parsing Unicode data files diff --git a/basis/unicode/normalize/normalize-tests.factor b/basis/unicode/normalize/normalize-tests.factor index 1242e1d358..f3ecb96af9 100644 --- a/basis/unicode/normalize/normalize-tests.factor +++ b/basis/unicode/normalize/normalize-tests.factor @@ -23,7 +23,7 @@ IN: unicode.normalize.tests [ "\u00d55c" ] [ "\u001112\u001161\u0011ab" nfc ] unit-test : parse-test ( -- tests ) - "resource:basis/unicode/normalize/NormalizationTest.txt" + "vocab:unicode/normalize/NormalizationTest.txt" utf8 file-lines filter-comments [ ";" split 5 head [ " " split [ hex> ] "" map-as ] map ] map ; diff --git a/basis/unicode/normalize/summary.txt b/basis/unicode/normalize/summary.txt new file mode 100644 index 0000000000..bd8b1669c4 --- /dev/null +++ b/basis/unicode/normalize/summary.txt @@ -0,0 +1 @@ +Unicode string normalization diff --git a/basis/unicode/script/script.factor b/basis/unicode/script/script.factor index aaa6767685..383f9e3de3 100644 --- a/basis/unicode/script/script.factor +++ b/basis/unicode/script/script.factor @@ -9,7 +9,7 @@ IN: unicode.script VALUE: script-table -"resource:basis/unicode/script/Scripts.txt" load-script +"vocab:unicode/script/Scripts.txt" load-script to: script-table : script-of ( char -- script ) diff --git a/basis/io/encodings/japanese/tags.txt b/basis/unicode/script/tags.txt similarity index 100% rename from basis/io/encodings/japanese/tags.txt rename to basis/unicode/script/tags.txt diff --git a/basis/unicode/summary.txt b/basis/unicode/summary.txt index ece1e61b5f..8bd1149524 100644 --- a/basis/unicode/summary.txt +++ b/basis/unicode/summary.txt @@ -1 +1 @@ -Unicode 5.0 support +Unicode 5.1 support diff --git a/basis/unicode/syntax/summary.txt b/basis/unicode/syntax/summary.txt new file mode 100644 index 0000000000..651d51c34c --- /dev/null +++ b/basis/unicode/syntax/summary.txt @@ -0,0 +1 @@ +Parsing words used by Unicode implementation diff --git a/basis/unix/groups/summary.txt b/basis/unix/groups/summary.txt new file mode 100644 index 0000000000..f782bdd791 --- /dev/null +++ b/basis/unix/groups/summary.txt @@ -0,0 +1 @@ +Working with Unix user groups diff --git a/basis/unix/users/summary.txt b/basis/unix/users/summary.txt new file mode 100644 index 0000000000..8c1aa0dd8f --- /dev/null +++ b/basis/unix/users/summary.txt @@ -0,0 +1 @@ +Working with Unix users diff --git a/basis/unrolled-lists/summary.txt b/basis/unrolled-lists/summary.txt new file mode 100644 index 0000000000..c9014d1ba2 --- /dev/null +++ b/basis/unrolled-lists/summary.txt @@ -0,0 +1 @@ +Deque implementation with constant-time insertion and removal at either end, and better space efficiency than a double-linked list diff --git a/basis/urls/secure/summary.txt b/basis/urls/secure/summary.txt new file mode 100644 index 0000000000..31692c0596 --- /dev/null +++ b/basis/urls/secure/summary.txt @@ -0,0 +1 @@ +Support for https:// URLs diff --git a/basis/vlists/summary.txt b/basis/vlists/summary.txt new file mode 100644 index 0000000000..4d6e6b2d3b --- /dev/null +++ b/basis/vlists/summary.txt @@ -0,0 +1 @@ +Persistent sequence implementation optimizing the case where there is no sharing diff --git a/basis/windows/shell32/shell32.factor b/basis/windows/shell32/shell32.factor index 6d1c7b1a36..c8dbe4b91c 100644 --- a/basis/windows/shell32/shell32.factor +++ b/basis/windows/shell32/shell32.factor @@ -86,7 +86,7 @@ FUNCTION: HINSTANCE ShellExecuteW ( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFi ALIAS: ShellExecute ShellExecuteW : open-in-explorer ( dir -- ) - f "open" rot (normalize-path) f f SW_SHOWNORMAL ShellExecute drop ; + [ f "open" ] dip (normalize-path) f f SW_SHOWNORMAL ShellExecute drop ; : shell32-directory ( n -- str ) f swap f SHGFP_TYPE_DEFAULT diff --git a/basis/wrap/strings/summary.txt b/basis/wrap/strings/summary.txt new file mode 100644 index 0000000000..26c35094e5 --- /dev/null +++ b/basis/wrap/strings/summary.txt @@ -0,0 +1 @@ +Word-wrapping strings diff --git a/basis/wrap/words/summary.txt b/basis/wrap/words/summary.txt new file mode 100644 index 0000000000..901379e5c8 --- /dev/null +++ b/basis/wrap/words/summary.txt @@ -0,0 +1 @@ +Word-wrapping words diff --git a/basis/xml/entities/html/html.factor b/basis/xml/entities/html/html.factor index f1e52319f1..04c0b66063 100644 --- a/basis/xml/entities/html/html.factor +++ b/basis/xml/entities/html/html.factor @@ -11,7 +11,7 @@ VALUE: html-entities : get-html ( -- table ) { "lat1" "special" "symbol" } [ - "resource:basis/xml/entities/html/xhtml-" + "vocab:xml/entities/html/xhtml-" swap ".ent" 3append read-entities-file ] map first3 assoc-union assoc-union ; diff --git a/basis/xml/entities/html/summary.txt b/basis/xml/entities/html/summary.txt new file mode 100644 index 0000000000..16ea3a8bf6 --- /dev/null +++ b/basis/xml/entities/html/summary.txt @@ -0,0 +1 @@ +Standard HTML entities diff --git a/basis/xml/tests/encodings.factor b/basis/xml/tests/encodings.factor index aec3e40a52..2f1d73f9ca 100644 --- a/basis/xml/tests/encodings.factor +++ b/basis/xml/tests/encodings.factor @@ -1,15 +1,15 @@ USING: xml xml.data xml.traversal tools.test accessors kernel io.encodings.8-bit ; -[ "\u000131" ] [ "resource:basis/xml/tests/latin5.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/latin1.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/spaces.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf8.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf16.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf16be.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf16le.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf16be-bom.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/utf16le-bom.xml" file>xml children>string ] unit-test -[ "\u0000e9" ] [ "resource:basis/xml/tests/prologless.xml" file>xml children>string ] unit-test -[ "e" ] [ "resource:basis/xml/tests/ascii.xml" file>xml children>string ] unit-test -[ "\u0000e9" "x" ] [ "resource:basis/xml/tests/unitag.xml" file>xml [ name>> main>> ] [ children>string ] bi ] unit-test +[ "\u000131" ] [ "vocab:xml/tests/latin5.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/latin1.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/spaces.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf8.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf16.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf16be.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf16le.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf16be-bom.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/utf16le-bom.xml" file>xml children>string ] unit-test +[ "\u0000e9" ] [ "vocab:xml/tests/prologless.xml" file>xml children>string ] unit-test +[ "e" ] [ "vocab:xml/tests/ascii.xml" file>xml children>string ] unit-test +[ "\u0000e9" "x" ] [ "vocab:xml/tests/unitag.xml" file>xml [ name>> main>> ] [ children>string ] bi ] unit-test diff --git a/basis/xml/tests/funny-dtd.factor b/basis/xml/tests/funny-dtd.factor index 1160af62bc..e9a38ae96b 100644 --- a/basis/xml/tests/funny-dtd.factor +++ b/basis/xml/tests/funny-dtd.factor @@ -4,6 +4,6 @@ IN: xml.tests USING: xml xml.writer io.files io.encodings.utf8 tools.test kernel ; [ t ] [ - "resource:basis/xml/tests/funny-dtd.xml" utf8 file-contents string>xml + "vocab:xml/tests/funny-dtd.xml" utf8 file-contents string>xml dup xml>string string>xml = ] unit-test diff --git a/basis/xml/tests/soap.factor b/basis/xml/tests/soap.factor index 3d1ac2379e..464002b060 100644 --- a/basis/xml/tests/soap.factor +++ b/basis/xml/tests/soap.factor @@ -10,6 +10,6 @@ IN: xml.tests [ assemble-data ] map ; [ "http://www.foxnews.com/oreilly/" ] [ - "resource:basis/xml/tests/soap.xml" file>xml + "vocab:xml/tests/soap.xml" file>xml parse-result first first ] unit-test diff --git a/basis/xml/tests/test.factor b/basis/xml/tests/test.factor index 0372132736..818a28c892 100644 --- a/basis/xml/tests/test.factor +++ b/basis/xml/tests/test.factor @@ -13,11 +13,11 @@ sequences.deep accessors io.streams.string ; SYMBOL: xml-file [ ] [ - "resource:basis/xml/tests/test.xml" + "vocab:xml/tests/test.xml" [ file>xml ] with-html-entities xml-file set ] unit-test [ t ] [ - "resource:basis/xml/tests/test.xml" binary file-contents + "vocab:xml/tests/test.xml" binary file-contents [ bytes>xml ] with-html-entities xml-file get = ] unit-test [ "1.0" ] [ xml-file get prolog>> version>> ] unit-test diff --git a/basis/xml/tests/xmltest.factor b/basis/xml/tests/xmltest.factor index 80472fc788..2ab9ff98dd 100644 --- a/basis/xml/tests/xmltest.factor +++ b/basis/xml/tests/xmltest.factor @@ -17,7 +17,7 @@ TUPLE: xml-test id uri sections description type ; : parse-tests ( xml -- tests ) "TEST" tags-named [ >xml-test ] map ; -: base "resource:basis/xml/tests/xmltest/" ; +: base "vocab:xml/tests/xmltest/" ; MACRO: drop-output ( quot -- newquot ) dup infer out>> '[ @ _ ndrop ] ; diff --git a/basis/xml/tests/xmode-dtd.factor b/basis/xml/tests/xmode-dtd.factor index 4408655d9c..ae223bf82f 100644 --- a/basis/xml/tests/xmode-dtd.factor +++ b/basis/xml/tests/xmode-dtd.factor @@ -4,5 +4,5 @@ USING: xml xml.data kernel tools.test ; IN: xml.tests [ t ] [ - "resource:basis/xmode/xmode.dtd" file>dtd dtd? + "vocab:xmode/xmode.dtd" file>dtd dtd? ] unit-test diff --git a/basis/xmode/catalog/catalog.factor b/basis/xmode/catalog/catalog.factor index b08e47ddc5..894ec264ab 100644 --- a/basis/xmode/catalog/catalog.factor +++ b/basis/xmode/catalog/catalog.factor @@ -24,7 +24,7 @@ TAG: MODE parse-mode-tag ] keep ; MEMO: modes ( -- modes ) - "resource:basis/xmode/modes/catalog" + "vocab:xmode/modes/catalog" file>xml parse-modes-tag ; MEMO: mode-names ( -- modes ) @@ -36,8 +36,7 @@ MEMO: mode-names ( -- modes ) MEMO: (load-mode) ( name -- rule-sets ) modes at [ file>> - "resource:basis/xmode/modes/" prepend - utf8 parse-mode + "vocab:xmode/modes/" prepend parse-mode ] [ "text" (load-mode) ] if* ; diff --git a/basis/xmode/code2html/summary.txt b/basis/xmode/code2html/summary.txt new file mode 100644 index 0000000000..f5e88d0aa6 --- /dev/null +++ b/basis/xmode/code2html/summary.txt @@ -0,0 +1 @@ +Syntax highlighting code as HTML diff --git a/basis/xmode/loader/loader.factor b/basis/xmode/loader/loader.factor index d6f3943e14..e5d5112a27 100644 --- a/basis/xmode/loader/loader.factor +++ b/basis/xmode/loader/loader.factor @@ -82,5 +82,5 @@ TAG: KEYWORDS parse-rule-tag [ merge-rule-set-props ] with each ] when* ; -: parse-mode ( stream -- rule-sets ) - read-xml parse-mode-tag ; +: parse-mode ( filename -- rule-sets ) + file>xml parse-mode-tag ; diff --git a/basis/xmode/marker/summary.txt b/basis/xmode/marker/summary.txt new file mode 100644 index 0000000000..379906c885 --- /dev/null +++ b/basis/xmode/marker/summary.txt @@ -0,0 +1 @@ +Tokenizing lines of text with a syntax mode diff --git a/core/arrays/arrays-docs.factor b/core/arrays/arrays-docs.factor index 39fed147cf..f5dc62a67d 100644 --- a/core/arrays/arrays-docs.factor +++ b/core/arrays/arrays-docs.factor @@ -1,11 +1,18 @@ USING: help.markup help.syntax -kernel kernel.private prettyprint sequences.private ; +kernel kernel.private prettyprint sequences.private sequences ; IN: arrays +ARTICLE: "arrays-unsafe" "Unsafe array operations" +"These two words are used internally by the Factor implementation. User code should never need to call them; instead use " { $link nth } " and " { $link set-nth } "." +{ $subsection array-nth } +{ $subsection set-array-nth } ; + ARTICLE: "arrays" "Arrays" -"Arrays are fixed-size mutable sequences (" { $link "sequence-protocol" } "). The literal syntax is covered in " { $link "syntax-arrays" } ". Resizable arrays also exist and are called vectors; see " { $link "vectors" } "." +"The " { $vocab-link "arrays" } " vocabulary implements fixed-size mutable sequences which support the " { $link "sequence-protocol" } "." $nl -"Array words are in the " { $vocab-link "arrays" } " vocabulary. Unsafe implementation words are in the " { $vocab-link "sequences.private" } " vocabulary." +"The " { $vocab-link "arrays" } " vocabulary only includes words for creating new arrays. To access and modify array elements, use " { $link "sequences" } " in the " { $vocab-link "sequences" } " vocabulary." +$nl +"Array literal syntax is documented in " { $link "syntax-arrays" } ". Resizable arrays also exist and are known as " { $link "vectors" } "." $nl "Arrays form a class of objects:" { $subsection array } @@ -18,11 +25,10 @@ $nl { $subsection 2array } { $subsection 3array } { $subsection 4array } -"Arrays can be accessed without bounds checks in a pointer unsafe way." -{ $subsection array-nth } -{ $subsection set-array-nth } "The class of two-element arrays:" -{ $subsection pair } ; +{ $subsection pair } +"Arrays can be accessed without bounds checks in a pointer unsafe way." +{ $subsection "arrays-unsafe" } ; ABOUT: "arrays" diff --git a/core/bootstrap/primitives.factor b/core/bootstrap/primitives.factor index f1e8b8b65e..ceeab571b8 100644 --- a/core/bootstrap/primitives.factor +++ b/core/bootstrap/primitives.factor @@ -16,9 +16,9 @@ crossref off H{ } clone sub-primitives set -"resource:core/bootstrap/syntax.factor" parse-file +"vocab:bootstrap/syntax.factor" parse-file -"resource:basis/cpu/" architecture get { +"vocab:cpu/" architecture get { { "x86.32" "x86/32" } { "winnt-x86.64" "x86/64/winnt" } { "unix-x86.64" "x86/64/unix" } @@ -27,7 +27,7 @@ H{ } clone sub-primitives set { "arm" "arm" } } at "/bootstrap.factor" 3append parse-file -"resource:core/bootstrap/layouts/layouts.factor" parse-file +"vocab:bootstrap/layouts/layouts.factor" parse-file ! Now we have ( syntax-quot arch-quot layouts-quot ) on the stack diff --git a/core/bootstrap/stage1.factor b/core/bootstrap/stage1.factor index 9a40796bda..1da2dfee59 100644 --- a/core/bootstrap/stage1.factor +++ b/core/bootstrap/stage1.factor @@ -9,7 +9,7 @@ IN: bootstrap.stage1 "Bootstrap stage 1..." print flush -"resource:core/bootstrap/primitives.factor" run-file +"vocab:bootstrap/primitives.factor" run-file load-help? off { "resource:core" } vocab-roots set @@ -40,7 +40,7 @@ load-help? off "bootstrap.layouts" require [ - "resource:basis/bootstrap/stage2.factor" + "vocab:bootstrap/stage2.factor" dup exists? [ run-file ] [ diff --git a/core/classes/algebra/summary.txt b/core/classes/algebra/summary.txt new file mode 100644 index 0000000000..d33d3b9504 --- /dev/null +++ b/core/classes/algebra/summary.txt @@ -0,0 +1 @@ +Set-theoretic operations on classes diff --git a/core/classes/builtin/summary.txt b/core/classes/builtin/summary.txt new file mode 100644 index 0000000000..cb77cbf377 --- /dev/null +++ b/core/classes/builtin/summary.txt @@ -0,0 +1 @@ +Built-in classes diff --git a/core/classes/intersection/summary.txt b/core/classes/intersection/summary.txt new file mode 100644 index 0000000000..a2ecf2ced6 --- /dev/null +++ b/core/classes/intersection/summary.txt @@ -0,0 +1 @@ +Intersection classes diff --git a/core/classes/parser/summary.txt b/core/classes/parser/summary.txt new file mode 100644 index 0000000000..cd3685599c --- /dev/null +++ b/core/classes/parser/summary.txt @@ -0,0 +1 @@ +Utilities for class-defining parsing words diff --git a/core/classes/singleton/summary.txt b/core/classes/singleton/summary.txt new file mode 100644 index 0000000000..273fbcbc1c --- /dev/null +++ b/core/classes/singleton/summary.txt @@ -0,0 +1 @@ +Singleton classes diff --git a/core/classes/tuple/parser/summary.txt b/core/classes/tuple/parser/summary.txt new file mode 100644 index 0000000000..765ccecaf1 --- /dev/null +++ b/core/classes/tuple/parser/summary.txt @@ -0,0 +1 @@ +Utilities for tuple-defining parsing words diff --git a/core/classes/tuple/summary.txt b/core/classes/tuple/summary.txt index 4dbb64316b..7ef244eefc 100644 --- a/core/classes/tuple/summary.txt +++ b/core/classes/tuple/summary.txt @@ -1 +1 @@ -Object system implementation +Tuple classes diff --git a/core/combinators/summary.txt b/core/combinators/summary.txt index 9346bba6b9..2a995e8a69 100644 --- a/core/combinators/summary.txt +++ b/core/combinators/summary.txt @@ -1 +1 @@ -Complex conditionals (cond, case) and support words for quotation construction +Complex conditionals (cond, case) and generalized dataflow combinators (cleave, spread) diff --git a/core/effects/parser/summary.txt b/core/effects/parser/summary.txt new file mode 100644 index 0000000000..c0e236c3ee --- /dev/null +++ b/core/effects/parser/summary.txt @@ -0,0 +1 @@ +Parsing stack effect declarations diff --git a/core/generic/parser/summary.txt b/core/generic/parser/summary.txt new file mode 100644 index 0000000000..7b7b51cf54 --- /dev/null +++ b/core/generic/parser/summary.txt @@ -0,0 +1 @@ +Utilities for generic word and method defining parsing words diff --git a/core/generic/standard/engines/predicate/summary.txt b/core/generic/standard/engines/predicate/summary.txt new file mode 100644 index 0000000000..47fee09ee5 --- /dev/null +++ b/core/generic/standard/engines/predicate/summary.txt @@ -0,0 +1 @@ +Chained-conditional dispatch strategy diff --git a/core/generic/standard/engines/summary.txt b/core/generic/standard/engines/summary.txt new file mode 100644 index 0000000000..209190799b --- /dev/null +++ b/core/generic/standard/engines/summary.txt @@ -0,0 +1 @@ +Generic word dispatch strategy implementation diff --git a/core/generic/standard/engines/tag/summary.txt b/core/generic/standard/engines/tag/summary.txt new file mode 100644 index 0000000000..3eea4b11cf --- /dev/null +++ b/core/generic/standard/engines/tag/summary.txt @@ -0,0 +1 @@ +Jump table keyed by pointer tag dispatch strategy diff --git a/core/generic/standard/engines/tuple/summary.txt b/core/generic/standard/engines/tuple/summary.txt new file mode 100644 index 0000000000..cb18ac5c78 --- /dev/null +++ b/core/generic/standard/engines/tuple/summary.txt @@ -0,0 +1 @@ +Tuple class dispatch strategy diff --git a/core/hashtables/hashtables-docs.factor b/core/hashtables/hashtables-docs.factor index 7cc8333c12..5a19cce351 100644 --- a/core/hashtables/hashtables-docs.factor +++ b/core/hashtables/hashtables-docs.factor @@ -17,9 +17,7 @@ $nl ARTICLE: "hashtables" "Hashtables" "A hashtable provides efficient (expected constant time) lookup and storage of key/value pairs. Keys are compared for equality, and a hashing function is used to reduce the number of comparisons made. The literal syntax is covered in " { $link "syntax-hashtables" } "." $nl -"Hashtable words are in the " { $vocab-link "hashtables" } " vocabulary. Unsafe implementation words are in the " { $vocab-link "hashtables.private" } " vocabulary." -$nl -"Hashtables implement the " { $link "assocs-protocol" } "." +"Words for constructing hashtables are in the " { $vocab-link "hashtables" } " vocabulary. Hashtables implement the " { $link "assocs-protocol" } ", and all " { $link "assocs" } " can be used on them; there are no hashtable-specific words to access and modify keys, because associative mapping operations are generic and work with all associative mappings." $nl "Hashtables are a class of objects." { $subsection hashtable } diff --git a/core/io/encodings/encodings-tests.factor b/core/io/encodings/encodings-tests.factor index ea74490858..fa8832deab 100644 --- a/core/io/encodings/encodings-tests.factor +++ b/core/io/encodings/encodings-tests.factor @@ -4,34 +4,34 @@ namespaces accessors io.encodings ; IN: io.streams.encodings.tests [ { } ] -[ "resource:core/io/test/empty-file.txt" ascii lines ] +[ "vocab:io/test/empty-file.txt" ascii file-lines ] unit-test -: lines-test ( stream -- line1 line2 ) - [ readln readln ] with-input-stream ; +: lines-test ( file encoding -- line1 line2 ) + [ readln readln ] with-file-reader ; [ "This is a line." "This is another line." ] [ - "resource:core/io/test/windows-eol.txt" - ascii lines-test + "vocab:io/test/windows-eol.txt" + ascii lines-test ] unit-test [ "This is a line." "This is another line." ] [ - "resource:core/io/test/mac-os-eol.txt" - ascii lines-test + "vocab:io/test/mac-os-eol.txt" + ascii lines-test ] unit-test [ "This is a line." "This is another line." ] [ - "resource:core/io/test/unix-eol.txt" - ascii lines-test + "vocab:io/test/unix-eol.txt" + ascii lines-test ] unit-test [ diff --git a/core/io/encodings/utf8/tags.txt b/core/io/encodings/utf8/tags.txt deleted file mode 100644 index 8e27be7d61..0000000000 --- a/core/io/encodings/utf8/tags.txt +++ /dev/null @@ -1 +0,0 @@ -text diff --git a/core/io/files/files-tests.factor b/core/io/files/files-tests.factor index 152d1bb85d..ce15a69773 100644 --- a/core/io/files/files-tests.factor +++ b/core/io/files/files-tests.factor @@ -14,15 +14,15 @@ IN: io.files.tests [ "This is a line.\rThis is another line.\r" ] [ - "resource:core/io/test/mac-os-eol.txt" latin1 - [ 500 read ] with-input-stream + "vocab:io/test/mac-os-eol.txt" latin1 + [ 500 read ] with-file-reader ] unit-test [ 255 ] [ - "resource:core/io/test/binary.txt" latin1 - [ read1 ] with-input-stream >fixnum + "vocab:io/test/binary.txt" latin1 + [ read1 ] with-file-reader >fixnum ] unit-test [ ] [ @@ -39,11 +39,11 @@ IN: io.files.tests ] [ [ "separator-test.txt" temp-file - latin1 [ + latin1 [ "J" read-until 2array , "i" read-until 2array , "X" read-until 2array , - ] with-input-stream + ] with-file-reader ] { } make ] unit-test diff --git a/core/io/io-tests.factor b/core/io/io-tests.factor index cf6b935215..f0cbd33114 100644 --- a/core/io/io-tests.factor +++ b/core/io/io-tests.factor @@ -2,7 +2,7 @@ USING: io parser tools.test words ; IN: io.tests [ f ] [ - "resource:core/io/test/no-trailing-eol.factor" run-file + "vocab:io/test/no-trailing-eol.factor" run-file "foo" "io.tests" lookup ] unit-test diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor index 1673e73083..96ac872826 100644 --- a/core/io/pathnames/pathnames.factor +++ b/core/io/pathnames/pathnames.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2004, 2008 Slava Pestov, Doug Coleman. +! Copyright (C) 2004, 2009 Slava Pestov, Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: accessors combinators io.backend kernel math math.order namespaces sequences splitting strings system ; @@ -71,10 +71,17 @@ PRIVATE> [ f ] } cond ; +: special-path? ( path -- rest ? ) + { + { [ "resource:" ?head ] [ t ] } + { [ "vocab:" ?head ] [ t ] } + [ f ] + } cond ; + : absolute-path? ( path -- ? ) { { [ dup empty? ] [ f ] } - { [ dup "resource:" head? ] [ t ] } + { [ dup special-path? nip ] [ t ] } { [ os windows? ] [ windows-absolute-path? ] } { [ dup first path-separator? ] [ t ] } [ f ] @@ -107,7 +114,7 @@ PRIVATE> dup root-directory? [ trim-tail-separators dup last-path-separator [ 1+ tail ] [ - drop "resource:" ?head [ file-name ] when + drop special-path? [ file-name ] when ] if ] unless ; @@ -117,6 +124,8 @@ PRIVATE> : resource-path ( path -- newpath ) "resource-path" get prepend-path ; +GENERIC: vocab-path ( path -- newpath ) + GENERIC: (normalize-path) ( path -- path' ) M: string (normalize-path) @@ -124,7 +133,12 @@ M: string (normalize-path) trim-head-separators resource-path (normalize-path) ] [ - current-directory get prepend-path + "vocab:" ?head [ + trim-head-separators vocab-path + (normalize-path) + ] [ + current-directory get prepend-path + ] if ] if ; M: object normalize-path ( path -- path' ) diff --git a/core/io/streams/null/null-tests.factor b/core/io/streams/null/null-tests.factor deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/core/io/streams/null/summary.txt b/core/io/streams/null/summary.txt new file mode 100644 index 0000000000..68a403bf33 --- /dev/null +++ b/core/io/streams/null/summary.txt @@ -0,0 +1 @@ +Dummy implementation of stream protocol diff --git a/core/math/order/summary.txt b/core/math/order/summary.txt new file mode 100644 index 0000000000..3781910360 --- /dev/null +++ b/core/math/order/summary.txt @@ -0,0 +1 @@ +Generic protocol for totally-ordered objects diff --git a/core/parser/parser-tests.factor b/core/parser/parser-tests.factor index 2870be9a4f..3fcf489413 100644 --- a/core/parser/parser-tests.factor +++ b/core/parser/parser-tests.factor @@ -402,7 +402,7 @@ IN: parser.tests [ t ] [ "foo" "parser.tests" lookup symbol? ] unit-test ] times -[ "resource:core/parser/test/assert-depth.factor" run-file ] +[ "vocab:parser/test/assert-depth.factor" run-file ] [ got>> { 1 2 3 } sequence= ] must-fail-with diff --git a/core/sbufs/sbufs-docs.factor b/core/sbufs/sbufs-docs.factor index f5a06b8beb..43168f47a8 100644 --- a/core/sbufs/sbufs-docs.factor +++ b/core/sbufs/sbufs-docs.factor @@ -3,11 +3,9 @@ help.syntax kernel vectors ; IN: sbufs ARTICLE: "sbufs" "String buffers" -"A string buffer is a resizable mutable sequence of characters. The literal syntax is covered in " { $link "syntax-sbufs" } "." +"The " { $vocab-link "sbufs" } " vocabulary implements resizable mutable sequence of characters. The literal syntax is covered in " { $link "syntax-sbufs" } "." $nl -"String buffers can be used to construct new strings by accumilating substrings and characters, however usually they are only used indirectly, since the sequence construction words are more convenient to use in most cases (see " { $link "namespaces-make" } ")." -$nl -"String buffer words are found in the " { $vocab-link "sbufs" } " vocabulary." +"String buffers implement the " { $link "sequence-protocol" } " and thus all " { $link "sequences" } " can be used with them. String buffers can be used to construct new strings by accumilating substrings and characters, however usually they are only used indirectly, since the sequence construction words are more convenient to use in most cases (see " { $link "namespaces-make" } ")." $nl "String buffers form a class of objects:" { $subsection sbuf } diff --git a/core/sequences/sequences-docs.factor b/core/sequences/sequences-docs.factor index 6ca782a202..c12761ab38 100755 --- a/core/sequences/sequences-docs.factor +++ b/core/sequences/sequences-docs.factor @@ -247,12 +247,12 @@ HELP: array-capacity HELP: array-nth { $values { "n" "a non-negative fixnum" } { "array" "an array" } { "elt" object } } { $description "Low-level array element accessor." } -{ $warning "This word is in the " { $vocab-link "sequences.private" } " vocabulary because it is unsafe. It does not check types or array bounds, and improper use can corrupt memory." } ; +{ $warning "This word is in the " { $vocab-link "sequences.private" } " vocabulary because it is unsafe. It does not check types or array bounds, and improper use can corrupt memory. User code must use " { $link nth } " instead." } ; HELP: set-array-nth { $values { "elt" object } { "n" "a non-negative fixnum" } { "array" "an array" } } { $description "Low-level array element mutator." } -{ $warning "This word is in the " { $vocab-link "sequences.private" } " vocabulary because it is unsafe. It does not check types or array bounds, and improper use can corrupt memory." } ; +{ $warning "This word is in the " { $vocab-link "sequences.private" } " vocabulary because it is unsafe. It does not check types or array bounds, and improper use can corrupt memory. User code must use " { $link set-nth } " instead." } ; HELP: collect { $values { "n" "a non-negative integer" } { "quot" { $quotation "( n -- value )" } } { "into" "a sequence of length at least " { $snippet "n" } } } diff --git a/core/splitting/tags.txt b/core/splitting/tags.txt index 42d711b32b..3ab2d731fe 100644 --- a/core/splitting/tags.txt +++ b/core/splitting/tags.txt @@ -1 +1,2 @@ collections +text diff --git a/core/strings/parser/summary.txt b/core/strings/parser/summary.txt new file mode 100644 index 0000000000..b47975868a --- /dev/null +++ b/core/strings/parser/summary.txt @@ -0,0 +1 @@ +Parsing strings diff --git a/core/strings/strings-docs.factor b/core/strings/strings-docs.factor index 9a1671b126..c5ca2b129f 100644 --- a/core/strings/strings-docs.factor +++ b/core/strings/strings-docs.factor @@ -1,32 +1,25 @@ USING: arrays byte-arrays help.markup help.syntax kernel kernel.private strings.private sequences vectors -sbufs math ; +sbufs math tools.vocabs.browser ; IN: strings ARTICLE: "strings" "Strings" -"A string is a fixed-size mutable sequence of Unicode 5.1 code points." +"The " { $vocab-link "strings" } " vocabulary implements fixed-size mutable sequences of of Unicode 5.1 code points." $nl -"Characters are not a first-class type; they are simply represented as integers between 0 and 16777216 (2^24). Only characters up to 2097152 (2^21) have a defined meaning in Unicode." +"Code points, or characters as they're informally known, are not a first-class type; they are simply represented as integers in the range 0 and 16,777,216 (2^24), inclusive. Only characters up to 2,097,152 (2^21) have a defined meaning in Unicode." $nl "String literal syntax is covered in " { $link "syntax-strings" } "." $nl -"String words are found in the " { $vocab-link "strings" } " vocabulary." +"Since strings implement the " { $link "sequence-protocol" } ", basic string manipulation can be performed with " { $link "sequences" } " in the " { $vocab-link "sequences" } " vocabulary. More text processing functionality can be found in vocabularies carrying the " { $link T{ vocab-tag { name "text" } } } " tag." $nl "Strings form a class:" { $subsection string } { $subsection string? } -"Creating strings:" +"Creating new strings:" { $subsection >string } { $subsection } "Creating a string from a single character:" -{ $subsection 1string } -"Since strings are sequences, basic string manipulation can be performed using sequence operations (" { $link "sequences" } "). More advanced functionality can be found in other vocabularies, including but not limited to:" -{ $list - { { $link "ascii" } " - ASCII algorithms for interoperability with legacy applications" } - { { $link "unicode" } " - Unicode algorithms for modern multilingual applications" } - { { $vocab-link "regexp" } " - regular expressions" } - { { $vocab-link "peg" } " - parser expression grammars" } -} ; +{ $subsection 1string } ; ABOUT: "strings" diff --git a/core/system/summary.txt b/core/system/summary.txt index 414f0cac74..58bf255369 100644 --- a/core/system/summary.txt +++ b/core/system/summary.txt @@ -1 +1 @@ -OS and CPU queries, environment variables, paths +OS and CPU queries and other system-level tasks diff --git a/core/vectors/vectors-docs.factor b/core/vectors/vectors-docs.factor index 2af1300498..fe40a27182 100644 --- a/core/vectors/vectors-docs.factor +++ b/core/vectors/vectors-docs.factor @@ -4,17 +4,23 @@ vectors.private combinators ; IN: vectors ARTICLE: "vectors" "Vectors" -"A vector is a resizable mutable sequence of objects. The literal syntax is covered in " { $link "syntax-vectors" } ". Vector words are found in the " { $vocab-link "vectors" } " vocabulary." +"The " { $vocab-link "vectors" } " vocabulary implements resizable mutable sequence which support the " { $link "sequence-protocol" } "." $nl -"Vectors form a class:" +"The " { $vocab-link "vectors" } " vocabulary only includes words for creating new vectors. To access and modify vector elements, use " { $link "sequences" } " in the " { $vocab-link "sequences" } " vocabulary." +$nl +"Vector literal syntax is documented in " { $link "syntax-vectors" } "." +$nl +"Vectors are intended to be used with " { $link "sequences-destructive" } ". Code that does not modify sequences in-place can use fixed-size arrays without loss of generality; see " { $link "arrays" } "." +$nl +"Vectors form a class of objects:" { $subsection vector } { $subsection vector? } -"Creating vectors:" +"Creating new vectors:" { $subsection >vector } { $subsection } "Creating a vector from a single element:" { $subsection 1vector } -"If you don't care about initial capacity, a more elegant way to create a new vector is to write:" +"If you don't care about initial capacity, an elegant way to create a new vector is to write:" { $code "V{ } clone" } ; ABOUT: "vectors" diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor index 48e8737fd2..00c4df92a6 100644 --- a/core/vocabs/loader/loader.factor +++ b/core/vocabs/loader/loader.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2007, 2008 Eduardo Cavazos, Slava Pestov. +! Copyright (C) 2007, 2009 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: namespaces make sequences io io.files io.pathnames kernel assocs words vocabs definitions parser continuations hashtables @@ -18,6 +18,22 @@ V{ : add-vocab-root ( root -- ) vocab-roots get adjoin ; +SYMBOL: root-cache + +root-cache [ H{ } clone ] initialize + +ERROR: not-found-in-roots path ; + + + : vocab-dir ( vocab -- dir ) vocab-name { { CHAR: . CHAR: / } } substitute ; @@ -26,25 +42,9 @@ V{ [ [ dup peek ] dip append suffix ] when* "/" join ; -: vocab-dir? ( root name -- ? ) - over - [ ".factor" vocab-dir+ append-path exists? ] - [ 2drop f ] - if ; - -SYMBOL: root-cache - -H{ } clone root-cache set-global - - - : find-vocab-root ( vocab -- path/f ) - vocab-name dup root-cache get at [ ] [ (find-vocab-root) ] ?if ; + vocab-name dup root-cache get at + [ ] [ ".factor" vocab-dir+ find-root-for ] ?if ; : vocab-append-path ( vocab path -- newpath ) swap find-vocab-root dup [ prepend-path ] [ 2drop f ] if ; @@ -104,14 +104,14 @@ SYMBOL: blacklist : add-to-blacklist ( error vocab -- ) vocab-name blacklist get dup [ set-at ] [ 3drop ] if ; -GENERIC: (load-vocab) ( name -- ) +GENERIC: (load-vocab) ( name -- vocab ) M: vocab (load-vocab) [ dup source-loaded?>> +parsing+ eq? [ dup source-loaded?>> [ dup load-source ] unless dup docs-loaded?>> [ dup load-docs ] unless - ] unless drop + ] unless ] [ [ swap add-to-blacklist ] keep rethrow ] recover ; M: vocab-link (load-vocab) @@ -120,22 +120,15 @@ M: vocab-link (load-vocab) M: string (load-vocab) create-vocab (load-vocab) ; -[ - [ - dup vocab-name blacklist get at* [ rethrow ] [ - drop dup find-vocab-root - [ [ (load-vocab) ] with-compiler-errors ] - [ dup vocab [ drop ] [ no-vocab ] if ] - if - ] if - ] with-compiler-errors -] load-vocab-hook set-global - PRIVATE> -: vocab-where ( vocab -- loc ) - vocab-source-path dup [ 1 2array ] when ; +[ + dup vocab-name blacklist get at* [ rethrow ] [ + drop dup find-vocab-root + [ [ (load-vocab) ] with-compiler-errors ] + [ dup vocab [ ] [ no-vocab ] ?if ] + if + ] if +] load-vocab-hook set-global -M: vocab where vocab-where ; - -M: vocab-link where vocab-where ; +M: vocab-spec where vocab-source-path dup [ 1 2array ] when ; diff --git a/core/vocabs/parser/summary.txt b/core/vocabs/parser/summary.txt new file mode 100644 index 0000000000..2741539742 --- /dev/null +++ b/core/vocabs/parser/summary.txt @@ -0,0 +1 @@ +Utilities for parsing and defining words diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index fb9ce54672..977eac2b35 100644 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2007, 2008 Eduardo Cavazos, Slava Pestov. +! Copyright (C) 2007, 2009 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs strings kernel sorting namespaces sequences definitions ; @@ -21,18 +21,26 @@ SYMBOL: +done+ swap >>name H{ } clone >>words ; +TUPLE: vocab-link name ; + +C: vocab-link + +UNION: vocab-spec vocab vocab-link ; + GENERIC: vocab-name ( vocab-spec -- name ) +M: vocab vocab-name name>> ; + +M: vocab-link vocab-name name>> ; + +M: string vocab-name ; + GENERIC: vocab ( vocab-spec -- vocab ) M: vocab vocab ; M: object vocab ( name -- vocab ) vocab-name dictionary get at ; -M: vocab vocab-name name>> ; - -M: string vocab-name ; - GENERIC: vocab-words ( vocab-spec -- words ) M: vocab vocab-words words>> ; @@ -62,11 +70,6 @@ M: f vocab-main ; ERROR: no-vocab name ; -SYMBOL: load-vocab-hook ! ( name -- ) - -: load-vocab ( name -- vocab ) - dup load-vocab-hook get call vocab ; - : vocabs ( -- seq ) dictionary get keys natural-sort ; @@ -88,17 +91,6 @@ SYMBOL: load-vocab-hook ! ( name -- ) : child-vocabs ( vocab -- seq ) vocab-name vocabs [ child-vocab? ] with filter ; -TUPLE: vocab-link name ; - -: ( name -- vocab-link ) - vocab-link boa ; - -M: vocab-link hashcode* name>> hashcode* ; - -M: vocab-link vocab-name name>> ; - -UNION: vocab-spec vocab vocab-link ; - GENERIC: >vocab-link ( name -- vocab ) M: vocab-spec >vocab-link ; @@ -110,3 +102,7 @@ M: string >vocab-link dup vocab [ ] [ ] ?if ; vocab-name dictionary get delete-at ; M: vocab-spec forget* forget-vocab ; + +SYMBOL: load-vocab-hook ! ( name -- vocab ) + +: load-vocab ( name -- vocab ) load-vocab-hook get call ; \ No newline at end of file diff --git a/core/words/constant/summary.txt b/core/words/constant/summary.txt new file mode 100644 index 0000000000..42aa832d58 --- /dev/null +++ b/core/words/constant/summary.txt @@ -0,0 +1 @@ +Implementation of constant words diff --git a/core/words/symbol/summary.txt b/core/words/symbol/summary.txt new file mode 100644 index 0000000000..890cbde7ad --- /dev/null +++ b/core/words/symbol/summary.txt @@ -0,0 +1 @@ +Implementation of symbol words diff --git a/extra/benchmark/crc32/crc32.factor b/extra/benchmark/crc32/crc32.factor index 2fea4eb1f1..03d1585574 100755 --- a/extra/benchmark/crc32/crc32.factor +++ b/extra/benchmark/crc32/crc32.factor @@ -3,7 +3,7 @@ IN: benchmark.crc32 : crc32-file ( -- ) 10 [ - "resource:basis/mime/multipart/multipart-tests.factor" + "vocab:mime/multipart/multipart-tests.factor" crc32 checksum-file drop ] times ; diff --git a/extra/benchmark/md5/md5.factor b/extra/benchmark/md5/md5.factor index 24578ec677..5030cb6904 100644 --- a/extra/benchmark/md5/md5.factor +++ b/extra/benchmark/md5/md5.factor @@ -2,6 +2,6 @@ USING: checksums checksums.md5 io.files kernel ; IN: benchmark.md5 : md5-file ( -- ) - "resource:basis/mime/multipart/multipart-tests.factor" md5 checksum-file drop ; + "vocab:mime/multipart/multipart-tests.factor" md5 checksum-file drop ; MAIN: md5-file diff --git a/extra/benchmark/sha1/sha1.factor b/extra/benchmark/sha1/sha1.factor index 585368e836..8e19ba9a8f 100644 --- a/extra/benchmark/sha1/sha1.factor +++ b/extra/benchmark/sha1/sha1.factor @@ -2,6 +2,6 @@ USING: checksums checksums.sha1 io.files kernel ; IN: benchmark.sha1 : sha1-file ( -- ) - "resource:basis/mime/multipart/multipart-tests.factor" sha1 checksum-file drop ; + "vocab:mime/multipart/multipart-tests.factor" sha1 checksum-file drop ; MAIN: sha1-file diff --git a/extra/benchmark/xml/xml.factor b/extra/benchmark/xml/xml.factor index a32a98a133..0450331ddf 100644 --- a/extra/benchmark/xml/xml.factor +++ b/extra/benchmark/xml/xml.factor @@ -5,8 +5,8 @@ sequences xml ; IN: benchmark.xml : xml-benchmark ( -- ) - "resource:basis/xmode/modes/" [ - [ utf8 read-xml drop ] each + "vocab:xmode/modes/" [ + [ file>xml drop ] each ] with-directory-files ; MAIN: xml-benchmark diff --git a/extra/id3/id3-tests.factor b/extra/id3/id3-tests.factor index b9d45b1b04..fdbaf69f03 100644 --- a/extra/id3/id3-tests.factor +++ b/extra/id3/id3-tests.factor @@ -164,17 +164,17 @@ IN: id3.tests [ T{ mp3v1-file { title - "BLAH\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "BLAH" } { artist - "ARTIST\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "ARTIST" } { album - "ALBUM\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "ALBUM" } { year "2009" } { comment - "COMMENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "COMMENT" } { genre 89 } } diff --git a/extra/id3/id3.factor b/extra/id3/id3.factor index 64e1ff1d10..5b0d3f373e 100644 --- a/extra/id3/id3.factor +++ b/extra/id3/id3.factor @@ -127,11 +127,11 @@ TUPLE: mp3v1-file title artist album year comment genre ; : (read-v1-tag-data) ( seq -- mp3-file ) [ ] dip { - [ read-title ascii decode >>title ] - [ read-artist ascii decode >>artist ] - [ read-album ascii decode >>album ] - [ read-year ascii decode >>year ] - [ read-comment ascii decode >>comment ] + [ read-title ascii decode filter-text-data >>title ] + [ read-artist ascii decode filter-text-data >>artist ] + [ read-album ascii decode filter-text-data >>album ] + [ read-year ascii decode filter-text-data >>year ] + [ read-comment ascii decode filter-text-data >>comment ] [ read-genre >fixnum >>genre ] } cleave ; diff --git a/extra/peg/javascript/ast/tags.txt b/extra/peg/javascript/ast/tags.txt index a38bf33c3c..643ffaa321 100755 --- a/extra/peg/javascript/ast/tags.txt +++ b/extra/peg/javascript/ast/tags.txt @@ -1,4 +1,3 @@ -text javascript parsing languages diff --git a/extra/peg/javascript/parser/tags.txt b/extra/peg/javascript/parser/tags.txt index a38bf33c3c..643ffaa321 100755 --- a/extra/peg/javascript/parser/tags.txt +++ b/extra/peg/javascript/parser/tags.txt @@ -1,4 +1,3 @@ -text javascript parsing languages diff --git a/extra/peg/javascript/tags.txt b/extra/peg/javascript/tags.txt index a38bf33c3c..643ffaa321 100755 --- a/extra/peg/javascript/tags.txt +++ b/extra/peg/javascript/tags.txt @@ -1,4 +1,3 @@ -text javascript parsing languages diff --git a/extra/peg/javascript/tokenizer/tags.txt b/extra/peg/javascript/tokenizer/tags.txt index a38bf33c3c..643ffaa321 100755 --- a/extra/peg/javascript/tokenizer/tags.txt +++ b/extra/peg/javascript/tokenizer/tags.txt @@ -1,4 +1,3 @@ -text javascript parsing languages diff --git a/extra/serial/windows/authors.txt b/extra/serial/windows/authors.txt index e69de29bb2..7c1b2f2279 100755 --- a/extra/serial/windows/authors.txt +++ b/extra/serial/windows/authors.txt @@ -0,0 +1 @@ +Doug Coleman diff --git a/extra/usa-cities/usa-cities.factor b/extra/usa-cities/usa-cities.factor index 25ec30ac78..0ee2a114dd 100644 --- a/extra/usa-cities/usa-cities.factor +++ b/extra/usa-cities/usa-cities.factor @@ -28,8 +28,8 @@ TUPLE: city first-zip name state latitude longitude gmt-offset dst-offset ; MEMO: cities ( -- seq ) - "resource:extra/usa-cities/zipcode.csv" ascii - csv rest-slice [ + "resource:extra/usa-cities/zipcode.csv" ascii file>csv + rest-slice [ [ { [ string>number ] diff --git a/extra/webapps/todo/todo.factor b/extra/webapps/todo/todo.factor index 6ef60c198f..4f6edee031 100755 --- a/extra/webapps/todo/todo.factor +++ b/extra/webapps/todo/todo.factor @@ -143,8 +143,8 @@ io.sockets.secure ; : ( -- config ) ! This is only suitable for testing! - "resource:basis/openssl/test/dh1024.pem" >>dh-file - "resource:basis/openssl/test/server.pem" >>key-file + "vocab:openssl/test/dh1024.pem" >>dh-file + "vocab:openssl/test/server.pem" >>key-file "password" >>password ; : ( -- responder ) diff --git a/extra/websites/concatenative/concatenative.factor b/extra/websites/concatenative/concatenative.factor index 35a1129338..d7b132d4f2 100644 --- a/extra/websites/concatenative/concatenative.factor +++ b/extra/websites/concatenative/concatenative.factor @@ -69,8 +69,8 @@ SYMBOL: dh-file init-factor-db ; : init-testing ( -- ) - "resource:basis/openssl/test/dh1024.pem" dh-file set-global - "resource:basis/openssl/test/server.pem" key-file set-global + "vocab:openssl/test/dh1024.pem" dh-file set-global + "vocab:openssl/test/server.pem" key-file set-global "password" key-password set-global common-configuration diff --git a/misc/fuel/fuel-edit.el b/misc/fuel/fuel-edit.el index 941f57140e..f89e2b3eb8 100644 --- a/misc/fuel/fuel-edit.el +++ b/misc/fuel/fuel-edit.el @@ -65,7 +65,6 @@ ;;; Editing commands: (defvar fuel-edit--word-history nil) -(defvar fuel-edit--previous-location nil) (defun fuel-edit-vocabulary (&optional refresh vocab) "Visits vocabulary file in Emacs. @@ -129,7 +128,7 @@ was last invoked." (interactive) (condition-case nil (pop-tag-mark) - (error "No previous location for find word or vocab invokation"))) + (error "No previous location for find word or vocab invocation"))) (defvar fuel-edit--buffer-history nil) diff --git a/misc/fuel/fuel-font-lock.el b/misc/fuel/fuel-font-lock.el index 86ae94fe8a..f3b510fdd9 100644 --- a/misc/fuel/fuel-font-lock.el +++ b/misc/fuel/fuel-font-lock.el @@ -88,7 +88,6 @@ (t 'default)))) ((or (char-equal c ?U) (char-equal c ?C)) 'factor-font-lock-parsing-word) - ((char-equal c ?\() 'factor-font-lock-stack-effect) ((char-equal c ?\") 'factor-font-lock-string) (t 'factor-font-lock-comment))))) diff --git a/misc/fuel/fuel-syntax.el b/misc/fuel/fuel-syntax.el index 80bfd0afcb..67341120c1 100644 --- a/misc/fuel/fuel-syntax.el +++ b/misc/fuel/fuel-syntax.el @@ -136,7 +136,7 @@ (fuel-syntax--second-word-regex '("&:" "SYMBOL:" "VAR:"))) (defconst fuel-syntax--stack-effect-regex - "\\( ( .* )\\)\\|\\( (( .* ))\\)") + "\\( ( [^\n]* )\\)\\|\\( (( [^\n]* ))\\)") (defconst fuel-syntax--using-lines-regex "^USING: +\\([^;]+\\);") @@ -239,6 +239,8 @@ (modify-syntax-entry ?\r " " table) (modify-syntax-entry ?\ " " table) (modify-syntax-entry ?\n " " table) + (modify-syntax-entry ?\( "()" table) + (modify-syntax-entry ?\) ")(" table) table)) (defconst fuel-syntax--syntactic-keywords @@ -247,8 +249,6 @@ ;; Comments: ("\\_<\\(#?!\\) .*\\(\n\\|$\\)" (1 "<") (2 ">")) ("\\_<\\(#?!\\)\\(\n\\|$\\)" (1 "<") (2 ">")) - (" \\((\\)( \\([^\n]*\\) )\\()\\)\\( \\|\n\\)" (1 "b")) - (" \\((\\) \\([^\n]*\\) \\()\\)\\( \\|\n\\)" (1 "b")) ;; Strings ("\\( \\|^\\)\\(DLL\\|P\\|SBUF\\)\\(\"\\)\\([^\n\r\f\\\"]\\|\\\\.\\)*?\\(\"\\)" (3 "\"") (5 "\""))