diff --git a/README.txt b/README.txt index dd7c3e7ad3..754791aa1a 100755 --- a/README.txt +++ b/README.txt @@ -146,12 +146,13 @@ usage documentation, enter the following in the UI listener: The Factor source tree is organized as follows: build-support/ - scripts used for compiling Factor - core/ - Factor core library and compiler - extra/ - more libraries + vm/ - sources for the Factor VM, written in C + core/ - Factor core library + basis/ - Factor basis library, compiler, tools + extra/ - more libraries and applications fonts/ - TrueType fonts used by UI misc/ - editor modes, icons, etc unmaintained/ - unmaintained contributions, please help! - vm/ - sources for the Factor VM, written in C * Community diff --git a/extra/alarms/alarms-docs.factor b/basis/alarms/alarms-docs.factor similarity index 100% rename from extra/alarms/alarms-docs.factor rename to basis/alarms/alarms-docs.factor diff --git a/extra/alarms/alarms-tests.factor b/basis/alarms/alarms-tests.factor similarity index 100% rename from extra/alarms/alarms-tests.factor rename to basis/alarms/alarms-tests.factor diff --git a/extra/alarms/alarms.factor b/basis/alarms/alarms.factor similarity index 100% rename from extra/alarms/alarms.factor rename to basis/alarms/alarms.factor diff --git a/extra/alarms/authors.txt b/basis/alarms/authors.txt similarity index 100% rename from extra/alarms/authors.txt rename to basis/alarms/authors.txt diff --git a/extra/alias/alias.factor b/basis/alias/alias.factor similarity index 100% rename from extra/alias/alias.factor rename to basis/alias/alias.factor diff --git a/core/alien/arrays/arrays-docs.factor b/basis/alien/arrays/arrays-docs.factor similarity index 100% rename from core/alien/arrays/arrays-docs.factor rename to basis/alien/arrays/arrays-docs.factor diff --git a/core/alien/arrays/arrays.factor b/basis/alien/arrays/arrays.factor similarity index 100% rename from core/alien/arrays/arrays.factor rename to basis/alien/arrays/arrays.factor diff --git a/core/alien/arrays/authors.txt b/basis/alien/arrays/authors.txt similarity index 100% rename from core/alien/arrays/authors.txt rename to basis/alien/arrays/authors.txt diff --git a/core/alien/arrays/summary.txt b/basis/alien/arrays/summary.txt similarity index 100% rename from core/alien/arrays/summary.txt rename to basis/alien/arrays/summary.txt diff --git a/core/alien/c-types/authors.txt b/basis/alien/c-types/authors.txt similarity index 100% rename from core/alien/c-types/authors.txt rename to basis/alien/c-types/authors.txt diff --git a/core/alien/c-types/c-types-docs.factor b/basis/alien/c-types/c-types-docs.factor similarity index 100% rename from core/alien/c-types/c-types-docs.factor rename to basis/alien/c-types/c-types-docs.factor diff --git a/core/alien/c-types/c-types-tests.factor b/basis/alien/c-types/c-types-tests.factor similarity index 100% rename from core/alien/c-types/c-types-tests.factor rename to basis/alien/c-types/c-types-tests.factor diff --git a/core/alien/c-types/c-types.factor b/basis/alien/c-types/c-types.factor similarity index 100% rename from core/alien/c-types/c-types.factor rename to basis/alien/c-types/c-types.factor diff --git a/core/alien/c-types/summary.txt b/basis/alien/c-types/summary.txt similarity index 100% rename from core/alien/c-types/summary.txt rename to basis/alien/c-types/summary.txt diff --git a/core/alien/compiler/authors.txt b/basis/alien/compiler/authors.txt similarity index 100% rename from core/alien/compiler/authors.txt rename to basis/alien/compiler/authors.txt diff --git a/core/alien/compiler/compiler-tests.factor b/basis/alien/compiler/compiler-tests.factor similarity index 100% rename from core/alien/compiler/compiler-tests.factor rename to basis/alien/compiler/compiler-tests.factor diff --git a/core/alien/compiler/compiler.factor b/basis/alien/compiler/compiler.factor similarity index 100% rename from core/alien/compiler/compiler.factor rename to basis/alien/compiler/compiler.factor diff --git a/core/alien/compiler/summary.txt b/basis/alien/compiler/summary.txt similarity index 100% rename from core/alien/compiler/summary.txt rename to basis/alien/compiler/summary.txt diff --git a/core/alien/remote-control/authors.txt b/basis/alien/remote-control/authors.txt similarity index 100% rename from core/alien/remote-control/authors.txt rename to basis/alien/remote-control/authors.txt diff --git a/core/alien/remote-control/remote-control.factor b/basis/alien/remote-control/remote-control.factor similarity index 92% rename from core/alien/remote-control/remote-control.factor rename to basis/alien/remote-control/remote-control.factor index 344c8a2c5a..9cd9050ea8 100755 --- a/core/alien/remote-control/remote-control.factor +++ b/basis/alien/remote-control/remote-control.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors alien alien.c-types alien.strings parser -threads words kernel.private kernel io.encodings.utf8 ; +threads words kernel.private kernel io.encodings.utf8 eval ; IN: alien.remote-control : eval-callback ( -- callback ) diff --git a/core/alien/remote-control/summary.txt b/basis/alien/remote-control/summary.txt similarity index 100% rename from core/alien/remote-control/summary.txt rename to basis/alien/remote-control/summary.txt diff --git a/core/alien/strings/strings-docs.factor b/basis/alien/strings/strings-docs.factor similarity index 100% rename from core/alien/strings/strings-docs.factor rename to basis/alien/strings/strings-docs.factor diff --git a/core/alien/strings/strings-tests.factor b/basis/alien/strings/strings-tests.factor similarity index 100% rename from core/alien/strings/strings-tests.factor rename to basis/alien/strings/strings-tests.factor diff --git a/core/alien/strings/strings.factor b/basis/alien/strings/strings.factor similarity index 100% rename from core/alien/strings/strings.factor rename to basis/alien/strings/strings.factor diff --git a/core/alien/structs/authors.txt b/basis/alien/structs/authors.txt similarity index 100% rename from core/alien/structs/authors.txt rename to basis/alien/structs/authors.txt diff --git a/core/alien/structs/structs-docs.factor b/basis/alien/structs/structs-docs.factor similarity index 100% rename from core/alien/structs/structs-docs.factor rename to basis/alien/structs/structs-docs.factor diff --git a/core/alien/structs/structs-tests.factor b/basis/alien/structs/structs-tests.factor similarity index 100% rename from core/alien/structs/structs-tests.factor rename to basis/alien/structs/structs-tests.factor diff --git a/core/alien/structs/structs.factor b/basis/alien/structs/structs.factor similarity index 100% rename from core/alien/structs/structs.factor rename to basis/alien/structs/structs.factor diff --git a/core/alien/structs/summary.txt b/basis/alien/structs/summary.txt similarity index 100% rename from core/alien/structs/summary.txt rename to basis/alien/structs/summary.txt diff --git a/core/alien/syntax/authors.txt b/basis/alien/syntax/authors.txt similarity index 100% rename from core/alien/syntax/authors.txt rename to basis/alien/syntax/authors.txt diff --git a/core/alien/syntax/summary.txt b/basis/alien/syntax/summary.txt similarity index 100% rename from core/alien/syntax/summary.txt rename to basis/alien/syntax/summary.txt diff --git a/core/alien/syntax/syntax-docs.factor b/basis/alien/syntax/syntax-docs.factor similarity index 100% rename from core/alien/syntax/syntax-docs.factor rename to basis/alien/syntax/syntax-docs.factor diff --git a/core/alien/syntax/syntax.factor b/basis/alien/syntax/syntax.factor similarity index 100% rename from core/alien/syntax/syntax.factor rename to basis/alien/syntax/syntax.factor diff --git a/extra/ascii/ascii-docs.factor b/basis/ascii/ascii-docs.factor similarity index 100% rename from extra/ascii/ascii-docs.factor rename to basis/ascii/ascii-docs.factor diff --git a/extra/ascii/ascii-tests.factor b/basis/ascii/ascii-tests.factor similarity index 100% rename from extra/ascii/ascii-tests.factor rename to basis/ascii/ascii-tests.factor diff --git a/extra/ascii/ascii.factor b/basis/ascii/ascii.factor similarity index 100% rename from extra/ascii/ascii.factor rename to basis/ascii/ascii.factor diff --git a/core/bootstrap/compiler/authors.txt b/basis/ascii/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/bootstrap/compiler/authors.txt rename to basis/ascii/authors.txt diff --git a/extra/ascii/summary.txt b/basis/ascii/summary.txt similarity index 100% rename from extra/ascii/summary.txt rename to basis/ascii/summary.txt diff --git a/core/io/encodings/utf16/tags.txt b/basis/ascii/tags.txt old mode 100644 new mode 100755 similarity index 100% rename from core/io/encodings/utf16/tags.txt rename to basis/ascii/tags.txt diff --git a/extra/base64/authors.txt b/basis/base64/authors.txt similarity index 100% rename from extra/base64/authors.txt rename to basis/base64/authors.txt diff --git a/extra/base64/base64-docs.factor b/basis/base64/base64-docs.factor similarity index 100% rename from extra/base64/base64-docs.factor rename to basis/base64/base64-docs.factor diff --git a/extra/base64/base64-tests.factor b/basis/base64/base64-tests.factor similarity index 100% rename from extra/base64/base64-tests.factor rename to basis/base64/base64-tests.factor diff --git a/extra/base64/base64.factor b/basis/base64/base64.factor similarity index 100% rename from extra/base64/base64.factor rename to basis/base64/base64.factor diff --git a/extra/base64/summary.txt b/basis/base64/summary.txt similarity index 100% rename from extra/base64/summary.txt rename to basis/base64/summary.txt diff --git a/core/bootstrap/image/authors.txt b/basis/biassocs/authors.txt similarity index 100% rename from core/bootstrap/image/authors.txt rename to basis/biassocs/authors.txt diff --git a/extra/biassocs/biassocs-docs.factor b/basis/biassocs/biassocs-docs.factor similarity index 100% rename from extra/biassocs/biassocs-docs.factor rename to basis/biassocs/biassocs-docs.factor diff --git a/extra/biassocs/biassocs-tests.factor b/basis/biassocs/biassocs-tests.factor similarity index 100% rename from extra/biassocs/biassocs-tests.factor rename to basis/biassocs/biassocs-tests.factor diff --git a/extra/biassocs/biassocs.factor b/basis/biassocs/biassocs.factor similarity index 100% rename from extra/biassocs/biassocs.factor rename to basis/biassocs/biassocs.factor diff --git a/extra/biassocs/summary.txt b/basis/biassocs/summary.txt similarity index 100% rename from extra/biassocs/summary.txt rename to basis/biassocs/summary.txt diff --git a/core/dequeues/tags.txt b/basis/biassocs/tags.txt similarity index 100% rename from core/dequeues/tags.txt rename to basis/biassocs/tags.txt diff --git a/core/binary-search/binary-search-docs.factor b/basis/binary-search/binary-search-docs.factor similarity index 100% rename from core/binary-search/binary-search-docs.factor rename to basis/binary-search/binary-search-docs.factor diff --git a/core/binary-search/binary-search-tests.factor b/basis/binary-search/binary-search-tests.factor similarity index 100% rename from core/binary-search/binary-search-tests.factor rename to basis/binary-search/binary-search-tests.factor diff --git a/core/binary-search/binary-search.factor b/basis/binary-search/binary-search.factor similarity index 100% rename from core/binary-search/binary-search.factor rename to basis/binary-search/binary-search.factor diff --git a/core/command-line/authors.txt b/basis/bit-arrays/authors.txt similarity index 100% rename from core/command-line/authors.txt rename to basis/bit-arrays/authors.txt diff --git a/extra/bit-arrays/bit-arrays-docs.factor b/basis/bit-arrays/bit-arrays-docs.factor similarity index 100% rename from extra/bit-arrays/bit-arrays-docs.factor rename to basis/bit-arrays/bit-arrays-docs.factor diff --git a/extra/bit-arrays/bit-arrays-tests.factor b/basis/bit-arrays/bit-arrays-tests.factor similarity index 100% rename from extra/bit-arrays/bit-arrays-tests.factor rename to basis/bit-arrays/bit-arrays-tests.factor diff --git a/extra/bit-arrays/bit-arrays.factor b/basis/bit-arrays/bit-arrays.factor similarity index 100% rename from extra/bit-arrays/bit-arrays.factor rename to basis/bit-arrays/bit-arrays.factor diff --git a/extra/bit-arrays/summary.txt b/basis/bit-arrays/summary.txt similarity index 100% rename from extra/bit-arrays/summary.txt rename to basis/bit-arrays/summary.txt diff --git a/core/dlists/tags.txt b/basis/bit-arrays/tags.txt similarity index 100% rename from core/dlists/tags.txt rename to basis/bit-arrays/tags.txt diff --git a/extra/bit-vectors/bit-vectors-docs.factor b/basis/bit-vectors/bit-vectors-docs.factor similarity index 100% rename from extra/bit-vectors/bit-vectors-docs.factor rename to basis/bit-vectors/bit-vectors-docs.factor diff --git a/extra/bit-vectors/bit-vectors-tests.factor b/basis/bit-vectors/bit-vectors-tests.factor similarity index 100% rename from extra/bit-vectors/bit-vectors-tests.factor rename to basis/bit-vectors/bit-vectors-tests.factor diff --git a/extra/bit-vectors/bit-vectors.factor b/basis/bit-vectors/bit-vectors.factor similarity index 100% rename from extra/bit-vectors/bit-vectors.factor rename to basis/bit-vectors/bit-vectors.factor diff --git a/extra/bit-vectors/summary.txt b/basis/bit-vectors/summary.txt similarity index 100% rename from extra/bit-vectors/summary.txt rename to basis/bit-vectors/summary.txt diff --git a/core/heaps/tags.txt b/basis/bit-vectors/tags.txt similarity index 100% rename from core/heaps/tags.txt rename to basis/bit-vectors/tags.txt diff --git a/core/compiler/authors.txt b/basis/bootstrap/compiler/authors.txt similarity index 100% rename from core/compiler/authors.txt rename to basis/bootstrap/compiler/authors.txt diff --git a/core/bootstrap/compiler/compiler.factor b/basis/bootstrap/compiler/compiler.factor similarity index 100% rename from core/bootstrap/compiler/compiler.factor rename to basis/bootstrap/compiler/compiler.factor diff --git a/core/bootstrap/compiler/summary.txt b/basis/bootstrap/compiler/summary.txt similarity index 100% rename from core/bootstrap/compiler/summary.txt rename to basis/bootstrap/compiler/summary.txt diff --git a/extra/bootstrap/handbook/handbook.factor b/basis/bootstrap/handbook/handbook.factor similarity index 100% rename from extra/bootstrap/handbook/handbook.factor rename to basis/bootstrap/handbook/handbook.factor diff --git a/core/compiler/constants/authors.txt b/basis/bootstrap/help/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/compiler/constants/authors.txt rename to basis/bootstrap/help/authors.txt diff --git a/extra/bootstrap/help/help.factor b/basis/bootstrap/help/help.factor similarity index 100% rename from extra/bootstrap/help/help.factor rename to basis/bootstrap/help/help.factor diff --git a/extra/bootstrap/help/summary.txt b/basis/bootstrap/help/summary.txt similarity index 100% rename from extra/bootstrap/help/summary.txt rename to basis/bootstrap/help/summary.txt diff --git a/core/cpu/architecture/authors.txt b/basis/bootstrap/image/authors.txt similarity index 100% rename from core/cpu/architecture/authors.txt rename to basis/bootstrap/image/authors.txt diff --git a/core/cpu/arm/4/authors.txt b/basis/bootstrap/image/download/authors.txt similarity index 100% rename from core/cpu/arm/4/authors.txt rename to basis/bootstrap/image/download/authors.txt diff --git a/extra/bootstrap/image/download/download.factor b/basis/bootstrap/image/download/download.factor similarity index 100% rename from extra/bootstrap/image/download/download.factor rename to basis/bootstrap/image/download/download.factor diff --git a/extra/bootstrap/image/download/summary.txt b/basis/bootstrap/image/download/summary.txt similarity index 100% rename from extra/bootstrap/image/download/summary.txt rename to basis/bootstrap/image/download/summary.txt diff --git a/core/bootstrap/image/image-docs.factor b/basis/bootstrap/image/image-docs.factor similarity index 100% rename from core/bootstrap/image/image-docs.factor rename to basis/bootstrap/image/image-docs.factor diff --git a/core/bootstrap/image/image-tests.factor b/basis/bootstrap/image/image-tests.factor similarity index 100% rename from core/bootstrap/image/image-tests.factor rename to basis/bootstrap/image/image-tests.factor diff --git a/core/bootstrap/image/image.factor b/basis/bootstrap/image/image.factor similarity index 100% rename from core/bootstrap/image/image.factor rename to basis/bootstrap/image/image.factor diff --git a/core/bootstrap/image/summary.txt b/basis/bootstrap/image/summary.txt similarity index 100% rename from core/bootstrap/image/summary.txt rename to basis/bootstrap/image/summary.txt diff --git a/core/bootstrap/image/tags.txt b/basis/bootstrap/image/tags.txt similarity index 100% rename from core/bootstrap/image/tags.txt rename to basis/bootstrap/image/tags.txt diff --git a/core/cpu/arm/allot/authors.txt b/basis/bootstrap/image/upload/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/arm/allot/authors.txt rename to basis/bootstrap/image/upload/authors.txt diff --git a/extra/bootstrap/image/upload/summary.txt b/basis/bootstrap/image/upload/summary.txt similarity index 100% rename from extra/bootstrap/image/upload/summary.txt rename to basis/bootstrap/image/upload/summary.txt diff --git a/extra/bootstrap/image/upload/upload.factor b/basis/bootstrap/image/upload/upload.factor similarity index 100% rename from extra/bootstrap/image/upload/upload.factor rename to basis/bootstrap/image/upload/upload.factor diff --git a/core/cpu/arm/architecture/authors.txt b/basis/bootstrap/io/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/arm/architecture/authors.txt rename to basis/bootstrap/io/authors.txt diff --git a/extra/bootstrap/io/io.factor b/basis/bootstrap/io/io.factor similarity index 100% rename from extra/bootstrap/io/io.factor rename to basis/bootstrap/io/io.factor diff --git a/extra/bootstrap/io/summary.txt b/basis/bootstrap/io/summary.txt similarity index 100% rename from extra/bootstrap/io/summary.txt rename to basis/bootstrap/io/summary.txt diff --git a/extra/bootstrap/math/math.factor b/basis/bootstrap/math/math.factor similarity index 100% rename from extra/bootstrap/math/math.factor rename to basis/bootstrap/math/math.factor diff --git a/extra/bootstrap/math/summary.txt b/basis/bootstrap/math/summary.txt similarity index 100% rename from extra/bootstrap/math/summary.txt rename to basis/bootstrap/math/summary.txt diff --git a/extra/bootstrap/random/random.factor b/basis/bootstrap/random/random.factor similarity index 100% rename from extra/bootstrap/random/random.factor rename to basis/bootstrap/random/random.factor diff --git a/core/bootstrap/stage2.factor b/basis/bootstrap/stage2.factor similarity index 52% rename from core/bootstrap/stage2.factor rename to basis/bootstrap/stage2.factor index c6afdfe749..08da2ae14b 100755 --- a/core/bootstrap/stage2.factor +++ b/basis/bootstrap/stage2.factor @@ -44,57 +44,64 @@ SYMBOL: bootstrap-time "Now, you can run Factor:" print vm write " -i=" write "output-image" get print flush ; -! We time bootstrap -millis >r - -default-image-name "output-image" set-global - -"math compiler help io random tools ui ui.tools unicode handbook" "include" set-global -"" "exclude" set-global - -parse-command-line - -"-no-crossref" cli-args member? [ do-crossref ] unless - -"io.thread" require - -! Set dll paths -os wince? [ "windows.ce" require ] when -os winnt? [ "windows.nt" require ] when - -"deploy-vocab" get [ - "stage2: deployment mode" print -] [ - "listener" require - "none" require -] if - [ - load-components + ! We time bootstrap + millis >r - run-bootstrap-init -] with-compiler-errors -:errors + default-image-name "output-image" set-global -f error set-global -f error-continuation set-global + "threads math compiler help io random tools ui ui.tools unicode handbook" "include" set-global + "" "exclude" set-global + + parse-command-line + + "-no-crossref" cli-args member? [ do-crossref ] unless + + ! Set dll paths + os wince? [ "windows.ce" require ] when + os winnt? [ "windows.nt" require ] when + + "deploy-vocab" get [ + "stage2: deployment mode" print + ] [ + "listener" require + "none" require + ] if -"deploy-vocab" get [ - "tools.deploy.shaker" run -] [ [ - boot - do-init-hooks + load-components + + run-bootstrap-init + ] with-compiler-errors + :errors + + f error set-global + f error-continuation set-global + + "deploy-vocab" get [ + "tools.deploy.shaker" run + ] [ [ - parse-command-line - run-user-init - "run" get run - output-stream get [ stream-flush ] when* - ] [ print-error 1 exit ] recover - ] set-boot-quot + boot + do-init-hooks + [ + parse-command-line + run-user-init + "run" get run + output-stream get [ stream-flush ] when* + ] [ print-error 1 exit ] recover + ] set-boot-quot - millis r> - dup bootstrap-time set-global - print-report + millis r> - dup bootstrap-time set-global + print-report - "output-image" get save-image-and-exit -] if + "output-image" get save-image-and-exit + ] if +] [ + :c + dup print-error flush + "listener" vocab + [ restarts. vocab-main execute ] + [ die ] if* + 1 exit +] recover diff --git a/basis/bootstrap/threads/threads.factor b/basis/bootstrap/threads/threads.factor new file mode 100644 index 0000000000..8f4a05ef52 --- /dev/null +++ b/basis/bootstrap/threads/threads.factor @@ -0,0 +1,6 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +IN: bootstrap.threads + +USE: io.thread +USE: threads diff --git a/core/cpu/arm/assembler/authors.txt b/basis/bootstrap/tools/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/arm/assembler/authors.txt rename to basis/bootstrap/tools/authors.txt diff --git a/extra/bootstrap/tools/summary.txt b/basis/bootstrap/tools/summary.txt similarity index 100% rename from extra/bootstrap/tools/summary.txt rename to basis/bootstrap/tools/summary.txt diff --git a/extra/bootstrap/tools/tools.factor b/basis/bootstrap/tools/tools.factor similarity index 100% rename from extra/bootstrap/tools/tools.factor rename to basis/bootstrap/tools/tools.factor diff --git a/extra/bootstrap/unicode/unicode.factor b/basis/bootstrap/unicode/unicode.factor similarity index 100% rename from extra/bootstrap/unicode/unicode.factor rename to basis/bootstrap/unicode/unicode.factor diff --git a/core/boxes/boxes-docs.factor b/basis/boxes/boxes-docs.factor similarity index 100% rename from core/boxes/boxes-docs.factor rename to basis/boxes/boxes-docs.factor diff --git a/core/boxes/boxes-tests.factor b/basis/boxes/boxes-tests.factor similarity index 100% rename from core/boxes/boxes-tests.factor rename to basis/boxes/boxes-tests.factor diff --git a/core/boxes/boxes.factor b/basis/boxes/boxes.factor similarity index 100% rename from core/boxes/boxes.factor rename to basis/boxes/boxes.factor diff --git a/extra/calendar/authors.txt b/basis/calendar/authors.txt similarity index 100% rename from extra/calendar/authors.txt rename to basis/calendar/authors.txt diff --git a/extra/calendar/backend/authors.txt b/basis/calendar/backend/authors.txt similarity index 100% rename from extra/calendar/backend/authors.txt rename to basis/calendar/backend/authors.txt diff --git a/extra/calendar/backend/backend.factor b/basis/calendar/backend/backend.factor similarity index 100% rename from extra/calendar/backend/backend.factor rename to basis/calendar/backend/backend.factor diff --git a/extra/calendar/calendar-tests.factor b/basis/calendar/calendar-tests.factor similarity index 100% rename from extra/calendar/calendar-tests.factor rename to basis/calendar/calendar-tests.factor diff --git a/extra/calendar/calendar.factor b/basis/calendar/calendar.factor similarity index 100% rename from extra/calendar/calendar.factor rename to basis/calendar/calendar.factor diff --git a/extra/calendar/format/format-tests.factor b/basis/calendar/format/format-tests.factor similarity index 100% rename from extra/calendar/format/format-tests.factor rename to basis/calendar/format/format-tests.factor diff --git a/extra/calendar/format/format.factor b/basis/calendar/format/format.factor similarity index 100% rename from extra/calendar/format/format.factor rename to basis/calendar/format/format.factor diff --git a/extra/calendar/format/macros/macros-tests.factor b/basis/calendar/format/macros/macros-tests.factor similarity index 100% rename from extra/calendar/format/macros/macros-tests.factor rename to basis/calendar/format/macros/macros-tests.factor diff --git a/extra/calendar/format/macros/macros.factor b/basis/calendar/format/macros/macros.factor similarity index 100% rename from extra/calendar/format/macros/macros.factor rename to basis/calendar/format/macros/macros.factor diff --git a/extra/calendar/format/summary.txt b/basis/calendar/format/summary.txt similarity index 100% rename from extra/calendar/format/summary.txt rename to basis/calendar/format/summary.txt diff --git a/extra/calendar/model/model.factor b/basis/calendar/model/model.factor similarity index 100% rename from extra/calendar/model/model.factor rename to basis/calendar/model/model.factor diff --git a/extra/calendar/model/summary.txt b/basis/calendar/model/summary.txt similarity index 100% rename from extra/calendar/model/summary.txt rename to basis/calendar/model/summary.txt diff --git a/extra/calendar/summary.txt b/basis/calendar/summary.txt similarity index 100% rename from extra/calendar/summary.txt rename to basis/calendar/summary.txt diff --git a/extra/calendar/unix/authors.txt b/basis/calendar/unix/authors.txt similarity index 100% rename from extra/calendar/unix/authors.txt rename to basis/calendar/unix/authors.txt diff --git a/basis/calendar/unix/tags.txt b/basis/calendar/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/calendar/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/calendar/unix/unix.factor b/basis/calendar/unix/unix.factor similarity index 100% rename from extra/calendar/unix/unix.factor rename to basis/calendar/unix/unix.factor diff --git a/extra/calendar/windows/authors.txt b/basis/calendar/windows/authors.txt similarity index 100% rename from extra/calendar/windows/authors.txt rename to basis/calendar/windows/authors.txt diff --git a/basis/calendar/windows/tags.txt b/basis/calendar/windows/tags.txt new file mode 100644 index 0000000000..02ec70f741 --- /dev/null +++ b/basis/calendar/windows/tags.txt @@ -0,0 +1,2 @@ +unportable +windows diff --git a/extra/calendar/windows/windows.factor b/basis/calendar/windows/windows.factor similarity index 100% rename from extra/calendar/windows/windows.factor rename to basis/calendar/windows/windows.factor diff --git a/extra/channels/authors.txt b/basis/channels/authors.txt similarity index 100% rename from extra/channels/authors.txt rename to basis/channels/authors.txt diff --git a/extra/channels/channels-docs.factor b/basis/channels/channels-docs.factor similarity index 100% rename from extra/channels/channels-docs.factor rename to basis/channels/channels-docs.factor diff --git a/extra/channels/channels-tests.factor b/basis/channels/channels-tests.factor similarity index 100% rename from extra/channels/channels-tests.factor rename to basis/channels/channels-tests.factor diff --git a/extra/channels/channels.factor b/basis/channels/channels.factor similarity index 100% rename from extra/channels/channels.factor rename to basis/channels/channels.factor diff --git a/extra/channels/examples/authors.txt b/basis/channels/examples/authors.txt similarity index 100% rename from extra/channels/examples/authors.txt rename to basis/channels/examples/authors.txt diff --git a/extra/channels/examples/examples.factor b/basis/channels/examples/examples.factor similarity index 100% rename from extra/channels/examples/examples.factor rename to basis/channels/examples/examples.factor diff --git a/extra/channels/examples/summary.txt b/basis/channels/examples/summary.txt similarity index 100% rename from extra/channels/examples/summary.txt rename to basis/channels/examples/summary.txt diff --git a/extra/channels/examples/tags.txt b/basis/channels/examples/tags.txt similarity index 100% rename from extra/channels/examples/tags.txt rename to basis/channels/examples/tags.txt diff --git a/extra/channels/remote/authors.txt b/basis/channels/remote/authors.txt similarity index 100% rename from extra/channels/remote/authors.txt rename to basis/channels/remote/authors.txt diff --git a/extra/channels/remote/remote-docs.factor b/basis/channels/remote/remote-docs.factor similarity index 100% rename from extra/channels/remote/remote-docs.factor rename to basis/channels/remote/remote-docs.factor diff --git a/extra/channels/remote/remote-tests.factor b/basis/channels/remote/remote-tests.factor similarity index 100% rename from extra/channels/remote/remote-tests.factor rename to basis/channels/remote/remote-tests.factor diff --git a/extra/channels/remote/remote.factor b/basis/channels/remote/remote.factor similarity index 100% rename from extra/channels/remote/remote.factor rename to basis/channels/remote/remote.factor diff --git a/extra/channels/remote/summary.txt b/basis/channels/remote/summary.txt similarity index 100% rename from extra/channels/remote/summary.txt rename to basis/channels/remote/summary.txt diff --git a/extra/channels/remote/tags.txt b/basis/channels/remote/tags.txt similarity index 100% rename from extra/channels/remote/tags.txt rename to basis/channels/remote/tags.txt diff --git a/extra/channels/summary.txt b/basis/channels/summary.txt similarity index 100% rename from extra/channels/summary.txt rename to basis/channels/summary.txt diff --git a/extra/channels/tags.txt b/basis/channels/tags.txt similarity index 100% rename from extra/channels/tags.txt rename to basis/channels/tags.txt diff --git a/extra/checksums/adler-32/adler-32-docs.factor b/basis/checksums/adler-32/adler-32-docs.factor similarity index 100% rename from extra/checksums/adler-32/adler-32-docs.factor rename to basis/checksums/adler-32/adler-32-docs.factor diff --git a/extra/checksums/adler-32/adler-32-tests.factor b/basis/checksums/adler-32/adler-32-tests.factor similarity index 100% rename from extra/checksums/adler-32/adler-32-tests.factor rename to basis/checksums/adler-32/adler-32-tests.factor diff --git a/extra/checksums/adler-32/adler-32.factor b/basis/checksums/adler-32/adler-32.factor similarity index 100% rename from extra/checksums/adler-32/adler-32.factor rename to basis/checksums/adler-32/adler-32.factor diff --git a/extra/checksums/adler-32/authors.txt b/basis/checksums/adler-32/authors.txt similarity index 100% rename from extra/checksums/adler-32/authors.txt rename to basis/checksums/adler-32/authors.txt diff --git a/extra/checksums/md5/authors.txt b/basis/checksums/md5/authors.txt similarity index 100% rename from extra/checksums/md5/authors.txt rename to basis/checksums/md5/authors.txt diff --git a/extra/checksums/md5/md5-docs.factor b/basis/checksums/md5/md5-docs.factor similarity index 100% rename from extra/checksums/md5/md5-docs.factor rename to basis/checksums/md5/md5-docs.factor diff --git a/extra/checksums/md5/md5-tests.factor b/basis/checksums/md5/md5-tests.factor similarity index 100% rename from extra/checksums/md5/md5-tests.factor rename to basis/checksums/md5/md5-tests.factor diff --git a/extra/checksums/md5/md5.factor b/basis/checksums/md5/md5.factor similarity index 100% rename from extra/checksums/md5/md5.factor rename to basis/checksums/md5/md5.factor diff --git a/extra/checksums/null/null.factor b/basis/checksums/null/null.factor similarity index 100% rename from extra/checksums/null/null.factor rename to basis/checksums/null/null.factor diff --git a/extra/checksums/openssl/openssl-docs.factor b/basis/checksums/openssl/openssl-docs.factor similarity index 100% rename from extra/checksums/openssl/openssl-docs.factor rename to basis/checksums/openssl/openssl-docs.factor diff --git a/extra/checksums/openssl/openssl-tests.factor b/basis/checksums/openssl/openssl-tests.factor similarity index 100% rename from extra/checksums/openssl/openssl-tests.factor rename to basis/checksums/openssl/openssl-tests.factor diff --git a/extra/checksums/openssl/openssl.factor b/basis/checksums/openssl/openssl.factor similarity index 100% rename from extra/checksums/openssl/openssl.factor rename to basis/checksums/openssl/openssl.factor diff --git a/extra/checksums/sha1/authors.txt b/basis/checksums/sha1/authors.txt similarity index 100% rename from extra/checksums/sha1/authors.txt rename to basis/checksums/sha1/authors.txt diff --git a/extra/checksums/sha1/sha1-docs.factor b/basis/checksums/sha1/sha1-docs.factor similarity index 100% rename from extra/checksums/sha1/sha1-docs.factor rename to basis/checksums/sha1/sha1-docs.factor diff --git a/extra/checksums/sha1/sha1-tests.factor b/basis/checksums/sha1/sha1-tests.factor similarity index 100% rename from extra/checksums/sha1/sha1-tests.factor rename to basis/checksums/sha1/sha1-tests.factor diff --git a/extra/checksums/sha1/sha1.factor b/basis/checksums/sha1/sha1.factor similarity index 100% rename from extra/checksums/sha1/sha1.factor rename to basis/checksums/sha1/sha1.factor diff --git a/extra/checksums/sha2/authors.txt b/basis/checksums/sha2/authors.txt similarity index 100% rename from extra/checksums/sha2/authors.txt rename to basis/checksums/sha2/authors.txt diff --git a/extra/checksums/sha2/sha2-docs.factor b/basis/checksums/sha2/sha2-docs.factor similarity index 100% rename from extra/checksums/sha2/sha2-docs.factor rename to basis/checksums/sha2/sha2-docs.factor diff --git a/extra/checksums/sha2/sha2-tests.factor b/basis/checksums/sha2/sha2-tests.factor similarity index 100% rename from extra/checksums/sha2/sha2-tests.factor rename to basis/checksums/sha2/sha2-tests.factor diff --git a/extra/checksums/sha2/sha2.factor b/basis/checksums/sha2/sha2.factor similarity index 100% rename from extra/checksums/sha2/sha2.factor rename to basis/checksums/sha2/sha2.factor diff --git a/extra/circular/authors.txt b/basis/circular/authors.txt similarity index 100% rename from extra/circular/authors.txt rename to basis/circular/authors.txt diff --git a/extra/circular/circular-tests.factor b/basis/circular/circular-tests.factor similarity index 100% rename from extra/circular/circular-tests.factor rename to basis/circular/circular-tests.factor diff --git a/extra/circular/circular.factor b/basis/circular/circular.factor similarity index 100% rename from extra/circular/circular.factor rename to basis/circular/circular.factor diff --git a/extra/circular/summary.txt b/basis/circular/summary.txt similarity index 100% rename from extra/circular/summary.txt rename to basis/circular/summary.txt diff --git a/core/search-dequeues/tags.txt b/basis/circular/tags.txt similarity index 100% rename from core/search-dequeues/tags.txt rename to basis/circular/tags.txt diff --git a/extra/cocoa/application/application-docs.factor b/basis/cocoa/application/application-docs.factor similarity index 100% rename from extra/cocoa/application/application-docs.factor rename to basis/cocoa/application/application-docs.factor diff --git a/extra/cocoa/application/application.factor b/basis/cocoa/application/application.factor similarity index 100% rename from extra/cocoa/application/application.factor rename to basis/cocoa/application/application.factor diff --git a/core/cpu/arm/authors.txt b/basis/cocoa/application/authors.txt similarity index 100% rename from core/cpu/arm/authors.txt rename to basis/cocoa/application/authors.txt diff --git a/extra/cocoa/application/summary.txt b/basis/cocoa/application/summary.txt similarity index 100% rename from extra/cocoa/application/summary.txt rename to basis/cocoa/application/summary.txt diff --git a/basis/cocoa/application/tags.txt b/basis/cocoa/application/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/application/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/arm/intrinsics/authors.txt b/basis/cocoa/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/arm/intrinsics/authors.txt rename to basis/cocoa/authors.txt diff --git a/extra/cocoa/callbacks/authors.txt b/basis/cocoa/callbacks/authors.txt similarity index 100% rename from extra/cocoa/callbacks/authors.txt rename to basis/cocoa/callbacks/authors.txt diff --git a/extra/cocoa/callbacks/callbacks.factor b/basis/cocoa/callbacks/callbacks.factor similarity index 100% rename from extra/cocoa/callbacks/callbacks.factor rename to basis/cocoa/callbacks/callbacks.factor diff --git a/extra/cocoa/callbacks/summary.txt b/basis/cocoa/callbacks/summary.txt similarity index 100% rename from extra/cocoa/callbacks/summary.txt rename to basis/cocoa/callbacks/summary.txt diff --git a/basis/cocoa/callbacks/tags.txt b/basis/cocoa/callbacks/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/callbacks/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/cocoa-docs.factor b/basis/cocoa/cocoa-docs.factor similarity index 100% rename from extra/cocoa/cocoa-docs.factor rename to basis/cocoa/cocoa-docs.factor diff --git a/extra/cocoa/cocoa-tests.factor b/basis/cocoa/cocoa-tests.factor similarity index 100% rename from extra/cocoa/cocoa-tests.factor rename to basis/cocoa/cocoa-tests.factor diff --git a/extra/cocoa/cocoa.factor b/basis/cocoa/cocoa.factor similarity index 100% rename from extra/cocoa/cocoa.factor rename to basis/cocoa/cocoa.factor diff --git a/core/cpu/ppc/allot/authors.txt b/basis/cocoa/dialogs/authors.txt similarity index 100% rename from core/cpu/ppc/allot/authors.txt rename to basis/cocoa/dialogs/authors.txt diff --git a/extra/cocoa/dialogs/dialogs-docs.factor b/basis/cocoa/dialogs/dialogs-docs.factor similarity index 100% rename from extra/cocoa/dialogs/dialogs-docs.factor rename to basis/cocoa/dialogs/dialogs-docs.factor diff --git a/extra/cocoa/dialogs/dialogs.factor b/basis/cocoa/dialogs/dialogs.factor similarity index 100% rename from extra/cocoa/dialogs/dialogs.factor rename to basis/cocoa/dialogs/dialogs.factor diff --git a/extra/cocoa/dialogs/summary.txt b/basis/cocoa/dialogs/summary.txt similarity index 100% rename from extra/cocoa/dialogs/summary.txt rename to basis/cocoa/dialogs/summary.txt diff --git a/basis/cocoa/dialogs/tags.txt b/basis/cocoa/dialogs/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/dialogs/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/enumeration/enumeration.factor b/basis/cocoa/enumeration/enumeration.factor similarity index 100% rename from extra/cocoa/enumeration/enumeration.factor rename to basis/cocoa/enumeration/enumeration.factor diff --git a/basis/cocoa/enumeration/tags.txt b/basis/cocoa/enumeration/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/enumeration/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/architecture/authors.txt b/basis/cocoa/messages/authors.txt similarity index 100% rename from core/cpu/ppc/architecture/authors.txt rename to basis/cocoa/messages/authors.txt diff --git a/extra/cocoa/messages/messages-docs.factor b/basis/cocoa/messages/messages-docs.factor similarity index 100% rename from extra/cocoa/messages/messages-docs.factor rename to basis/cocoa/messages/messages-docs.factor diff --git a/extra/cocoa/messages/messages.factor b/basis/cocoa/messages/messages.factor similarity index 100% rename from extra/cocoa/messages/messages.factor rename to basis/cocoa/messages/messages.factor diff --git a/extra/cocoa/messages/summary.txt b/basis/cocoa/messages/summary.txt similarity index 100% rename from extra/cocoa/messages/summary.txt rename to basis/cocoa/messages/summary.txt diff --git a/basis/cocoa/messages/tags.txt b/basis/cocoa/messages/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/messages/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/nibs/authors.txt b/basis/cocoa/nibs/authors.txt similarity index 100% rename from extra/cocoa/nibs/authors.txt rename to basis/cocoa/nibs/authors.txt diff --git a/extra/cocoa/nibs/nibs-docs.factor b/basis/cocoa/nibs/nibs-docs.factor similarity index 100% rename from extra/cocoa/nibs/nibs-docs.factor rename to basis/cocoa/nibs/nibs-docs.factor diff --git a/extra/cocoa/nibs/nibs.factor b/basis/cocoa/nibs/nibs.factor similarity index 100% rename from extra/cocoa/nibs/nibs.factor rename to basis/cocoa/nibs/nibs.factor diff --git a/extra/cocoa/nibs/summary.txt b/basis/cocoa/nibs/summary.txt similarity index 100% rename from extra/cocoa/nibs/summary.txt rename to basis/cocoa/nibs/summary.txt diff --git a/basis/cocoa/nibs/tags.txt b/basis/cocoa/nibs/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/nibs/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/assembler/authors.txt b/basis/cocoa/pasteboard/authors.txt similarity index 100% rename from core/cpu/ppc/assembler/authors.txt rename to basis/cocoa/pasteboard/authors.txt diff --git a/extra/cocoa/pasteboard/pasteboard-docs.factor b/basis/cocoa/pasteboard/pasteboard-docs.factor similarity index 100% rename from extra/cocoa/pasteboard/pasteboard-docs.factor rename to basis/cocoa/pasteboard/pasteboard-docs.factor diff --git a/extra/cocoa/pasteboard/pasteboard.factor b/basis/cocoa/pasteboard/pasteboard.factor similarity index 100% rename from extra/cocoa/pasteboard/pasteboard.factor rename to basis/cocoa/pasteboard/pasteboard.factor diff --git a/extra/cocoa/pasteboard/summary.txt b/basis/cocoa/pasteboard/summary.txt similarity index 100% rename from extra/cocoa/pasteboard/summary.txt rename to basis/cocoa/pasteboard/summary.txt diff --git a/basis/cocoa/pasteboard/tags.txt b/basis/cocoa/pasteboard/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/pasteboard/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/authors.txt b/basis/cocoa/plists/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/cpu/ppc/authors.txt rename to basis/cocoa/plists/authors.txt diff --git a/extra/cocoa/plists/plists.factor b/basis/cocoa/plists/plists.factor similarity index 100% rename from extra/cocoa/plists/plists.factor rename to basis/cocoa/plists/plists.factor diff --git a/basis/cocoa/plists/tags.txt b/basis/cocoa/plists/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/plists/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/intrinsics/authors.txt b/basis/cocoa/runtime/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/ppc/intrinsics/authors.txt rename to basis/cocoa/runtime/authors.txt diff --git a/extra/cocoa/runtime/runtime.factor b/basis/cocoa/runtime/runtime.factor similarity index 100% rename from extra/cocoa/runtime/runtime.factor rename to basis/cocoa/runtime/runtime.factor diff --git a/extra/cocoa/runtime/summary.txt b/basis/cocoa/runtime/summary.txt similarity index 100% rename from extra/cocoa/runtime/summary.txt rename to basis/cocoa/runtime/summary.txt diff --git a/basis/cocoa/runtime/tags.txt b/basis/cocoa/runtime/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/runtime/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/x86/32/authors.txt b/basis/cocoa/subclassing/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/x86/32/authors.txt rename to basis/cocoa/subclassing/authors.txt diff --git a/extra/cocoa/subclassing/subclassing-docs.factor b/basis/cocoa/subclassing/subclassing-docs.factor similarity index 100% rename from extra/cocoa/subclassing/subclassing-docs.factor rename to basis/cocoa/subclassing/subclassing-docs.factor diff --git a/extra/cocoa/subclassing/subclassing.factor b/basis/cocoa/subclassing/subclassing.factor similarity index 100% rename from extra/cocoa/subclassing/subclassing.factor rename to basis/cocoa/subclassing/subclassing.factor diff --git a/extra/cocoa/subclassing/summary.txt b/basis/cocoa/subclassing/summary.txt similarity index 100% rename from extra/cocoa/subclassing/summary.txt rename to basis/cocoa/subclassing/summary.txt diff --git a/basis/cocoa/subclassing/tags.txt b/basis/cocoa/subclassing/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/subclassing/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/summary.txt b/basis/cocoa/summary.txt similarity index 100% rename from extra/cocoa/summary.txt rename to basis/cocoa/summary.txt diff --git a/basis/cocoa/tags.txt b/basis/cocoa/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/cocoa/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/core/cpu/x86/64/authors.txt b/basis/cocoa/types/authors.txt similarity index 100% rename from core/cpu/x86/64/authors.txt rename to basis/cocoa/types/authors.txt diff --git a/extra/cocoa/types/summary.txt b/basis/cocoa/types/summary.txt similarity index 100% rename from extra/cocoa/types/summary.txt rename to basis/cocoa/types/summary.txt diff --git a/basis/cocoa/types/tags.txt b/basis/cocoa/types/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/types/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/types/types-docs.factor b/basis/cocoa/types/types-docs.factor similarity index 100% rename from extra/cocoa/types/types-docs.factor rename to basis/cocoa/types/types-docs.factor diff --git a/extra/cocoa/types/types.factor b/basis/cocoa/types/types.factor similarity index 100% rename from extra/cocoa/types/types.factor rename to basis/cocoa/types/types.factor diff --git a/core/cpu/x86/allot/authors.txt b/basis/cocoa/views/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/x86/allot/authors.txt rename to basis/cocoa/views/authors.txt diff --git a/extra/cocoa/views/summary.txt b/basis/cocoa/views/summary.txt similarity index 100% rename from extra/cocoa/views/summary.txt rename to basis/cocoa/views/summary.txt diff --git a/basis/cocoa/views/tags.txt b/basis/cocoa/views/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/views/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/views/views-docs.factor b/basis/cocoa/views/views-docs.factor similarity index 100% rename from extra/cocoa/views/views-docs.factor rename to basis/cocoa/views/views-docs.factor diff --git a/extra/cocoa/views/views.factor b/basis/cocoa/views/views.factor similarity index 100% rename from extra/cocoa/views/views.factor rename to basis/cocoa/views/views.factor diff --git a/core/cpu/x86/architecture/authors.txt b/basis/cocoa/windows/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/x86/architecture/authors.txt rename to basis/cocoa/windows/authors.txt diff --git a/extra/cocoa/windows/summary.txt b/basis/cocoa/windows/summary.txt similarity index 100% rename from extra/cocoa/windows/summary.txt rename to basis/cocoa/windows/summary.txt diff --git a/basis/cocoa/windows/tags.txt b/basis/cocoa/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cocoa/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/cocoa/windows/windows-docs.factor b/basis/cocoa/windows/windows-docs.factor similarity index 100% rename from extra/cocoa/windows/windows-docs.factor rename to basis/cocoa/windows/windows-docs.factor diff --git a/extra/cocoa/windows/windows.factor b/basis/cocoa/windows/windows.factor similarity index 100% rename from extra/cocoa/windows/windows.factor rename to basis/cocoa/windows/windows.factor diff --git a/extra/columns/authors.txt b/basis/columns/authors.txt similarity index 100% rename from extra/columns/authors.txt rename to basis/columns/authors.txt diff --git a/extra/columns/columns-docs.factor b/basis/columns/columns-docs.factor similarity index 100% rename from extra/columns/columns-docs.factor rename to basis/columns/columns-docs.factor diff --git a/extra/columns/columns-tests.factor b/basis/columns/columns-tests.factor similarity index 100% rename from extra/columns/columns-tests.factor rename to basis/columns/columns-tests.factor diff --git a/extra/columns/columns.factor b/basis/columns/columns.factor similarity index 100% rename from extra/columns/columns.factor rename to basis/columns/columns.factor diff --git a/extra/columns/summary.txt b/basis/columns/summary.txt similarity index 100% rename from extra/columns/summary.txt rename to basis/columns/summary.txt diff --git a/extra/biassocs/tags.txt b/basis/columns/tags.txt similarity index 100% rename from extra/biassocs/tags.txt rename to basis/columns/tags.txt diff --git a/extra/combinators/short-circuit/short-circuit-tests.factor b/basis/combinators/short-circuit/short-circuit-tests.factor similarity index 100% rename from extra/combinators/short-circuit/short-circuit-tests.factor rename to basis/combinators/short-circuit/short-circuit-tests.factor diff --git a/extra/combinators/short-circuit/short-circuit.factor b/basis/combinators/short-circuit/short-circuit.factor similarity index 100% rename from extra/combinators/short-circuit/short-circuit.factor rename to basis/combinators/short-circuit/short-circuit.factor diff --git a/extra/combinators/short-circuit/smart/smart-tests.factor b/basis/combinators/short-circuit/smart/smart-tests.factor similarity index 100% rename from extra/combinators/short-circuit/smart/smart-tests.factor rename to basis/combinators/short-circuit/smart/smart-tests.factor diff --git a/extra/combinators/short-circuit/smart/smart.factor b/basis/combinators/short-circuit/smart/smart.factor similarity index 100% rename from extra/combinators/short-circuit/smart/smart.factor rename to basis/combinators/short-circuit/smart/smart.factor diff --git a/core/cpu/x86/assembler/authors.txt b/basis/command-line/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/cpu/x86/assembler/authors.txt rename to basis/command-line/authors.txt diff --git a/core/command-line/command-line-docs.factor b/basis/command-line/command-line-docs.factor similarity index 100% rename from core/command-line/command-line-docs.factor rename to basis/command-line/command-line-docs.factor diff --git a/core/command-line/command-line-tests.factor b/basis/command-line/command-line-tests.factor similarity index 100% rename from core/command-line/command-line-tests.factor rename to basis/command-line/command-line-tests.factor diff --git a/core/command-line/command-line.factor b/basis/command-line/command-line.factor similarity index 95% rename from core/command-line/command-line.factor rename to basis/command-line/command-line.factor index fb4fd374a7..37dbf9b7a6 100644 --- a/core/command-line/command-line.factor +++ b/basis/command-line/command-line.factor @@ -1,8 +1,8 @@ -! Copyright (C) 2003, 2007 Slava Pestov. +! Copyright (C) 2003, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: init continuations debugger hashtables io kernel kernel.private namespaces parser sequences strings system -splitting io.files ; +splitting io.files eval ; IN: command-line : run-bootstrap-init ( -- ) diff --git a/core/command-line/summary.txt b/basis/command-line/summary.txt similarity index 100% rename from core/command-line/summary.txt rename to basis/command-line/summary.txt diff --git a/core/cpu/x86/authors.txt b/basis/compiler/authors.txt similarity index 100% rename from core/cpu/x86/authors.txt rename to basis/compiler/authors.txt diff --git a/core/compiler/compiler-docs.factor b/basis/compiler/compiler-docs.factor similarity index 100% rename from core/compiler/compiler-docs.factor rename to basis/compiler/compiler-docs.factor diff --git a/core/compiler/compiler.factor b/basis/compiler/compiler.factor similarity index 100% rename from core/compiler/compiler.factor rename to basis/compiler/compiler.factor diff --git a/core/cpu/x86/intrinsics/authors.txt b/basis/compiler/constants/authors.txt similarity index 100% rename from core/cpu/x86/intrinsics/authors.txt rename to basis/compiler/constants/authors.txt diff --git a/core/compiler/constants/constants.factor b/basis/compiler/constants/constants.factor similarity index 100% rename from core/compiler/constants/constants.factor rename to basis/compiler/constants/constants.factor diff --git a/core/compiler/constants/summary.txt b/basis/compiler/constants/summary.txt similarity index 100% rename from core/compiler/constants/summary.txt rename to basis/compiler/constants/summary.txt diff --git a/core/compiler/summary.txt b/basis/compiler/summary.txt similarity index 100% rename from core/compiler/summary.txt rename to basis/compiler/summary.txt diff --git a/core/compiler/tags.txt b/basis/compiler/tags.txt similarity index 100% rename from core/compiler/tags.txt rename to basis/compiler/tags.txt diff --git a/core/compiler/tests/curry.factor b/basis/compiler/tests/curry.factor similarity index 100% rename from core/compiler/tests/curry.factor rename to basis/compiler/tests/curry.factor diff --git a/core/compiler/tests/float.factor b/basis/compiler/tests/float.factor similarity index 100% rename from core/compiler/tests/float.factor rename to basis/compiler/tests/float.factor diff --git a/core/compiler/tests/insane.factor b/basis/compiler/tests/insane.factor similarity index 100% rename from core/compiler/tests/insane.factor rename to basis/compiler/tests/insane.factor diff --git a/core/compiler/tests/intrinsics.factor b/basis/compiler/tests/intrinsics.factor similarity index 100% rename from core/compiler/tests/intrinsics.factor rename to basis/compiler/tests/intrinsics.factor diff --git a/core/compiler/tests/redefine1.factor b/basis/compiler/tests/redefine1.factor similarity index 98% rename from core/compiler/tests/redefine1.factor rename to basis/compiler/tests/redefine1.factor index d448d031b9..6773eb6b6a 100644 --- a/core/compiler/tests/redefine1.factor +++ b/basis/compiler/tests/redefine1.factor @@ -1,7 +1,7 @@ IN: compiler.tests USING: accessors compiler compiler.units tools.test math parser kernel sequences sequences.private classes.mixin generic -definitions arrays words assocs ; +definitions arrays words assocs eval ; GENERIC: method-redefine-test ( a -- b ) diff --git a/core/compiler/tests/redefine2.factor b/basis/compiler/tests/redefine2.factor similarity index 95% rename from core/compiler/tests/redefine2.factor rename to basis/compiler/tests/redefine2.factor index 107381c4d3..c20a6d6233 100644 --- a/core/compiler/tests/redefine2.factor +++ b/basis/compiler/tests/redefine2.factor @@ -1,7 +1,7 @@ IN: compiler.tests USING: compiler compiler.units tools.test math parser kernel sequences sequences.private classes.mixin generic definitions -arrays words assocs ; +arrays words assocs eval ; DEFER: blah diff --git a/core/compiler/tests/redefine3.factor b/basis/compiler/tests/redefine3.factor similarity index 96% rename from core/compiler/tests/redefine3.factor rename to basis/compiler/tests/redefine3.factor index f7175aac55..941d086312 100644 --- a/core/compiler/tests/redefine3.factor +++ b/basis/compiler/tests/redefine3.factor @@ -1,7 +1,7 @@ IN: compiler.tests USING: accessors compiler compiler.units tools.test math parser kernel sequences sequences.private classes.mixin generic -definitions arrays words assocs ; +definitions arrays words assocs eval ; GENERIC: sheeple ( obj -- x ) diff --git a/core/compiler/tests/reload.factor b/basis/compiler/tests/reload.factor similarity index 100% rename from core/compiler/tests/reload.factor rename to basis/compiler/tests/reload.factor diff --git a/core/compiler/tests/simple.factor b/basis/compiler/tests/simple.factor similarity index 99% rename from core/compiler/tests/simple.factor rename to basis/compiler/tests/simple.factor index 272f92ec07..c18ab3e335 100755 --- a/core/compiler/tests/simple.factor +++ b/basis/compiler/tests/simple.factor @@ -1,6 +1,6 @@ USING: compiler.units tools.test kernel kernel.private sequences.private math.private math combinators strings -alien arrays memory vocabs parser ; +alien arrays memory vocabs parser eval ; IN: compiler.tests ! Test empty word diff --git a/core/compiler/tests/stack-trace.factor b/basis/compiler/tests/stack-trace.factor similarity index 100% rename from core/compiler/tests/stack-trace.factor rename to basis/compiler/tests/stack-trace.factor diff --git a/core/compiler/tests/templates-early.factor b/basis/compiler/tests/templates-early.factor similarity index 100% rename from core/compiler/tests/templates-early.factor rename to basis/compiler/tests/templates-early.factor diff --git a/core/compiler/tests/templates.factor b/basis/compiler/tests/templates.factor similarity index 100% rename from core/compiler/tests/templates.factor rename to basis/compiler/tests/templates.factor diff --git a/core/compiler/tests/tuples.factor b/basis/compiler/tests/tuples.factor similarity index 100% rename from core/compiler/tests/tuples.factor rename to basis/compiler/tests/tuples.factor diff --git a/extra/concurrency/combinators/combinators-docs.factor b/basis/concurrency/combinators/combinators-docs.factor similarity index 100% rename from extra/concurrency/combinators/combinators-docs.factor rename to basis/concurrency/combinators/combinators-docs.factor diff --git a/extra/concurrency/combinators/combinators-tests.factor b/basis/concurrency/combinators/combinators-tests.factor similarity index 100% rename from extra/concurrency/combinators/combinators-tests.factor rename to basis/concurrency/combinators/combinators-tests.factor diff --git a/extra/concurrency/combinators/combinators.factor b/basis/concurrency/combinators/combinators.factor similarity index 100% rename from extra/concurrency/combinators/combinators.factor rename to basis/concurrency/combinators/combinators.factor diff --git a/extra/concurrency/combinators/summary.txt b/basis/concurrency/combinators/summary.txt similarity index 100% rename from extra/concurrency/combinators/summary.txt rename to basis/concurrency/combinators/summary.txt diff --git a/extra/concurrency/conditions/conditions.factor b/basis/concurrency/conditions/conditions.factor similarity index 100% rename from extra/concurrency/conditions/conditions.factor rename to basis/concurrency/conditions/conditions.factor diff --git a/extra/concurrency/conditions/summary.txt b/basis/concurrency/conditions/summary.txt similarity index 100% rename from extra/concurrency/conditions/summary.txt rename to basis/concurrency/conditions/summary.txt diff --git a/extra/concurrency/count-downs/count-downs-docs.factor b/basis/concurrency/count-downs/count-downs-docs.factor similarity index 100% rename from extra/concurrency/count-downs/count-downs-docs.factor rename to basis/concurrency/count-downs/count-downs-docs.factor diff --git a/extra/concurrency/count-downs/count-downs-tests.factor b/basis/concurrency/count-downs/count-downs-tests.factor similarity index 100% rename from extra/concurrency/count-downs/count-downs-tests.factor rename to basis/concurrency/count-downs/count-downs-tests.factor diff --git a/extra/concurrency/count-downs/count-downs.factor b/basis/concurrency/count-downs/count-downs.factor similarity index 100% rename from extra/concurrency/count-downs/count-downs.factor rename to basis/concurrency/count-downs/count-downs.factor diff --git a/extra/concurrency/count-downs/summary.txt b/basis/concurrency/count-downs/summary.txt similarity index 100% rename from extra/concurrency/count-downs/summary.txt rename to basis/concurrency/count-downs/summary.txt diff --git a/extra/concurrency/distributed/authors.txt b/basis/concurrency/distributed/authors.txt similarity index 100% rename from extra/concurrency/distributed/authors.txt rename to basis/concurrency/distributed/authors.txt diff --git a/extra/concurrency/distributed/distributed-docs.factor b/basis/concurrency/distributed/distributed-docs.factor similarity index 100% rename from extra/concurrency/distributed/distributed-docs.factor rename to basis/concurrency/distributed/distributed-docs.factor diff --git a/extra/concurrency/distributed/distributed-tests.factor b/basis/concurrency/distributed/distributed-tests.factor similarity index 100% rename from extra/concurrency/distributed/distributed-tests.factor rename to basis/concurrency/distributed/distributed-tests.factor diff --git a/extra/concurrency/distributed/distributed.factor b/basis/concurrency/distributed/distributed.factor similarity index 100% rename from extra/concurrency/distributed/distributed.factor rename to basis/concurrency/distributed/distributed.factor diff --git a/extra/concurrency/distributed/summary.txt b/basis/concurrency/distributed/summary.txt similarity index 100% rename from extra/concurrency/distributed/summary.txt rename to basis/concurrency/distributed/summary.txt diff --git a/extra/concurrency/distributed/tags.txt b/basis/concurrency/distributed/tags.txt similarity index 100% rename from extra/concurrency/distributed/tags.txt rename to basis/concurrency/distributed/tags.txt diff --git a/core/cpu/x86/sse2/authors.txt b/basis/concurrency/exchangers/authors.txt similarity index 100% rename from core/cpu/x86/sse2/authors.txt rename to basis/concurrency/exchangers/authors.txt diff --git a/extra/concurrency/exchangers/exchangers-docs.factor b/basis/concurrency/exchangers/exchangers-docs.factor similarity index 100% rename from extra/concurrency/exchangers/exchangers-docs.factor rename to basis/concurrency/exchangers/exchangers-docs.factor diff --git a/extra/concurrency/exchangers/exchangers-tests.factor b/basis/concurrency/exchangers/exchangers-tests.factor similarity index 100% rename from extra/concurrency/exchangers/exchangers-tests.factor rename to basis/concurrency/exchangers/exchangers-tests.factor diff --git a/extra/concurrency/exchangers/exchangers.factor b/basis/concurrency/exchangers/exchangers.factor similarity index 100% rename from extra/concurrency/exchangers/exchangers.factor rename to basis/concurrency/exchangers/exchangers.factor diff --git a/extra/concurrency/exchangers/summary.txt b/basis/concurrency/exchangers/summary.txt similarity index 100% rename from extra/concurrency/exchangers/summary.txt rename to basis/concurrency/exchangers/summary.txt diff --git a/extra/concurrency/flags/flags-docs.factor b/basis/concurrency/flags/flags-docs.factor similarity index 100% rename from extra/concurrency/flags/flags-docs.factor rename to basis/concurrency/flags/flags-docs.factor diff --git a/extra/concurrency/flags/flags-tests.factor b/basis/concurrency/flags/flags-tests.factor similarity index 100% rename from extra/concurrency/flags/flags-tests.factor rename to basis/concurrency/flags/flags-tests.factor diff --git a/extra/concurrency/flags/flags.factor b/basis/concurrency/flags/flags.factor similarity index 100% rename from extra/concurrency/flags/flags.factor rename to basis/concurrency/flags/flags.factor diff --git a/extra/concurrency/futures/authors.txt b/basis/concurrency/futures/authors.txt similarity index 100% rename from extra/concurrency/futures/authors.txt rename to basis/concurrency/futures/authors.txt diff --git a/extra/concurrency/futures/futures-docs.factor b/basis/concurrency/futures/futures-docs.factor similarity index 100% rename from extra/concurrency/futures/futures-docs.factor rename to basis/concurrency/futures/futures-docs.factor diff --git a/extra/concurrency/futures/futures-tests.factor b/basis/concurrency/futures/futures-tests.factor similarity index 100% rename from extra/concurrency/futures/futures-tests.factor rename to basis/concurrency/futures/futures-tests.factor diff --git a/extra/concurrency/futures/futures.factor b/basis/concurrency/futures/futures.factor similarity index 100% rename from extra/concurrency/futures/futures.factor rename to basis/concurrency/futures/futures.factor diff --git a/extra/concurrency/futures/summary.txt b/basis/concurrency/futures/summary.txt similarity index 100% rename from extra/concurrency/futures/summary.txt rename to basis/concurrency/futures/summary.txt diff --git a/core/debugger/authors.txt b/basis/concurrency/locks/authors.txt similarity index 100% rename from core/debugger/authors.txt rename to basis/concurrency/locks/authors.txt diff --git a/extra/concurrency/locks/locks-docs.factor b/basis/concurrency/locks/locks-docs.factor similarity index 100% rename from extra/concurrency/locks/locks-docs.factor rename to basis/concurrency/locks/locks-docs.factor diff --git a/extra/concurrency/locks/locks-tests.factor b/basis/concurrency/locks/locks-tests.factor similarity index 100% rename from extra/concurrency/locks/locks-tests.factor rename to basis/concurrency/locks/locks-tests.factor diff --git a/extra/concurrency/locks/locks.factor b/basis/concurrency/locks/locks.factor similarity index 100% rename from extra/concurrency/locks/locks.factor rename to basis/concurrency/locks/locks.factor diff --git a/extra/concurrency/locks/summary.txt b/basis/concurrency/locks/summary.txt similarity index 100% rename from extra/concurrency/locks/summary.txt rename to basis/concurrency/locks/summary.txt diff --git a/extra/concurrency/mailboxes/mailboxes-docs.factor b/basis/concurrency/mailboxes/mailboxes-docs.factor similarity index 100% rename from extra/concurrency/mailboxes/mailboxes-docs.factor rename to basis/concurrency/mailboxes/mailboxes-docs.factor diff --git a/extra/concurrency/mailboxes/mailboxes-tests.factor b/basis/concurrency/mailboxes/mailboxes-tests.factor similarity index 100% rename from extra/concurrency/mailboxes/mailboxes-tests.factor rename to basis/concurrency/mailboxes/mailboxes-tests.factor diff --git a/extra/concurrency/mailboxes/mailboxes.factor b/basis/concurrency/mailboxes/mailboxes.factor similarity index 100% rename from extra/concurrency/mailboxes/mailboxes.factor rename to basis/concurrency/mailboxes/mailboxes.factor diff --git a/extra/concurrency/messaging/authors.txt b/basis/concurrency/messaging/authors.txt similarity index 100% rename from extra/concurrency/messaging/authors.txt rename to basis/concurrency/messaging/authors.txt diff --git a/extra/concurrency/messaging/messaging-docs.factor b/basis/concurrency/messaging/messaging-docs.factor similarity index 100% rename from extra/concurrency/messaging/messaging-docs.factor rename to basis/concurrency/messaging/messaging-docs.factor diff --git a/extra/concurrency/messaging/messaging-tests.factor b/basis/concurrency/messaging/messaging-tests.factor similarity index 100% rename from extra/concurrency/messaging/messaging-tests.factor rename to basis/concurrency/messaging/messaging-tests.factor diff --git a/extra/concurrency/messaging/messaging.factor b/basis/concurrency/messaging/messaging.factor similarity index 100% rename from extra/concurrency/messaging/messaging.factor rename to basis/concurrency/messaging/messaging.factor diff --git a/extra/concurrency/messaging/summary.txt b/basis/concurrency/messaging/summary.txt similarity index 100% rename from extra/concurrency/messaging/summary.txt rename to basis/concurrency/messaging/summary.txt diff --git a/extra/concurrency/promises/authors.txt b/basis/concurrency/promises/authors.txt similarity index 100% rename from extra/concurrency/promises/authors.txt rename to basis/concurrency/promises/authors.txt diff --git a/extra/concurrency/promises/promises-docs.factor b/basis/concurrency/promises/promises-docs.factor similarity index 100% rename from extra/concurrency/promises/promises-docs.factor rename to basis/concurrency/promises/promises-docs.factor diff --git a/extra/concurrency/promises/promises-tests.factor b/basis/concurrency/promises/promises-tests.factor similarity index 100% rename from extra/concurrency/promises/promises-tests.factor rename to basis/concurrency/promises/promises-tests.factor diff --git a/extra/concurrency/promises/promises.factor b/basis/concurrency/promises/promises.factor similarity index 100% rename from extra/concurrency/promises/promises.factor rename to basis/concurrency/promises/promises.factor diff --git a/extra/concurrency/promises/summary.txt b/basis/concurrency/promises/summary.txt similarity index 100% rename from extra/concurrency/promises/summary.txt rename to basis/concurrency/promises/summary.txt diff --git a/core/dequeues/authors.txt b/basis/concurrency/semaphores/authors.txt similarity index 100% rename from core/dequeues/authors.txt rename to basis/concurrency/semaphores/authors.txt diff --git a/extra/concurrency/semaphores/semaphores-docs.factor b/basis/concurrency/semaphores/semaphores-docs.factor similarity index 100% rename from extra/concurrency/semaphores/semaphores-docs.factor rename to basis/concurrency/semaphores/semaphores-docs.factor diff --git a/extra/concurrency/semaphores/semaphores.factor b/basis/concurrency/semaphores/semaphores.factor similarity index 100% rename from extra/concurrency/semaphores/semaphores.factor rename to basis/concurrency/semaphores/semaphores.factor diff --git a/extra/concurrency/semaphores/summary.txt b/basis/concurrency/semaphores/summary.txt similarity index 100% rename from extra/concurrency/semaphores/summary.txt rename to basis/concurrency/semaphores/summary.txt diff --git a/core/generator/authors.txt b/basis/core-foundation/authors.txt similarity index 100% rename from core/generator/authors.txt rename to basis/core-foundation/authors.txt diff --git a/extra/core-foundation/core-foundation-docs.factor b/basis/core-foundation/core-foundation-docs.factor similarity index 100% rename from extra/core-foundation/core-foundation-docs.factor rename to basis/core-foundation/core-foundation-docs.factor diff --git a/extra/core-foundation/core-foundation.factor b/basis/core-foundation/core-foundation.factor similarity index 100% rename from extra/core-foundation/core-foundation.factor rename to basis/core-foundation/core-foundation.factor diff --git a/extra/core-foundation/fsevents/fsevents.factor b/basis/core-foundation/fsevents/fsevents.factor similarity index 100% rename from extra/core-foundation/fsevents/fsevents.factor rename to basis/core-foundation/fsevents/fsevents.factor diff --git a/basis/core-foundation/fsevents/tags.txt b/basis/core-foundation/fsevents/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/core-foundation/fsevents/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/core-foundation/run-loop/run-loop.factor b/basis/core-foundation/run-loop/run-loop.factor similarity index 100% rename from extra/core-foundation/run-loop/run-loop.factor rename to basis/core-foundation/run-loop/run-loop.factor diff --git a/basis/core-foundation/run-loop/tags.txt b/basis/core-foundation/run-loop/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/core-foundation/run-loop/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/core-foundation/summary.txt b/basis/core-foundation/summary.txt similarity index 100% rename from extra/core-foundation/summary.txt rename to basis/core-foundation/summary.txt diff --git a/basis/core-foundation/tags.txt b/basis/core-foundation/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/core-foundation/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/core/cpu/architecture/architecture.factor b/basis/cpu/architecture/architecture.factor similarity index 100% rename from core/cpu/architecture/architecture.factor rename to basis/cpu/architecture/architecture.factor diff --git a/core/generator/fixup/authors.txt b/basis/cpu/architecture/authors.txt similarity index 100% rename from core/generator/fixup/authors.txt rename to basis/cpu/architecture/authors.txt diff --git a/core/cpu/architecture/summary.txt b/basis/cpu/architecture/summary.txt similarity index 100% rename from core/cpu/architecture/summary.txt rename to basis/cpu/architecture/summary.txt diff --git a/core/cpu/architecture/tags.txt b/basis/cpu/architecture/tags.txt similarity index 100% rename from core/cpu/architecture/tags.txt rename to basis/cpu/architecture/tags.txt diff --git a/core/cpu/ppc/allot/allot.factor b/basis/cpu/ppc/allot/allot.factor similarity index 100% rename from core/cpu/ppc/allot/allot.factor rename to basis/cpu/ppc/allot/allot.factor diff --git a/core/generator/registers/authors.txt b/basis/cpu/ppc/allot/authors.txt similarity index 100% rename from core/generator/registers/authors.txt rename to basis/cpu/ppc/allot/authors.txt diff --git a/core/cpu/ppc/allot/summary.txt b/basis/cpu/ppc/allot/summary.txt similarity index 100% rename from core/cpu/ppc/allot/summary.txt rename to basis/cpu/ppc/allot/summary.txt diff --git a/basis/cpu/ppc/allot/tags.txt b/basis/cpu/ppc/allot/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/ppc/allot/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/architecture/architecture.factor b/basis/cpu/ppc/architecture/architecture.factor similarity index 100% rename from core/cpu/ppc/architecture/architecture.factor rename to basis/cpu/ppc/architecture/architecture.factor diff --git a/core/inference/authors.txt b/basis/cpu/ppc/architecture/authors.txt similarity index 100% rename from core/inference/authors.txt rename to basis/cpu/ppc/architecture/authors.txt diff --git a/core/cpu/ppc/architecture/summary.txt b/basis/cpu/ppc/architecture/summary.txt similarity index 100% rename from core/cpu/ppc/architecture/summary.txt rename to basis/cpu/ppc/architecture/summary.txt diff --git a/basis/cpu/ppc/architecture/tags.txt b/basis/cpu/ppc/architecture/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/ppc/architecture/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/assembler/assembler-tests.factor b/basis/cpu/ppc/assembler/assembler-tests.factor similarity index 100% rename from core/cpu/ppc/assembler/assembler-tests.factor rename to basis/cpu/ppc/assembler/assembler-tests.factor diff --git a/core/cpu/ppc/assembler/assembler.factor b/basis/cpu/ppc/assembler/assembler.factor similarity index 100% rename from core/cpu/ppc/assembler/assembler.factor rename to basis/cpu/ppc/assembler/assembler.factor diff --git a/core/inference/backend/authors.txt b/basis/cpu/ppc/assembler/authors.txt similarity index 100% rename from core/inference/backend/authors.txt rename to basis/cpu/ppc/assembler/authors.txt diff --git a/core/cpu/ppc/assembler/backend/backend.factor b/basis/cpu/ppc/assembler/backend/backend.factor similarity index 100% rename from core/cpu/ppc/assembler/backend/backend.factor rename to basis/cpu/ppc/assembler/backend/backend.factor diff --git a/basis/cpu/ppc/assembler/backend/tags.txt b/basis/cpu/ppc/assembler/backend/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/ppc/assembler/backend/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/assembler/summary.txt b/basis/cpu/ppc/assembler/summary.txt similarity index 100% rename from core/cpu/ppc/assembler/summary.txt rename to basis/cpu/ppc/assembler/summary.txt diff --git a/core/inference/class/authors.txt b/basis/cpu/ppc/authors.txt similarity index 100% rename from core/inference/class/authors.txt rename to basis/cpu/ppc/authors.txt diff --git a/core/cpu/ppc/bootstrap.factor b/basis/cpu/ppc/bootstrap.factor similarity index 100% rename from core/cpu/ppc/bootstrap.factor rename to basis/cpu/ppc/bootstrap.factor diff --git a/core/inference/dataflow/authors.txt b/basis/cpu/ppc/intrinsics/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/inference/dataflow/authors.txt rename to basis/cpu/ppc/intrinsics/authors.txt diff --git a/core/cpu/ppc/intrinsics/intrinsics.factor b/basis/cpu/ppc/intrinsics/intrinsics.factor similarity index 100% rename from core/cpu/ppc/intrinsics/intrinsics.factor rename to basis/cpu/ppc/intrinsics/intrinsics.factor diff --git a/basis/cpu/ppc/intrinsics/tags.txt b/basis/cpu/ppc/intrinsics/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/ppc/intrinsics/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/ppc/linux/bootstrap.factor b/basis/cpu/ppc/linux/bootstrap.factor similarity index 78% rename from core/cpu/ppc/linux/bootstrap.factor rename to basis/cpu/ppc/linux/bootstrap.factor index e0f8bf0b21..fd9bab4835 100755 --- a/core/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:core/cpu/ppc/bootstrap.factor" parse-file parsed >> +<< "resource:basis/cpu/ppc/bootstrap.factor" parse-file parsed >> call diff --git a/core/cpu/ppc/macosx/bootstrap.factor b/basis/cpu/ppc/macosx/bootstrap.factor similarity index 78% rename from core/cpu/ppc/macosx/bootstrap.factor rename to basis/cpu/ppc/macosx/bootstrap.factor index 06b02d3182..f2ddc42688 100755 --- a/core/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:core/cpu/ppc/bootstrap.factor" parse-file parsed >> +<< "resource:basis/cpu/ppc/bootstrap.factor" parse-file parsed >> call diff --git a/core/cpu/ppc/ppc.factor b/basis/cpu/ppc/ppc.factor similarity index 100% rename from core/cpu/ppc/ppc.factor rename to basis/cpu/ppc/ppc.factor diff --git a/core/cpu/ppc/summary.txt b/basis/cpu/ppc/summary.txt similarity index 100% rename from core/cpu/ppc/summary.txt rename to basis/cpu/ppc/summary.txt diff --git a/basis/cpu/ppc/tags.txt b/basis/cpu/ppc/tags.txt new file mode 100644 index 0000000000..8e66660f70 --- /dev/null +++ b/basis/cpu/ppc/tags.txt @@ -0,0 +1,2 @@ +unportable +compiler diff --git a/core/cpu/summary.txt b/basis/cpu/summary.txt similarity index 100% rename from core/cpu/summary.txt rename to basis/cpu/summary.txt diff --git a/core/cpu/arm/tags.txt b/basis/cpu/tags.txt similarity index 100% rename from core/cpu/arm/tags.txt rename to basis/cpu/tags.txt diff --git a/core/cpu/x86/32/32.factor b/basis/cpu/x86/32/32.factor similarity index 100% rename from core/cpu/x86/32/32.factor rename to basis/cpu/x86/32/32.factor diff --git a/core/inference/errors/authors.txt b/basis/cpu/x86/32/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/inference/errors/authors.txt rename to basis/cpu/x86/32/authors.txt diff --git a/core/cpu/x86/32/bootstrap.factor b/basis/cpu/x86/32/bootstrap.factor similarity index 87% rename from core/cpu/x86/32/bootstrap.factor rename to basis/cpu/x86/32/bootstrap.factor index 386f1366fc..81779ac9f4 100755 --- a/core/cpu/x86/32/bootstrap.factor +++ b/basis/cpu/x86/32/bootstrap.factor @@ -15,5 +15,5 @@ IN: bootstrap.x86 : fixnum>slot@ ( -- ) arg0 1 SAR ; : rex-length ( -- n ) 0 ; -<< "resource:core/cpu/x86/bootstrap.factor" parse-file parsed >> +<< "resource:basis/cpu/x86/bootstrap.factor" parse-file parsed >> call diff --git a/basis/cpu/x86/32/tags.txt b/basis/cpu/x86/32/tags.txt new file mode 100644 index 0000000000..8e66660f70 --- /dev/null +++ b/basis/cpu/x86/32/tags.txt @@ -0,0 +1,2 @@ +unportable +compiler diff --git a/core/cpu/x86/64/64.factor b/basis/cpu/x86/64/64.factor similarity index 100% rename from core/cpu/x86/64/64.factor rename to basis/cpu/x86/64/64.factor diff --git a/core/inference/known-words/authors.txt b/basis/cpu/x86/64/authors.txt similarity index 100% rename from core/inference/known-words/authors.txt rename to basis/cpu/x86/64/authors.txt diff --git a/core/cpu/x86/64/bootstrap.factor b/basis/cpu/x86/64/bootstrap.factor similarity index 86% rename from core/cpu/x86/64/bootstrap.factor rename to basis/cpu/x86/64/bootstrap.factor index 0c9ce92edf..0092843bca 100755 --- a/core/cpu/x86/64/bootstrap.factor +++ b/basis/cpu/x86/64/bootstrap.factor @@ -15,5 +15,5 @@ IN: bootstrap.x86 : fixnum>slot@ ( -- ) ; : rex-length ( -- n ) 1 ; -<< "resource:core/cpu/x86/bootstrap.factor" parse-file parsed >> +<< "resource:basis/cpu/x86/bootstrap.factor" parse-file parsed >> call diff --git a/core/cpu/x86/64/summary.txt b/basis/cpu/x86/64/summary.txt similarity index 100% rename from core/cpu/x86/64/summary.txt rename to basis/cpu/x86/64/summary.txt diff --git a/basis/cpu/x86/64/tags.txt b/basis/cpu/x86/64/tags.txt new file mode 100644 index 0000000000..8e66660f70 --- /dev/null +++ b/basis/cpu/x86/64/tags.txt @@ -0,0 +1,2 @@ +unportable +compiler diff --git a/core/cpu/x86/allot/allot.factor b/basis/cpu/x86/allot/allot.factor similarity index 100% rename from core/cpu/x86/allot/allot.factor rename to basis/cpu/x86/allot/allot.factor diff --git a/core/inference/state/authors.txt b/basis/cpu/x86/allot/authors.txt similarity index 100% rename from core/inference/state/authors.txt rename to basis/cpu/x86/allot/authors.txt diff --git a/basis/cpu/x86/allot/tags.txt b/basis/cpu/x86/allot/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/x86/allot/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/x86/architecture/architecture.factor b/basis/cpu/x86/architecture/architecture.factor similarity index 100% rename from core/cpu/x86/architecture/architecture.factor rename to basis/cpu/x86/architecture/architecture.factor diff --git a/core/inference/transforms/authors.txt b/basis/cpu/x86/architecture/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/inference/transforms/authors.txt rename to basis/cpu/x86/architecture/authors.txt diff --git a/basis/cpu/x86/architecture/tags.txt b/basis/cpu/x86/architecture/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/x86/architecture/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/x86/assembler/assembler-tests.factor b/basis/cpu/x86/assembler/assembler-tests.factor similarity index 100% rename from core/cpu/x86/assembler/assembler-tests.factor rename to basis/cpu/x86/assembler/assembler-tests.factor diff --git a/core/cpu/x86/assembler/assembler.factor b/basis/cpu/x86/assembler/assembler.factor similarity index 100% rename from core/cpu/x86/assembler/assembler.factor rename to basis/cpu/x86/assembler/assembler.factor diff --git a/core/inspector/authors.txt b/basis/cpu/x86/assembler/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/inspector/authors.txt rename to basis/cpu/x86/assembler/authors.txt diff --git a/core/cpu/x86/assembler/syntax/syntax.factor b/basis/cpu/x86/assembler/syntax/syntax.factor similarity index 100% rename from core/cpu/x86/assembler/syntax/syntax.factor rename to basis/cpu/x86/assembler/syntax/syntax.factor diff --git a/basis/cpu/x86/assembler/syntax/tags.txt b/basis/cpu/x86/assembler/syntax/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/x86/assembler/syntax/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/io/styles/authors.txt b/basis/cpu/x86/authors.txt similarity index 100% rename from core/io/styles/authors.txt rename to basis/cpu/x86/authors.txt diff --git a/core/cpu/x86/bootstrap.factor b/basis/cpu/x86/bootstrap.factor similarity index 100% rename from core/cpu/x86/bootstrap.factor rename to basis/cpu/x86/bootstrap.factor diff --git a/core/libc/authors.txt b/basis/cpu/x86/intrinsics/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/libc/authors.txt rename to basis/cpu/x86/intrinsics/authors.txt diff --git a/core/cpu/x86/intrinsics/intrinsics.factor b/basis/cpu/x86/intrinsics/intrinsics.factor similarity index 100% rename from core/cpu/x86/intrinsics/intrinsics.factor rename to basis/cpu/x86/intrinsics/intrinsics.factor diff --git a/basis/cpu/x86/intrinsics/tags.txt b/basis/cpu/x86/intrinsics/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/x86/intrinsics/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/listener/authors.txt b/basis/cpu/x86/sse2/authors.txt similarity index 100% rename from core/listener/authors.txt rename to basis/cpu/x86/sse2/authors.txt diff --git a/core/cpu/x86/sse2/sse2.factor b/basis/cpu/x86/sse2/sse2.factor similarity index 100% rename from core/cpu/x86/sse2/sse2.factor rename to basis/cpu/x86/sse2/sse2.factor diff --git a/core/cpu/x86/sse2/summary.txt b/basis/cpu/x86/sse2/summary.txt similarity index 100% rename from core/cpu/x86/sse2/summary.txt rename to basis/cpu/x86/sse2/summary.txt diff --git a/basis/cpu/x86/sse2/tags.txt b/basis/cpu/x86/sse2/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/cpu/x86/sse2/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/cpu/x86/summary.txt b/basis/cpu/x86/summary.txt similarity index 100% rename from core/cpu/x86/summary.txt rename to basis/cpu/x86/summary.txt diff --git a/core/math/bitfields/authors.txt b/basis/debugger/authors.txt similarity index 100% rename from core/math/bitfields/authors.txt rename to basis/debugger/authors.txt diff --git a/core/debugger/debugger-docs.factor b/basis/debugger/debugger-docs.factor similarity index 89% rename from core/debugger/debugger-docs.factor rename to basis/debugger/debugger-docs.factor index 9dd23c6011..72463caf26 100755 --- a/core/debugger/debugger-docs.factor +++ b/basis/debugger/debugger-docs.factor @@ -4,14 +4,6 @@ help generic.standard continuations system debugger.private io.files.private listener ; IN: debugger -ARTICLE: "errors-assert" "Assertions" -"Some words to make assertions easier to enforce:" -{ $subsection assert } -{ $subsection assert= } -"Runtime stack depth checking:" -{ $subsection depth } -{ $subsection assert-depth } ; - ARTICLE: "debugger" "The debugger" "Caught errors can be logged in human-readable form:" { $subsection print-error } @@ -156,21 +148,3 @@ HELP: memory-error. HELP: primitive-error. { $error-description "Thrown by the Factor VM if an unsupported primitive word is called." } { $notes "This word is only ever thrown on Windows CE, where the " { $link cwd } ", " { $link cd } ", and " { $link os-env } " primitives are unsupported." } ; - -HELP: assert -{ $values { "got" "the obtained value" } { "expect" "the expected value" } } -{ $description "Throws an " { $link assert } " error." } -{ $error-description "Thrown when a unit test or other assertion fails." } ; - -{ assert assert-depth } related-words - -HELP: depth -{ $values { "n" "a non-negative integer" } } -{ $description "Outputs the number of elements on the data stack." } ; - -HELP: assert-depth -{ $values { "quot" "a quotation" } } -{ $description "Runs a quotation. Throws an error if the total number of elements on the stack is not the same before and after the quotation runs." } ; - -HELP: init-debugger -{ $description "Called on startup to set a pair of hooks which allow the " { $link throw } " word to function." } ; diff --git a/core/debugger/debugger-tests.factor b/basis/debugger/debugger-tests.factor similarity index 100% rename from core/debugger/debugger-tests.factor rename to basis/debugger/debugger-tests.factor diff --git a/core/debugger/debugger.factor b/basis/debugger/debugger.factor similarity index 79% rename from core/debugger/debugger.factor rename to basis/debugger/debugger.factor index 151ef3b6e9..a33b6ce8aa 100755 --- a/core/debugger/debugger.factor +++ b/basis/debugger/debugger.factor @@ -2,12 +2,14 @@ ! See http://factorcode.org/license.txt for BSD license. USING: slots arrays definitions generic hashtables summary io kernel math namespaces prettyprint prettyprint.config sequences -assocs sequences.private strings io.styles vectors words system -splitting math.parser classes.tuple continuations +assocs sequences.private strings io.styles io.files vectors +words system splitting math.parser classes.tuple continuations continuations.private combinators generic.math classes.builtin classes compiler.units generic.standard vocabs threads -threads.private init kernel.private libc io.encodings -accessors math.order destructors ; +threads.private init kernel.private libc io.encodings accessors +math.order destructors source-files parser classes.tuple.parser +effects.parser lexer compiler.errors dlists generic.parser +strings.parser ; IN: debugger GENERIC: error. ( error -- ) @@ -69,33 +71,12 @@ M: string error. print ; : try ( quot -- ) [ print-error-and-restarts ] recover ; -ERROR: assert got expect ; - -: assert= ( a b -- ) 2dup = [ 2drop ] [ assert ] if ; - -: depth ( -- n ) datastack length ; - -: trim-datastacks ( seq1 seq2 -- seq1' seq2' ) - 2dup [ length ] bi@ min tuck tail >r tail r> ; - -ERROR: relative-underflow stack ; - M: relative-underflow summary drop "Too many items removed from data stack" ; -ERROR: relative-overflow stack ; - M: relative-overflow summary drop "Superfluous items pushed to data stack" ; -: assert-depth ( quot -- ) - >r datastack r> dip >r datastack r> - 2dup [ length ] compare { - { +lt+ [ trim-datastacks nip relative-underflow ] } - { +eq+ [ 2drop ] } - { +gt+ [ trim-datastacks drop relative-overflow ] } - } case ; inline - : expired-error. ( obj -- ) "Object did not survive image save/load: " write third . ; @@ -301,20 +282,76 @@ M: attempt-all-error summary drop "Nothing to attempt" ; M: already-disposed summary drop "Attempting to operate on disposed object" ; -<PRIVATE +M: no-current-vocab summary + drop "Not in a vocabulary; IN: form required" ; -: init-debugger ( -- ) - V{ } clone set-catchstack - ! VM calls on error - [ - self error-thread set-global - continuation error-continuation set-global - rethrow - ] 5 setenv - ! VM adds this to kernel errors, so that user-space - ! can identify them - "kernel-error" 6 setenv ; +M: no-word-error summary + drop "Word not found in current vocabulary search path" ; -PRIVATE> +M: staging-violation summary + drop + "A parsing word cannot be used in the same file it is defined in." ; -[ init-debugger ] "debugger" add-init-hook +M: bad-number summary + drop "Bad number literal" ; + +M: duplicate-slot-names summary + drop "Duplicate slot names" ; + +M: invalid-slot-name summary + drop "Invalid slot name" ; + +: file. ( file -- ) path>> <pathname> . ; + +M: source-file-error error. + [ file>> file. ] [ error>> error. ] bi ; + +M: source-file-error summary + error>> summary ; + +M: source-file-error compute-restarts + error>> compute-restarts ; + +M: source-file-error error-help + error>> error-help ; + +M: not-in-a-method-error summary + drop "call-next-method can only be called in a method definition" ; + +GENERIC: expected>string ( obj -- str ) + +M: f expected>string drop "end of input" ; +M: word expected>string name>> ; +M: string expected>string ; + +M: unexpected error. + "Expected " write + dup unexpected-want expected>string write + " but got " write + unexpected-got expected>string print ; + +M: lexer-error error. + [ lexer-dump ] [ error>> error. ] bi ; + +M: lexer-error summary + error>> summary ; + +M: lexer-error compute-restarts + error>> compute-restarts ; + +M: lexer-error error-help + error>> error-help ; + +M: object compiler-error. ( error word -- ) + nl + "While compiling " write pprint ": " print + nl + print-error ; + +M: empty-dlist summary ( dlist -- ) + drop "Empty dlist" ; + +M: bad-effect summary + drop "Bad stack effect declaration" ; + +M: bad-escape summary drop "Bad escape code" ; diff --git a/core/debugger/summary.txt b/basis/debugger/summary.txt similarity index 100% rename from core/debugger/summary.txt rename to basis/debugger/summary.txt diff --git a/extra/delegate/author.txt b/basis/delegate/author.txt similarity index 100% rename from extra/delegate/author.txt rename to basis/delegate/author.txt diff --git a/core/io/encodings/string/authors.txt b/basis/delegate/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/io/encodings/string/authors.txt rename to basis/delegate/authors.txt diff --git a/extra/delegate/delegate-docs.factor b/basis/delegate/delegate-docs.factor similarity index 100% rename from extra/delegate/delegate-docs.factor rename to basis/delegate/delegate-docs.factor diff --git a/extra/delegate/delegate-tests.factor b/basis/delegate/delegate-tests.factor similarity index 99% rename from extra/delegate/delegate-tests.factor rename to basis/delegate/delegate-tests.factor index bc173ab0c8..09a90121bd 100755 --- a/extra/delegate/delegate-tests.factor +++ b/basis/delegate/delegate-tests.factor @@ -1,6 +1,6 @@ USING: delegate kernel arrays tools.test words math definitions compiler.units parser generic prettyprint io.streams.string -accessors ; +accessors eval ; IN: delegate.tests TUPLE: hello this that ; diff --git a/extra/delegate/delegate.factor b/basis/delegate/delegate.factor similarity index 100% rename from extra/delegate/delegate.factor rename to basis/delegate/delegate.factor diff --git a/core/io/encodings/utf16/authors.txt b/basis/delegate/protocols/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/io/encodings/utf16/authors.txt rename to basis/delegate/protocols/authors.txt diff --git a/extra/delegate/protocols/protocols.factor b/basis/delegate/protocols/protocols.factor similarity index 100% rename from extra/delegate/protocols/protocols.factor rename to basis/delegate/protocols/protocols.factor diff --git a/extra/delegate/summary.txt b/basis/delegate/summary.txt similarity index 100% rename from extra/delegate/summary.txt rename to basis/delegate/summary.txt diff --git a/core/math/intervals/authors.txt b/basis/dequeues/authors.txt similarity index 100% rename from core/math/intervals/authors.txt rename to basis/dequeues/authors.txt diff --git a/core/dequeues/dequeues-docs.factor b/basis/dequeues/dequeues-docs.factor similarity index 100% rename from core/dequeues/dequeues-docs.factor rename to basis/dequeues/dequeues-docs.factor diff --git a/core/dequeues/dequeues.factor b/basis/dequeues/dequeues.factor similarity index 100% rename from core/dequeues/dequeues.factor rename to basis/dequeues/dequeues.factor diff --git a/core/dequeues/summary.txt b/basis/dequeues/summary.txt similarity index 100% rename from core/dequeues/summary.txt rename to basis/dequeues/summary.txt diff --git a/extra/bit-arrays/tags.txt b/basis/dequeues/tags.txt similarity index 100% rename from extra/bit-arrays/tags.txt rename to basis/dequeues/tags.txt diff --git a/extra/disjoint-sets/authors.txt b/basis/disjoint-sets/authors.txt similarity index 100% rename from extra/disjoint-sets/authors.txt rename to basis/disjoint-sets/authors.txt diff --git a/extra/disjoint-sets/disjoint-sets.factor b/basis/disjoint-sets/disjoint-sets.factor similarity index 95% rename from extra/disjoint-sets/disjoint-sets.factor rename to basis/disjoint-sets/disjoint-sets.factor index 7879f3fbb6..284d206da4 100644 --- a/extra/disjoint-sets/disjoint-sets.factor +++ b/basis/disjoint-sets/disjoint-sets.factor @@ -86,3 +86,7 @@ M:: disjoint-set equate ( a b disjoint-set -- ) [ swap ] [ over disjoint-set inc-rank ] [ ] branch disjoint-set link-sets ] if ; + +M: disjoint-set clone + [ parents>> ] [ ranks>> ] [ counts>> ] tri [ clone ] tri@ + disjoint-set boa ; diff --git a/extra/disjoint-sets/summary.txt b/basis/disjoint-sets/summary.txt similarity index 100% rename from extra/disjoint-sets/summary.txt rename to basis/disjoint-sets/summary.txt diff --git a/extra/bit-vectors/tags.txt b/basis/disjoint-sets/tags.txt similarity index 100% rename from extra/bit-vectors/tags.txt rename to basis/disjoint-sets/tags.txt diff --git a/core/dlists/authors.txt b/basis/dlists/authors.txt similarity index 100% rename from core/dlists/authors.txt rename to basis/dlists/authors.txt diff --git a/core/dlists/dlists-docs.factor b/basis/dlists/dlists-docs.factor similarity index 100% rename from core/dlists/dlists-docs.factor rename to basis/dlists/dlists-docs.factor diff --git a/core/dlists/dlists-tests.factor b/basis/dlists/dlists-tests.factor similarity index 93% rename from core/dlists/dlists-tests.factor rename to basis/dlists/dlists-tests.factor index ff015bf95b..119a0acadb 100755 --- a/core/dlists/dlists-tests.factor +++ b/basis/dlists/dlists-tests.factor @@ -71,3 +71,9 @@ IN: dlists.tests [ <dlist> peek-back ] [ empty-dlist? ] must-fail-with [ <dlist> pop-front ] [ empty-dlist? ] must-fail-with [ <dlist> pop-back ] [ empty-dlist? ] must-fail-with + +[ t ] [ <dlist> 3 over push-front 4 over push-back 3 swap dequeue-member? ] unit-test + +[ f ] [ <dlist> 3 over push-front 4 over push-back -1 swap dequeue-member? ] unit-test + +[ f ] [ <dlist> 0 swap dequeue-member? ] unit-test diff --git a/core/dlists/dlists.factor b/basis/dlists/dlists.factor similarity index 95% rename from core/dlists/dlists.factor rename to basis/dlists/dlists.factor index 370ec4042f..192b5cb948 100755 --- a/core/dlists/dlists.factor +++ b/basis/dlists/dlists.factor @@ -1,8 +1,7 @@ ! Copyright (C) 2007, 2008 Mackenzie Straight, Doug Coleman, ! Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: combinators kernel math sequences accessors summary -dequeues ; +USING: combinators kernel math sequences accessors dequeues ; IN: dlists TUPLE: dlist front back length ; @@ -81,9 +80,6 @@ M: dlist push-back* ( obj dlist -- dlist-node ) ERROR: empty-dlist ; -M: empty-dlist summary ( dlist -- ) - drop "Empty dlist" ; - M: dlist peek-front ( dlist -- obj ) front>> [ obj>> ] [ empty-dlist ] if* ; @@ -122,7 +118,7 @@ M: dlist pop-back* ( dlist -- ) dlist-find nip ; inline M: dlist dequeue-member? ( value dlist -- ? ) - [ = ] curry dlist-contains? ; + [ = ] with dlist-contains? ; M: dlist delete-node ( dlist-node dlist -- ) { diff --git a/core/dlists/summary.txt b/basis/dlists/summary.txt similarity index 100% rename from core/dlists/summary.txt rename to basis/dlists/summary.txt diff --git a/extra/circular/tags.txt b/basis/dlists/tags.txt similarity index 100% rename from extra/circular/tags.txt rename to basis/dlists/tags.txt diff --git a/core/mirrors/authors.txt b/basis/documents/authors.txt similarity index 100% rename from core/mirrors/authors.txt rename to basis/documents/authors.txt diff --git a/extra/documents/documents-docs.factor b/basis/documents/documents-docs.factor similarity index 100% rename from extra/documents/documents-docs.factor rename to basis/documents/documents-docs.factor diff --git a/extra/documents/documents-tests.factor b/basis/documents/documents-tests.factor similarity index 100% rename from extra/documents/documents-tests.factor rename to basis/documents/documents-tests.factor diff --git a/extra/documents/documents.factor b/basis/documents/documents.factor similarity index 100% rename from extra/documents/documents.factor rename to basis/documents/documents.factor diff --git a/extra/documents/summary.txt b/basis/documents/summary.txt similarity index 100% rename from extra/documents/summary.txt rename to basis/documents/summary.txt diff --git a/core/none/authors.txt b/basis/editors/authors.txt similarity index 100% rename from core/none/authors.txt rename to basis/editors/authors.txt diff --git a/extra/editors/editors-docs.factor b/basis/editors/editors-docs.factor similarity index 100% rename from extra/editors/editors-docs.factor rename to basis/editors/editors-docs.factor diff --git a/extra/editors/editors.factor b/basis/editors/editors.factor similarity index 100% rename from extra/editors/editors.factor rename to basis/editors/editors.factor diff --git a/extra/editors/editpadpro/authors.txt b/basis/editors/editpadpro/authors.txt similarity index 100% rename from extra/editors/editpadpro/authors.txt rename to basis/editors/editpadpro/authors.txt diff --git a/extra/editors/editpadpro/editpadpro-docs.factor b/basis/editors/editpadpro/editpadpro-docs.factor similarity index 100% rename from extra/editors/editpadpro/editpadpro-docs.factor rename to basis/editors/editpadpro/editpadpro-docs.factor diff --git a/extra/editors/editpadpro/editpadpro.factor b/basis/editors/editpadpro/editpadpro.factor similarity index 100% rename from extra/editors/editpadpro/editpadpro.factor rename to basis/editors/editpadpro/editpadpro.factor diff --git a/extra/editors/editpadpro/summary.txt b/basis/editors/editpadpro/summary.txt similarity index 100% rename from extra/editors/editpadpro/summary.txt rename to basis/editors/editpadpro/summary.txt diff --git a/basis/editors/editpadpro/tags.txt b/basis/editors/editpadpro/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/editpadpro/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/editplus/authors.txt b/basis/editors/editplus/authors.txt similarity index 100% rename from extra/editors/editplus/authors.txt rename to basis/editors/editplus/authors.txt diff --git a/extra/editors/editplus/editplus.factor b/basis/editors/editplus/editplus.factor similarity index 100% rename from extra/editors/editplus/editplus.factor rename to basis/editors/editplus/editplus.factor diff --git a/extra/editors/editplus/summary.txt b/basis/editors/editplus/summary.txt similarity index 100% rename from extra/editors/editplus/summary.txt rename to basis/editors/editplus/summary.txt diff --git a/basis/editors/editplus/tags.txt b/basis/editors/editplus/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/editplus/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/emacs/authors.txt b/basis/editors/emacs/authors.txt similarity index 100% rename from extra/editors/emacs/authors.txt rename to basis/editors/emacs/authors.txt diff --git a/extra/editors/emacs/emacs-docs.factor b/basis/editors/emacs/emacs-docs.factor similarity index 100% rename from extra/editors/emacs/emacs-docs.factor rename to basis/editors/emacs/emacs-docs.factor diff --git a/extra/editors/emacs/emacs.factor b/basis/editors/emacs/emacs.factor similarity index 100% rename from extra/editors/emacs/emacs.factor rename to basis/editors/emacs/emacs.factor diff --git a/extra/editors/emacs/summary.txt b/basis/editors/emacs/summary.txt similarity index 100% rename from extra/editors/emacs/summary.txt rename to basis/editors/emacs/summary.txt diff --git a/basis/editors/emacs/tags.txt b/basis/editors/emacs/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/emacs/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/emeditor/authors.txt b/basis/editors/emeditor/authors.txt similarity index 100% rename from extra/editors/emeditor/authors.txt rename to basis/editors/emeditor/authors.txt diff --git a/extra/editors/emeditor/emeditor.factor b/basis/editors/emeditor/emeditor.factor similarity index 100% rename from extra/editors/emeditor/emeditor.factor rename to basis/editors/emeditor/emeditor.factor diff --git a/extra/editors/emeditor/summary.txt b/basis/editors/emeditor/summary.txt similarity index 100% rename from extra/editors/emeditor/summary.txt rename to basis/editors/emeditor/summary.txt diff --git a/basis/editors/emeditor/tags.txt b/basis/editors/emeditor/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/emeditor/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/gvim/authors.txt b/basis/editors/gvim/authors.txt similarity index 100% rename from extra/editors/gvim/authors.txt rename to basis/editors/gvim/authors.txt diff --git a/extra/editors/gvim/backend/authors.txt b/basis/editors/gvim/backend/authors.txt similarity index 100% rename from extra/editors/gvim/backend/authors.txt rename to basis/editors/gvim/backend/authors.txt diff --git a/extra/editors/gvim/backend/backend.factor b/basis/editors/gvim/backend/backend.factor similarity index 100% rename from extra/editors/gvim/backend/backend.factor rename to basis/editors/gvim/backend/backend.factor diff --git a/basis/editors/gvim/backend/tags.txt b/basis/editors/gvim/backend/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/gvim/backend/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/gvim/gvim.factor b/basis/editors/gvim/gvim.factor similarity index 100% rename from extra/editors/gvim/gvim.factor rename to basis/editors/gvim/gvim.factor diff --git a/extra/editors/gvim/summary.txt b/basis/editors/gvim/summary.txt similarity index 100% rename from extra/editors/gvim/summary.txt rename to basis/editors/gvim/summary.txt diff --git a/basis/editors/gvim/tags.txt b/basis/editors/gvim/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/gvim/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/gvim/unix/authors.txt b/basis/editors/gvim/unix/authors.txt similarity index 100% rename from extra/editors/gvim/unix/authors.txt rename to basis/editors/gvim/unix/authors.txt diff --git a/basis/editors/gvim/unix/tags.txt b/basis/editors/gvim/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/gvim/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/gvim/unix/unix.factor b/basis/editors/gvim/unix/unix.factor similarity index 100% rename from extra/editors/gvim/unix/unix.factor rename to basis/editors/gvim/unix/unix.factor diff --git a/extra/editors/gvim/windows/authors.txt b/basis/editors/gvim/windows/authors.txt similarity index 100% rename from extra/editors/gvim/windows/authors.txt rename to basis/editors/gvim/windows/authors.txt diff --git a/basis/editors/gvim/windows/tags.txt b/basis/editors/gvim/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/gvim/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/gvim/windows/windows.factor b/basis/editors/gvim/windows/windows.factor similarity index 100% rename from extra/editors/gvim/windows/windows.factor rename to basis/editors/gvim/windows/windows.factor diff --git a/core/optimizer/authors.txt b/basis/editors/jedit/authors.txt similarity index 100% rename from core/optimizer/authors.txt rename to basis/editors/jedit/authors.txt diff --git a/extra/editors/jedit/jedit.factor b/basis/editors/jedit/jedit.factor similarity index 100% rename from extra/editors/jedit/jedit.factor rename to basis/editors/jedit/jedit.factor diff --git a/extra/editors/jedit/summary.txt b/basis/editors/jedit/summary.txt similarity index 100% rename from extra/editors/jedit/summary.txt rename to basis/editors/jedit/summary.txt diff --git a/basis/editors/jedit/tags.txt b/basis/editors/jedit/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/jedit/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/notepadpp/authors.txt b/basis/editors/notepadpp/authors.txt similarity index 100% rename from extra/editors/notepadpp/authors.txt rename to basis/editors/notepadpp/authors.txt diff --git a/extra/editors/notepadpp/notepadpp.factor b/basis/editors/notepadpp/notepadpp.factor similarity index 100% rename from extra/editors/notepadpp/notepadpp.factor rename to basis/editors/notepadpp/notepadpp.factor diff --git a/extra/editors/notepadpp/summary.txt b/basis/editors/notepadpp/summary.txt similarity index 100% rename from extra/editors/notepadpp/summary.txt rename to basis/editors/notepadpp/summary.txt diff --git a/basis/editors/notepadpp/tags.txt b/basis/editors/notepadpp/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/notepadpp/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/scite/authors.txt b/basis/editors/scite/authors.txt similarity index 100% rename from extra/editors/scite/authors.txt rename to basis/editors/scite/authors.txt diff --git a/extra/editors/scite/scite.factor b/basis/editors/scite/scite.factor similarity index 100% rename from extra/editors/scite/scite.factor rename to basis/editors/scite/scite.factor diff --git a/extra/editors/scite/summary.txt b/basis/editors/scite/summary.txt similarity index 100% rename from extra/editors/scite/summary.txt rename to basis/editors/scite/summary.txt diff --git a/basis/editors/scite/tags.txt b/basis/editors/scite/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/scite/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/summary.txt b/basis/editors/summary.txt similarity index 100% rename from extra/editors/summary.txt rename to basis/editors/summary.txt diff --git a/core/listener/tags.txt b/basis/editors/tags.txt similarity index 100% rename from core/listener/tags.txt rename to basis/editors/tags.txt diff --git a/extra/editors/ted-notepad/authors.txt b/basis/editors/ted-notepad/authors.txt similarity index 100% rename from extra/editors/ted-notepad/authors.txt rename to basis/editors/ted-notepad/authors.txt diff --git a/extra/editors/ted-notepad/summary.txt b/basis/editors/ted-notepad/summary.txt similarity index 100% rename from extra/editors/ted-notepad/summary.txt rename to basis/editors/ted-notepad/summary.txt diff --git a/basis/editors/ted-notepad/tags.txt b/basis/editors/ted-notepad/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/ted-notepad/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/ted-notepad/ted-notepad.factor b/basis/editors/ted-notepad/ted-notepad.factor similarity index 100% rename from extra/editors/ted-notepad/ted-notepad.factor rename to basis/editors/ted-notepad/ted-notepad.factor diff --git a/extra/editors/textmate/authors.txt b/basis/editors/textmate/authors.txt similarity index 100% rename from extra/editors/textmate/authors.txt rename to basis/editors/textmate/authors.txt diff --git a/extra/editors/textmate/summary.txt b/basis/editors/textmate/summary.txt similarity index 100% rename from extra/editors/textmate/summary.txt rename to basis/editors/textmate/summary.txt diff --git a/basis/editors/textmate/tags.txt b/basis/editors/textmate/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/textmate/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/textmate/textmate.factor b/basis/editors/textmate/textmate.factor similarity index 100% rename from extra/editors/textmate/textmate.factor rename to basis/editors/textmate/textmate.factor diff --git a/extra/editors/textwrangler/authors.txt b/basis/editors/textwrangler/authors.txt similarity index 100% rename from extra/editors/textwrangler/authors.txt rename to basis/editors/textwrangler/authors.txt diff --git a/extra/editors/textwrangler/summary.txt b/basis/editors/textwrangler/summary.txt similarity index 100% rename from extra/editors/textwrangler/summary.txt rename to basis/editors/textwrangler/summary.txt diff --git a/basis/editors/textwrangler/tags.txt b/basis/editors/textwrangler/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/textwrangler/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/textwrangler/textwrangler.factor b/basis/editors/textwrangler/textwrangler.factor similarity index 100% rename from extra/editors/textwrangler/textwrangler.factor rename to basis/editors/textwrangler/textwrangler.factor diff --git a/extra/editors/ultraedit/authors.txt b/basis/editors/ultraedit/authors.txt similarity index 100% rename from extra/editors/ultraedit/authors.txt rename to basis/editors/ultraedit/authors.txt diff --git a/extra/editors/ultraedit/summary.txt b/basis/editors/ultraedit/summary.txt similarity index 100% rename from extra/editors/ultraedit/summary.txt rename to basis/editors/ultraedit/summary.txt diff --git a/basis/editors/ultraedit/tags.txt b/basis/editors/ultraedit/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/ultraedit/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/ultraedit/ultraedit.factor b/basis/editors/ultraedit/ultraedit.factor similarity index 100% rename from extra/editors/ultraedit/ultraedit.factor rename to basis/editors/ultraedit/ultraedit.factor diff --git a/extra/editors/vim/authors.txt b/basis/editors/vim/authors.txt similarity index 100% rename from extra/editors/vim/authors.txt rename to basis/editors/vim/authors.txt diff --git a/extra/editors/vim/generate-syntax/generate-syntax.factor b/basis/editors/vim/generate-syntax/generate-syntax.factor similarity index 100% rename from extra/editors/vim/generate-syntax/generate-syntax.factor rename to basis/editors/vim/generate-syntax/generate-syntax.factor diff --git a/basis/editors/vim/generate-syntax/tags.txt b/basis/editors/vim/generate-syntax/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/vim/generate-syntax/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/vim/summary.txt b/basis/editors/vim/summary.txt similarity index 100% rename from extra/editors/vim/summary.txt rename to basis/editors/vim/summary.txt diff --git a/basis/editors/vim/tags.txt b/basis/editors/vim/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/vim/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/vim/vim-docs.factor b/basis/editors/vim/vim-docs.factor similarity index 100% rename from extra/editors/vim/vim-docs.factor rename to basis/editors/vim/vim-docs.factor diff --git a/extra/editors/vim/vim.factor b/basis/editors/vim/vim.factor similarity index 100% rename from extra/editors/vim/vim.factor rename to basis/editors/vim/vim.factor diff --git a/extra/editors/wordpad/authors.txt b/basis/editors/wordpad/authors.txt similarity index 100% rename from extra/editors/wordpad/authors.txt rename to basis/editors/wordpad/authors.txt diff --git a/extra/editors/wordpad/summary.txt b/basis/editors/wordpad/summary.txt similarity index 100% rename from extra/editors/wordpad/summary.txt rename to basis/editors/wordpad/summary.txt diff --git a/basis/editors/wordpad/tags.txt b/basis/editors/wordpad/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/editors/wordpad/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/editors/wordpad/wordpad.factor b/basis/editors/wordpad/wordpad.factor similarity index 100% rename from extra/editors/wordpad/wordpad.factor rename to basis/editors/wordpad/wordpad.factor diff --git a/basis/eval/eval-docs.factor b/basis/eval/eval-docs.factor new file mode 100644 index 0000000000..057d291b7f --- /dev/null +++ b/basis/eval/eval-docs.factor @@ -0,0 +1,18 @@ +IN: eval +USING: help.markup help.syntax strings io ; + +HELP: eval +{ $values { "str" string } } +{ $description "Parses Factor source code from a string, and calls the resulting quotation." } +{ $errors "Throws an error if the input is malformed, or if the evaluation itself throws an error." } ; + +HELP: eval>string +{ $values { "str" string } { "output" string } } +{ $description "Evaluates the Factor code in " { $snippet "str" } " with " { $link output-stream } " rebound to a string output stream, then outputs the resulting string." } ; + +ARTICLE: "eval" "Evaluating strings at runtime" +"Evaluating strings at runtime:" +{ $subsection eval } +{ $subsection eval>string } ; + +ABOUT: "eval" diff --git a/basis/eval/eval.factor b/basis/eval/eval.factor new file mode 100644 index 0000000000..5b22fec159 --- /dev/null +++ b/basis/eval/eval.factor @@ -0,0 +1,14 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: splitting parser compiler.units kernel namespaces +debugger io.streams.string ; +IN: eval + +: eval ( str -- ) + [ string-lines parse-fresh ] with-compilation-unit call ; + +: eval>string ( str -- output ) + [ + parser-notes off + [ [ eval ] keep ] try drop + ] with-string-writer ; diff --git a/core/optimizer/backend/authors.txt b/basis/float-arrays/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/optimizer/backend/authors.txt rename to basis/float-arrays/authors.txt diff --git a/extra/float-arrays/float-arrays-docs.factor b/basis/float-arrays/float-arrays-docs.factor similarity index 100% rename from extra/float-arrays/float-arrays-docs.factor rename to basis/float-arrays/float-arrays-docs.factor diff --git a/extra/float-arrays/float-arrays-tests.factor b/basis/float-arrays/float-arrays-tests.factor similarity index 100% rename from extra/float-arrays/float-arrays-tests.factor rename to basis/float-arrays/float-arrays-tests.factor diff --git a/extra/float-arrays/float-arrays.factor b/basis/float-arrays/float-arrays.factor similarity index 100% rename from extra/float-arrays/float-arrays.factor rename to basis/float-arrays/float-arrays.factor diff --git a/extra/float-arrays/summary.txt b/basis/float-arrays/summary.txt similarity index 100% rename from extra/float-arrays/summary.txt rename to basis/float-arrays/summary.txt diff --git a/extra/columns/tags.txt b/basis/float-arrays/tags.txt similarity index 100% rename from extra/columns/tags.txt rename to basis/float-arrays/tags.txt diff --git a/extra/float-vectors/float-vectors-docs.factor b/basis/float-vectors/float-vectors-docs.factor similarity index 100% rename from extra/float-vectors/float-vectors-docs.factor rename to basis/float-vectors/float-vectors-docs.factor diff --git a/extra/float-vectors/float-vectors-tests.factor b/basis/float-vectors/float-vectors-tests.factor similarity index 100% rename from extra/float-vectors/float-vectors-tests.factor rename to basis/float-vectors/float-vectors-tests.factor diff --git a/extra/float-vectors/float-vectors.factor b/basis/float-vectors/float-vectors.factor similarity index 100% rename from extra/float-vectors/float-vectors.factor rename to basis/float-vectors/float-vectors.factor diff --git a/extra/float-vectors/summary.txt b/basis/float-vectors/summary.txt similarity index 100% rename from extra/float-vectors/summary.txt rename to basis/float-vectors/summary.txt diff --git a/extra/disjoint-sets/tags.txt b/basis/float-vectors/tags.txt similarity index 100% rename from extra/disjoint-sets/tags.txt rename to basis/float-vectors/tags.txt diff --git a/core/optimizer/def-use/authors.txt b/basis/freetype/authors.txt similarity index 100% rename from core/optimizer/def-use/authors.txt rename to basis/freetype/authors.txt diff --git a/extra/freetype/freetype.factor b/basis/freetype/freetype.factor similarity index 100% rename from extra/freetype/freetype.factor rename to basis/freetype/freetype.factor diff --git a/extra/freetype/summary.txt b/basis/freetype/summary.txt similarity index 100% rename from extra/freetype/summary.txt rename to basis/freetype/summary.txt diff --git a/core/libc/tags.txt b/basis/freetype/tags.txt similarity index 100% rename from core/libc/tags.txt rename to basis/freetype/tags.txt diff --git a/extra/fry/authors.txt b/basis/fry/authors.txt similarity index 100% rename from extra/fry/authors.txt rename to basis/fry/authors.txt diff --git a/extra/fry/fry-docs.factor b/basis/fry/fry-docs.factor similarity index 100% rename from extra/fry/fry-docs.factor rename to basis/fry/fry-docs.factor diff --git a/extra/fry/fry-tests.factor b/basis/fry/fry-tests.factor similarity index 100% rename from extra/fry/fry-tests.factor rename to basis/fry/fry-tests.factor diff --git a/extra/fry/fry.factor b/basis/fry/fry.factor similarity index 100% rename from extra/fry/fry.factor rename to basis/fry/fry.factor diff --git a/extra/fry/summary.txt b/basis/fry/summary.txt similarity index 100% rename from extra/fry/summary.txt rename to basis/fry/summary.txt diff --git a/extra/fry/tags.txt b/basis/fry/tags.txt similarity index 100% rename from extra/fry/tags.txt rename to basis/fry/tags.txt diff --git a/extra/generalizations/generalizations-docs.factor b/basis/generalizations/generalizations-docs.factor similarity index 100% rename from extra/generalizations/generalizations-docs.factor rename to basis/generalizations/generalizations-docs.factor diff --git a/extra/generalizations/generalizations-tests.factor b/basis/generalizations/generalizations-tests.factor similarity index 100% rename from extra/generalizations/generalizations-tests.factor rename to basis/generalizations/generalizations-tests.factor diff --git a/extra/generalizations/generalizations.factor b/basis/generalizations/generalizations.factor similarity index 100% rename from extra/generalizations/generalizations.factor rename to basis/generalizations/generalizations.factor diff --git a/core/optimizer/known-words/authors.txt b/basis/generator/authors.txt similarity index 100% rename from core/optimizer/known-words/authors.txt rename to basis/generator/authors.txt diff --git a/core/optimizer/math/authors.txt b/basis/generator/fixup/authors.txt similarity index 100% rename from core/optimizer/math/authors.txt rename to basis/generator/fixup/authors.txt diff --git a/core/generator/fixup/fixup-docs.factor b/basis/generator/fixup/fixup-docs.factor similarity index 100% rename from core/generator/fixup/fixup-docs.factor rename to basis/generator/fixup/fixup-docs.factor diff --git a/core/generator/fixup/fixup.factor b/basis/generator/fixup/fixup.factor similarity index 100% rename from core/generator/fixup/fixup.factor rename to basis/generator/fixup/fixup.factor diff --git a/core/generator/fixup/summary.txt b/basis/generator/fixup/summary.txt similarity index 100% rename from core/generator/fixup/summary.txt rename to basis/generator/fixup/summary.txt diff --git a/core/generator/generator-docs.factor b/basis/generator/generator-docs.factor similarity index 100% rename from core/generator/generator-docs.factor rename to basis/generator/generator-docs.factor diff --git a/core/generator/generator.factor b/basis/generator/generator.factor similarity index 100% rename from core/generator/generator.factor rename to basis/generator/generator.factor diff --git a/core/optimizer/pattern-match/authors.txt b/basis/generator/registers/authors.txt similarity index 100% rename from core/optimizer/pattern-match/authors.txt rename to basis/generator/registers/authors.txt diff --git a/core/generator/registers/registers.factor b/basis/generator/registers/registers.factor similarity index 100% rename from core/generator/registers/registers.factor rename to basis/generator/registers/registers.factor diff --git a/core/generator/registers/summary.txt b/basis/generator/registers/summary.txt similarity index 100% rename from core/generator/registers/summary.txt rename to basis/generator/registers/summary.txt diff --git a/core/generator/summary.txt b/basis/generator/summary.txt similarity index 100% rename from core/generator/summary.txt rename to basis/generator/summary.txt diff --git a/core/cpu/ppc/tags.txt b/basis/generator/tags.txt similarity index 100% rename from core/cpu/ppc/tags.txt rename to basis/generator/tags.txt diff --git a/extra/delegate/authors.txt b/basis/hash2/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/delegate/authors.txt rename to basis/hash2/authors.txt diff --git a/extra/hash2/hash2-docs.factor b/basis/hash2/hash2-docs.factor similarity index 100% rename from extra/hash2/hash2-docs.factor rename to basis/hash2/hash2-docs.factor diff --git a/extra/hash2/hash2-tests.factor b/basis/hash2/hash2-tests.factor similarity index 100% rename from extra/hash2/hash2-tests.factor rename to basis/hash2/hash2-tests.factor diff --git a/extra/hash2/hash2.factor b/basis/hash2/hash2.factor similarity index 100% rename from extra/hash2/hash2.factor rename to basis/hash2/hash2.factor diff --git a/extra/hash2/summary.txt b/basis/hash2/summary.txt similarity index 100% rename from extra/hash2/summary.txt rename to basis/hash2/summary.txt diff --git a/extra/float-arrays/tags.txt b/basis/hash2/tags.txt similarity index 100% rename from extra/float-arrays/tags.txt rename to basis/hash2/tags.txt diff --git a/core/heaps/authors.txt b/basis/heaps/authors.txt similarity index 100% rename from core/heaps/authors.txt rename to basis/heaps/authors.txt diff --git a/core/heaps/heaps-docs.factor b/basis/heaps/heaps-docs.factor similarity index 100% rename from core/heaps/heaps-docs.factor rename to basis/heaps/heaps-docs.factor diff --git a/core/heaps/heaps-tests.factor b/basis/heaps/heaps-tests.factor similarity index 100% rename from core/heaps/heaps-tests.factor rename to basis/heaps/heaps-tests.factor diff --git a/core/heaps/heaps.factor b/basis/heaps/heaps.factor similarity index 100% rename from core/heaps/heaps.factor rename to basis/heaps/heaps.factor diff --git a/core/heaps/summary.txt b/basis/heaps/summary.txt similarity index 100% rename from core/heaps/summary.txt rename to basis/heaps/summary.txt diff --git a/extra/float-vectors/tags.txt b/basis/heaps/tags.txt similarity index 100% rename from extra/float-vectors/tags.txt rename to basis/heaps/tags.txt diff --git a/core/prettyprint/authors.txt b/basis/help/authors.txt similarity index 100% rename from core/prettyprint/authors.txt rename to basis/help/authors.txt diff --git a/core/prettyprint/backend/authors.txt b/basis/help/cookbook/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from core/prettyprint/backend/authors.txt rename to basis/help/cookbook/authors.txt diff --git a/extra/help/cookbook/cookbook.factor b/basis/help/cookbook/cookbook.factor similarity index 100% rename from extra/help/cookbook/cookbook.factor rename to basis/help/cookbook/cookbook.factor diff --git a/core/prettyprint/config/authors.txt b/basis/help/crossref/authors.txt similarity index 100% rename from core/prettyprint/config/authors.txt rename to basis/help/crossref/authors.txt diff --git a/extra/help/crossref/crossref-docs.factor b/basis/help/crossref/crossref-docs.factor similarity index 100% rename from extra/help/crossref/crossref-docs.factor rename to basis/help/crossref/crossref-docs.factor diff --git a/extra/help/crossref/crossref-tests.factor b/basis/help/crossref/crossref-tests.factor similarity index 96% rename from extra/help/crossref/crossref-tests.factor rename to basis/help/crossref/crossref-tests.factor index 1d569d8a8f..2e8c173944 100755 --- a/extra/help/crossref/crossref-tests.factor +++ b/basis/help/crossref/crossref-tests.factor @@ -1,7 +1,7 @@ IN: help.crossref.tests USING: help.crossref help.topics help.markup tools.test words definitions assocs sequences kernel namespaces parser arrays -io.streams.string continuations debugger compiler.units ; +io.streams.string continuations debugger compiler.units eval ; [ ] [ "IN: help.crossref.tests USING: help.syntax help.markup ; : foo ; HELP: foo \"foo is great\" ; ARTICLE: \"foo\" \"Foo\" { $subsection foo } ;" eval diff --git a/extra/help/crossref/crossref.factor b/basis/help/crossref/crossref.factor similarity index 100% rename from extra/help/crossref/crossref.factor rename to basis/help/crossref/crossref.factor diff --git a/extra/help/crossref/summary.txt b/basis/help/crossref/summary.txt similarity index 100% rename from extra/help/crossref/summary.txt rename to basis/help/crossref/summary.txt diff --git a/core/prettyprint/sections/authors.txt b/basis/help/definitions/authors.txt similarity index 100% rename from core/prettyprint/sections/authors.txt rename to basis/help/definitions/authors.txt diff --git a/extra/help/definitions/definitions-tests.factor b/basis/help/definitions/definitions-tests.factor similarity index 96% rename from extra/help/definitions/definitions-tests.factor rename to basis/help/definitions/definitions-tests.factor index 7134c6b0b0..2c894c3812 100755 --- a/extra/help/definitions/definitions-tests.factor +++ b/basis/help/definitions/definitions-tests.factor @@ -1,6 +1,6 @@ USING: math definitions help.topics help tools.test prettyprint parser io.streams.string kernel source-files -assocs namespaces words io sequences ; +assocs namespaces words io sequences eval ; IN: help.definitions.tests [ ] [ \ + >link see ] unit-test diff --git a/extra/help/definitions/definitions.factor b/basis/help/definitions/definitions.factor similarity index 100% rename from extra/help/definitions/definitions.factor rename to basis/help/definitions/definitions.factor diff --git a/extra/help/definitions/summary.txt b/basis/help/definitions/summary.txt similarity index 100% rename from extra/help/definitions/summary.txt rename to basis/help/definitions/summary.txt diff --git a/core/refs/authors.txt b/basis/help/handbook/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from core/refs/authors.txt rename to basis/help/handbook/authors.txt diff --git a/extra/help/handbook/handbook-tests.factor b/basis/help/handbook/handbook-tests.factor similarity index 100% rename from extra/help/handbook/handbook-tests.factor rename to basis/help/handbook/handbook-tests.factor diff --git a/extra/help/handbook/handbook.factor b/basis/help/handbook/handbook.factor similarity index 100% rename from extra/help/handbook/handbook.factor rename to basis/help/handbook/handbook.factor diff --git a/extra/help/handbook/summary.txt b/basis/help/handbook/summary.txt similarity index 100% rename from extra/help/handbook/summary.txt rename to basis/help/handbook/summary.txt diff --git a/extra/help/help-docs.factor b/basis/help/help-docs.factor similarity index 100% rename from extra/help/help-docs.factor rename to basis/help/help-docs.factor diff --git a/extra/help/help-tests.factor b/basis/help/help-tests.factor similarity index 100% rename from extra/help/help-tests.factor rename to basis/help/help-tests.factor diff --git a/extra/help/help.factor b/basis/help/help.factor similarity index 93% rename from extra/help/help.factor rename to basis/help/help.factor index 2ebb914564..7535ba8c1a 100755 --- a/extra/help/help.factor +++ b/basis/help/help.factor @@ -1,10 +1,10 @@ ! Copyright (C) 2005, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors arrays io kernel namespaces parser prettyprint -sequences words assocs definitions generic quotations effects -slots continuations classes.tuple debugger combinators vocabs -help.stylesheet help.topics help.crossref help.markup sorting -classes vocabs.loader ; +USING: accessors arrays io io.styles kernel namespaces parser +prettyprint sequences words assocs definitions generic +quotations effects slots continuations classes.tuple debugger +combinators vocabs help.stylesheet help.topics help.crossref +help.markup sorting classes vocabs.loader ; IN: help GENERIC: word-help* ( word -- content ) diff --git a/extra/help/html/html.factor b/basis/help/html/html.factor similarity index 100% rename from extra/help/html/html.factor rename to basis/help/html/html.factor diff --git a/core/search-dequeues/authors.txt b/basis/help/lint/authors.txt similarity index 100% rename from core/search-dequeues/authors.txt rename to basis/help/lint/authors.txt diff --git a/extra/help/lint/lint-docs.factor b/basis/help/lint/lint-docs.factor similarity index 100% rename from extra/help/lint/lint-docs.factor rename to basis/help/lint/lint-docs.factor diff --git a/extra/help/lint/lint.factor b/basis/help/lint/lint.factor similarity index 99% rename from extra/help/lint/lint.factor rename to basis/help/lint/lint.factor index 0926a30adc..9cbffe2d33 100755 --- a/extra/help/lint/lint.factor +++ b/basis/help/lint/lint.factor @@ -5,7 +5,7 @@ help.topics words strings classes tools.vocabs namespaces io io.streams.string prettyprint definitions arrays vectors combinators splitting debugger hashtables sorting effects vocabs vocabs.loader assocs editors continuations classes.predicate -macros math sets ; +macros math sets eval ; IN: help.lint : check-example ( element -- ) diff --git a/extra/help/lint/summary.txt b/basis/help/lint/summary.txt similarity index 100% rename from extra/help/lint/summary.txt rename to basis/help/lint/summary.txt diff --git a/extra/editors/tags.txt b/basis/help/lint/tags.txt similarity index 100% rename from extra/editors/tags.txt rename to basis/help/lint/tags.txt diff --git a/core/threads/authors.txt b/basis/help/markup/authors.txt similarity index 100% rename from core/threads/authors.txt rename to basis/help/markup/authors.txt diff --git a/extra/help/markup/markup-tests.factor b/basis/help/markup/markup-tests.factor similarity index 100% rename from extra/help/markup/markup-tests.factor rename to basis/help/markup/markup-tests.factor diff --git a/extra/help/markup/markup.factor b/basis/help/markup/markup.factor similarity index 100% rename from extra/help/markup/markup.factor rename to basis/help/markup/markup.factor diff --git a/extra/help/markup/summary.txt b/basis/help/markup/summary.txt similarity index 100% rename from extra/help/markup/summary.txt rename to basis/help/markup/summary.txt diff --git a/extra/ascii/authors.txt b/basis/help/stylesheet/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/ascii/authors.txt rename to basis/help/stylesheet/authors.txt diff --git a/extra/help/stylesheet/stylesheet.factor b/basis/help/stylesheet/stylesheet.factor similarity index 100% rename from extra/help/stylesheet/stylesheet.factor rename to basis/help/stylesheet/stylesheet.factor diff --git a/extra/help/stylesheet/summary.txt b/basis/help/stylesheet/summary.txt similarity index 100% rename from extra/help/stylesheet/summary.txt rename to basis/help/stylesheet/summary.txt diff --git a/extra/help/summary.txt b/basis/help/summary.txt similarity index 100% rename from extra/help/summary.txt rename to basis/help/summary.txt diff --git a/extra/biassocs/authors.txt b/basis/help/syntax/authors.txt similarity index 100% rename from extra/biassocs/authors.txt rename to basis/help/syntax/authors.txt diff --git a/extra/help/syntax/summary.txt b/basis/help/syntax/summary.txt similarity index 100% rename from extra/help/syntax/summary.txt rename to basis/help/syntax/summary.txt diff --git a/extra/help/syntax/syntax-tests.factor b/basis/help/syntax/syntax-tests.factor similarity index 87% rename from extra/help/syntax/syntax-tests.factor rename to basis/help/syntax/syntax-tests.factor index 5d8a1a0b78..68306263a5 100755 --- a/extra/help/syntax/syntax-tests.factor +++ b/basis/help/syntax/syntax-tests.factor @@ -1,5 +1,5 @@ IN: help.syntax.tests -USING: tools.test parser vocabs help.syntax namespaces ; +USING: tools.test parser vocabs help.syntax namespaces eval ; [ [ "foobar" ] [ diff --git a/extra/help/syntax/syntax.factor b/basis/help/syntax/syntax.factor similarity index 100% rename from extra/help/syntax/syntax.factor rename to basis/help/syntax/syntax.factor diff --git a/extra/bit-arrays/authors.txt b/basis/help/topics/authors.txt similarity index 100% rename from extra/bit-arrays/authors.txt rename to basis/help/topics/authors.txt diff --git a/extra/help/topics/summary.txt b/basis/help/topics/summary.txt similarity index 100% rename from extra/help/topics/summary.txt rename to basis/help/topics/summary.txt diff --git a/extra/help/topics/topics-docs.factor b/basis/help/topics/topics-docs.factor similarity index 98% rename from extra/help/topics/topics-docs.factor rename to basis/help/topics/topics-docs.factor index 8afdb59245..f2f3e8e82f 100644 --- a/extra/help/topics/topics-docs.factor +++ b/basis/help/topics/topics-docs.factor @@ -1,5 +1,5 @@ USING: help.markup help.syntax help.topics help.crossref help io -hashtables ; +io.styles hashtables ; HELP: articles { $var-description "Hashtable mapping article names to " { $link article } " instances." } ; diff --git a/extra/help/topics/topics-tests.factor b/basis/help/topics/topics-tests.factor similarity index 96% rename from extra/help/topics/topics-tests.factor rename to basis/help/topics/topics-tests.factor index 1099f747bc..a343aa1734 100644 --- a/extra/help/topics/topics-tests.factor +++ b/basis/help/topics/topics-tests.factor @@ -1,6 +1,6 @@ USING: definitions help help.topics help.crossref help.markup help.syntax kernel sequences tools.test words parser namespaces -assocs source-files ; +assocs source-files eval ; IN: help.topics.tests ! Test help cross-referencing diff --git a/extra/help/topics/topics.factor b/basis/help/topics/topics.factor similarity index 100% rename from extra/help/topics/topics.factor rename to basis/help/topics/topics.factor diff --git a/extra/bootstrap/help/authors.txt b/basis/help/tutorial/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/bootstrap/help/authors.txt rename to basis/help/tutorial/authors.txt diff --git a/extra/help/tutorial/tutorial.factor b/basis/help/tutorial/tutorial.factor similarity index 100% rename from extra/help/tutorial/tutorial.factor rename to basis/help/tutorial/tutorial.factor diff --git a/extra/bootstrap/image/download/authors.txt b/basis/hints/authors.txt similarity index 100% rename from extra/bootstrap/image/download/authors.txt rename to basis/hints/authors.txt diff --git a/extra/hints/hints.factor b/basis/hints/hints.factor similarity index 100% rename from extra/hints/hints.factor rename to basis/hints/hints.factor diff --git a/extra/hints/summary.txt b/basis/hints/summary.txt similarity index 100% rename from extra/hints/summary.txt rename to basis/hints/summary.txt diff --git a/extra/hints/tags.txt b/basis/hints/tags.txt similarity index 100% rename from extra/hints/tags.txt rename to basis/hints/tags.txt diff --git a/extra/bootstrap/image/upload/authors.txt b/basis/inference/authors.txt similarity index 100% rename from extra/bootstrap/image/upload/authors.txt rename to basis/inference/authors.txt diff --git a/extra/bootstrap/io/authors.txt b/basis/inference/backend/authors.txt similarity index 100% rename from extra/bootstrap/io/authors.txt rename to basis/inference/backend/authors.txt diff --git a/core/inference/backend/backend-docs.factor b/basis/inference/backend/backend-docs.factor similarity index 100% rename from core/inference/backend/backend-docs.factor rename to basis/inference/backend/backend-docs.factor diff --git a/core/inference/backend/backend.factor b/basis/inference/backend/backend.factor similarity index 100% rename from core/inference/backend/backend.factor rename to basis/inference/backend/backend.factor diff --git a/core/inference/backend/summary.txt b/basis/inference/backend/summary.txt similarity index 100% rename from core/inference/backend/summary.txt rename to basis/inference/backend/summary.txt diff --git a/extra/bootstrap/tools/authors.txt b/basis/inference/class/authors.txt similarity index 100% rename from extra/bootstrap/tools/authors.txt rename to basis/inference/class/authors.txt diff --git a/core/inference/class/class-tests.factor b/basis/inference/class/class-tests.factor similarity index 100% rename from core/inference/class/class-tests.factor rename to basis/inference/class/class-tests.factor diff --git a/core/inference/class/class.factor b/basis/inference/class/class.factor similarity index 100% rename from core/inference/class/class.factor rename to basis/inference/class/class.factor diff --git a/core/inference/class/summary.txt b/basis/inference/class/summary.txt similarity index 100% rename from core/inference/class/summary.txt rename to basis/inference/class/summary.txt diff --git a/extra/cocoa/application/authors.txt b/basis/inference/dataflow/authors.txt similarity index 100% rename from extra/cocoa/application/authors.txt rename to basis/inference/dataflow/authors.txt diff --git a/core/inference/dataflow/dataflow-docs.factor b/basis/inference/dataflow/dataflow-docs.factor similarity index 100% rename from core/inference/dataflow/dataflow-docs.factor rename to basis/inference/dataflow/dataflow-docs.factor diff --git a/core/inference/dataflow/dataflow.factor b/basis/inference/dataflow/dataflow.factor similarity index 100% rename from core/inference/dataflow/dataflow.factor rename to basis/inference/dataflow/dataflow.factor diff --git a/core/inference/dataflow/summary.txt b/basis/inference/dataflow/summary.txt similarity index 100% rename from core/inference/dataflow/summary.txt rename to basis/inference/dataflow/summary.txt diff --git a/extra/cocoa/authors.txt b/basis/inference/errors/authors.txt similarity index 100% rename from extra/cocoa/authors.txt rename to basis/inference/errors/authors.txt diff --git a/core/inference/errors/errors.factor b/basis/inference/errors/errors.factor similarity index 100% rename from core/inference/errors/errors.factor rename to basis/inference/errors/errors.factor diff --git a/core/inference/errors/summary.txt b/basis/inference/errors/summary.txt similarity index 100% rename from core/inference/errors/summary.txt rename to basis/inference/errors/summary.txt diff --git a/core/inference/inference-docs.factor b/basis/inference/inference-docs.factor similarity index 100% rename from core/inference/inference-docs.factor rename to basis/inference/inference-docs.factor diff --git a/core/inference/inference-tests.factor b/basis/inference/inference-tests.factor similarity index 99% rename from core/inference/inference-tests.factor rename to basis/inference/inference-tests.factor index d66821e230..22a384f235 100755 --- a/core/inference/inference-tests.factor +++ b/basis/inference/inference-tests.factor @@ -5,7 +5,7 @@ sequences strings vectors words quotations effects tools.test continuations generic.standard sorting assocs definitions prettyprint io inspector classes.tuple classes.union classes.predicate debugger threads.private io.streams.string -io.timeouts io.thread sequences.private destructors ; +io.timeouts io.thread sequences.private destructors eval ; IN: inference.tests [ ] [ [ 1 ] dataflow [ ] transform-nodes drop ] unit-test diff --git a/core/inference/inference.factor b/basis/inference/inference.factor similarity index 100% rename from core/inference/inference.factor rename to basis/inference/inference.factor diff --git a/extra/cocoa/dialogs/authors.txt b/basis/inference/known-words/authors.txt similarity index 100% rename from extra/cocoa/dialogs/authors.txt rename to basis/inference/known-words/authors.txt diff --git a/core/inference/known-words/known-words.factor b/basis/inference/known-words/known-words.factor similarity index 100% rename from core/inference/known-words/known-words.factor rename to basis/inference/known-words/known-words.factor diff --git a/core/inference/known-words/summary.txt b/basis/inference/known-words/summary.txt similarity index 100% rename from core/inference/known-words/summary.txt rename to basis/inference/known-words/summary.txt diff --git a/extra/cocoa/messages/authors.txt b/basis/inference/state/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/cocoa/messages/authors.txt rename to basis/inference/state/authors.txt diff --git a/core/inference/state/state-docs.factor b/basis/inference/state/state-docs.factor similarity index 100% rename from core/inference/state/state-docs.factor rename to basis/inference/state/state-docs.factor diff --git a/core/inference/state/state-tests.factor b/basis/inference/state/state-tests.factor similarity index 100% rename from core/inference/state/state-tests.factor rename to basis/inference/state/state-tests.factor diff --git a/core/inference/state/state.factor b/basis/inference/state/state.factor similarity index 100% rename from core/inference/state/state.factor rename to basis/inference/state/state.factor diff --git a/core/inference/state/summary.txt b/basis/inference/state/summary.txt similarity index 100% rename from core/inference/state/summary.txt rename to basis/inference/state/summary.txt diff --git a/core/inference/summary.txt b/basis/inference/summary.txt similarity index 100% rename from core/inference/summary.txt rename to basis/inference/summary.txt diff --git a/core/inference/tags.txt b/basis/inference/tags.txt similarity index 100% rename from core/inference/tags.txt rename to basis/inference/tags.txt diff --git a/extra/cocoa/pasteboard/authors.txt b/basis/inference/transforms/authors.txt similarity index 100% rename from extra/cocoa/pasteboard/authors.txt rename to basis/inference/transforms/authors.txt diff --git a/core/inference/transforms/summary.txt b/basis/inference/transforms/summary.txt similarity index 100% rename from core/inference/transforms/summary.txt rename to basis/inference/transforms/summary.txt diff --git a/core/inference/transforms/transforms-docs.factor b/basis/inference/transforms/transforms-docs.factor similarity index 100% rename from core/inference/transforms/transforms-docs.factor rename to basis/inference/transforms/transforms-docs.factor diff --git a/core/inference/transforms/transforms-tests.factor b/basis/inference/transforms/transforms-tests.factor similarity index 100% rename from core/inference/transforms/transforms-tests.factor rename to basis/inference/transforms/transforms-tests.factor diff --git a/core/inference/transforms/transforms.factor b/basis/inference/transforms/transforms.factor similarity index 100% rename from core/inference/transforms/transforms.factor rename to basis/inference/transforms/transforms.factor diff --git a/extra/cocoa/plists/authors.txt b/basis/inspector/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/cocoa/plists/authors.txt rename to basis/inspector/authors.txt diff --git a/core/inspector/inspector-docs.factor b/basis/inspector/inspector-docs.factor similarity index 100% rename from core/inspector/inspector-docs.factor rename to basis/inspector/inspector-docs.factor diff --git a/core/inspector/inspector-tests.factor b/basis/inspector/inspector-tests.factor similarity index 100% rename from core/inspector/inspector-tests.factor rename to basis/inspector/inspector-tests.factor diff --git a/core/inspector/inspector.factor b/basis/inspector/inspector.factor similarity index 100% rename from core/inspector/inspector.factor rename to basis/inspector/inspector.factor diff --git a/core/inspector/summary.txt b/basis/inspector/summary.txt similarity index 100% rename from core/inspector/summary.txt rename to basis/inspector/summary.txt diff --git a/core/inspector/tags.txt b/basis/inspector/tags.txt similarity index 100% rename from core/inspector/tags.txt rename to basis/inspector/tags.txt diff --git a/extra/interval-maps/authors.txt b/basis/interval-maps/authors.txt similarity index 100% rename from extra/interval-maps/authors.txt rename to basis/interval-maps/authors.txt diff --git a/extra/interval-maps/interval-maps-docs.factor b/basis/interval-maps/interval-maps-docs.factor similarity index 100% rename from extra/interval-maps/interval-maps-docs.factor rename to basis/interval-maps/interval-maps-docs.factor diff --git a/extra/interval-maps/interval-maps-tests.factor b/basis/interval-maps/interval-maps-tests.factor similarity index 100% rename from extra/interval-maps/interval-maps-tests.factor rename to basis/interval-maps/interval-maps-tests.factor diff --git a/extra/interval-maps/interval-maps.factor b/basis/interval-maps/interval-maps.factor similarity index 100% rename from extra/interval-maps/interval-maps.factor rename to basis/interval-maps/interval-maps.factor diff --git a/extra/interval-maps/summary.txt b/basis/interval-maps/summary.txt similarity index 100% rename from extra/interval-maps/summary.txt rename to basis/interval-maps/summary.txt diff --git a/extra/interval-maps/tags.txt b/basis/interval-maps/tags.txt similarity index 100% rename from extra/interval-maps/tags.txt rename to basis/interval-maps/tags.txt diff --git a/extra/cocoa/runtime/authors.txt b/basis/io/buffers/authors.txt similarity index 100% rename from extra/cocoa/runtime/authors.txt rename to basis/io/buffers/authors.txt diff --git a/extra/io/buffers/buffers-docs.factor b/basis/io/buffers/buffers-docs.factor similarity index 100% rename from extra/io/buffers/buffers-docs.factor rename to basis/io/buffers/buffers-docs.factor diff --git a/extra/io/buffers/buffers-tests.factor b/basis/io/buffers/buffers-tests.factor similarity index 100% rename from extra/io/buffers/buffers-tests.factor rename to basis/io/buffers/buffers-tests.factor diff --git a/extra/io/buffers/buffers.factor b/basis/io/buffers/buffers.factor similarity index 100% rename from extra/io/buffers/buffers.factor rename to basis/io/buffers/buffers.factor diff --git a/extra/io/buffers/summary.txt b/basis/io/buffers/summary.txt similarity index 100% rename from extra/io/buffers/summary.txt rename to basis/io/buffers/summary.txt diff --git a/extra/io/encodings/8-bit/8-bit-docs.factor b/basis/io/encodings/8-bit/8-bit-docs.factor similarity index 100% rename from extra/io/encodings/8-bit/8-bit-docs.factor rename to basis/io/encodings/8-bit/8-bit-docs.factor diff --git a/extra/io/encodings/8-bit/8-bit-tests.factor b/basis/io/encodings/8-bit/8-bit-tests.factor similarity index 100% rename from extra/io/encodings/8-bit/8-bit-tests.factor rename to basis/io/encodings/8-bit/8-bit-tests.factor diff --git a/extra/io/encodings/8-bit/8-bit.factor b/basis/io/encodings/8-bit/8-bit.factor similarity index 97% rename from extra/io/encodings/8-bit/8-bit.factor rename to basis/io/encodings/8-bit/8-bit.factor index 16fe052867..cb645379b8 100755 --- a/extra/io/encodings/8-bit/8-bit.factor +++ b/basis/io/encodings/8-bit/8-bit.factor @@ -30,7 +30,7 @@ IN: io.encodings.8-bit } ; : encoding-file ( file-name -- stream ) - "resource:extra/io/encodings/8-bit/" swap ".TXT" + "resource:basis/io/encodings/8-bit/" swap ".TXT" 3append ascii <file-reader> ; : process-contents ( lines -- assoc ) diff --git a/extra/io/encodings/8-bit/8859-1.TXT b/basis/io/encodings/8-bit/8859-1.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-1.TXT rename to basis/io/encodings/8-bit/8859-1.TXT diff --git a/extra/io/encodings/8-bit/8859-10.TXT b/basis/io/encodings/8-bit/8859-10.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-10.TXT rename to basis/io/encodings/8-bit/8859-10.TXT diff --git a/extra/io/encodings/8-bit/8859-11.TXT b/basis/io/encodings/8-bit/8859-11.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-11.TXT rename to basis/io/encodings/8-bit/8859-11.TXT diff --git a/extra/io/encodings/8-bit/8859-13.TXT b/basis/io/encodings/8-bit/8859-13.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-13.TXT rename to basis/io/encodings/8-bit/8859-13.TXT diff --git a/extra/io/encodings/8-bit/8859-14.TXT b/basis/io/encodings/8-bit/8859-14.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-14.TXT rename to basis/io/encodings/8-bit/8859-14.TXT diff --git a/extra/io/encodings/8-bit/8859-15.TXT b/basis/io/encodings/8-bit/8859-15.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-15.TXT rename to basis/io/encodings/8-bit/8859-15.TXT diff --git a/extra/io/encodings/8-bit/8859-16.TXT b/basis/io/encodings/8-bit/8859-16.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-16.TXT rename to basis/io/encodings/8-bit/8859-16.TXT diff --git a/extra/io/encodings/8-bit/8859-2.TXT b/basis/io/encodings/8-bit/8859-2.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-2.TXT rename to basis/io/encodings/8-bit/8859-2.TXT diff --git a/extra/io/encodings/8-bit/8859-3.TXT b/basis/io/encodings/8-bit/8859-3.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-3.TXT rename to basis/io/encodings/8-bit/8859-3.TXT diff --git a/extra/io/encodings/8-bit/8859-4.TXT b/basis/io/encodings/8-bit/8859-4.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-4.TXT rename to basis/io/encodings/8-bit/8859-4.TXT diff --git a/extra/io/encodings/8-bit/8859-5.TXT b/basis/io/encodings/8-bit/8859-5.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-5.TXT rename to basis/io/encodings/8-bit/8859-5.TXT diff --git a/extra/io/encodings/8-bit/8859-6.TXT b/basis/io/encodings/8-bit/8859-6.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-6.TXT rename to basis/io/encodings/8-bit/8859-6.TXT diff --git a/extra/io/encodings/8-bit/8859-7.TXT b/basis/io/encodings/8-bit/8859-7.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-7.TXT rename to basis/io/encodings/8-bit/8859-7.TXT diff --git a/extra/io/encodings/8-bit/8859-8.TXT b/basis/io/encodings/8-bit/8859-8.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-8.TXT rename to basis/io/encodings/8-bit/8859-8.TXT diff --git a/extra/io/encodings/8-bit/8859-9.TXT b/basis/io/encodings/8-bit/8859-9.TXT similarity index 100% rename from extra/io/encodings/8-bit/8859-9.TXT rename to basis/io/encodings/8-bit/8859-9.TXT diff --git a/extra/io/encodings/8-bit/CP037.TXT b/basis/io/encodings/8-bit/CP037.TXT similarity index 100% rename from extra/io/encodings/8-bit/CP037.TXT rename to basis/io/encodings/8-bit/CP037.TXT diff --git a/extra/io/encodings/8-bit/CP1252.TXT b/basis/io/encodings/8-bit/CP1252.TXT similarity index 100% rename from extra/io/encodings/8-bit/CP1252.TXT rename to basis/io/encodings/8-bit/CP1252.TXT diff --git a/extra/io/encodings/8-bit/KOI8-R.TXT b/basis/io/encodings/8-bit/KOI8-R.TXT similarity index 100% rename from extra/io/encodings/8-bit/KOI8-R.TXT rename to basis/io/encodings/8-bit/KOI8-R.TXT diff --git a/extra/io/encodings/8-bit/ROMAN.TXT b/basis/io/encodings/8-bit/ROMAN.TXT similarity index 100% rename from extra/io/encodings/8-bit/ROMAN.TXT rename to basis/io/encodings/8-bit/ROMAN.TXT diff --git a/extra/delegate/protocols/authors.txt b/basis/io/encodings/8-bit/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/delegate/protocols/authors.txt rename to basis/io/encodings/8-bit/authors.txt diff --git a/extra/io/encodings/8-bit/summary.txt b/basis/io/encodings/8-bit/summary.txt similarity index 100% rename from extra/io/encodings/8-bit/summary.txt rename to basis/io/encodings/8-bit/summary.txt diff --git a/extra/ascii/tags.txt b/basis/io/encodings/8-bit/tags.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/ascii/tags.txt rename to basis/io/encodings/8-bit/tags.txt diff --git a/extra/io/encodings/ascii/ascii-docs.factor b/basis/io/encodings/ascii/ascii-docs.factor similarity index 100% rename from extra/io/encodings/ascii/ascii-docs.factor rename to basis/io/encodings/ascii/ascii-docs.factor diff --git a/extra/io/encodings/ascii/ascii-tests.factor b/basis/io/encodings/ascii/ascii-tests.factor similarity index 100% rename from extra/io/encodings/ascii/ascii-tests.factor rename to basis/io/encodings/ascii/ascii-tests.factor diff --git a/extra/io/encodings/ascii/ascii.factor b/basis/io/encodings/ascii/ascii.factor similarity index 100% rename from extra/io/encodings/ascii/ascii.factor rename to basis/io/encodings/ascii/ascii.factor diff --git a/extra/hash2/authors.txt b/basis/io/encodings/ascii/authors.txt similarity index 100% rename from extra/hash2/authors.txt rename to basis/io/encodings/ascii/authors.txt diff --git a/extra/io/encodings/ascii/summary.txt b/basis/io/encodings/ascii/summary.txt similarity index 100% rename from extra/io/encodings/ascii/summary.txt rename to basis/io/encodings/ascii/summary.txt diff --git a/extra/io/encodings/8-bit/tags.txt b/basis/io/encodings/ascii/tags.txt similarity index 100% rename from extra/io/encodings/8-bit/tags.txt rename to basis/io/encodings/ascii/tags.txt diff --git a/extra/io/encodings/8-bit/authors.txt b/basis/io/encodings/iana/authors.txt similarity index 100% rename from extra/io/encodings/8-bit/authors.txt rename to basis/io/encodings/iana/authors.txt diff --git a/extra/io/encodings/iana/character-sets b/basis/io/encodings/iana/character-sets similarity index 100% rename from extra/io/encodings/iana/character-sets rename to basis/io/encodings/iana/character-sets diff --git a/extra/io/encodings/iana/iana-docs.factor b/basis/io/encodings/iana/iana-docs.factor similarity index 100% rename from extra/io/encodings/iana/iana-docs.factor rename to basis/io/encodings/iana/iana-docs.factor diff --git a/extra/io/encodings/iana/iana-tests.factor b/basis/io/encodings/iana/iana-tests.factor similarity index 100% rename from extra/io/encodings/iana/iana-tests.factor rename to basis/io/encodings/iana/iana-tests.factor diff --git a/extra/io/encodings/iana/iana.factor b/basis/io/encodings/iana/iana.factor similarity index 96% rename from extra/io/encodings/iana/iana.factor rename to basis/io/encodings/iana/iana.factor index 4368360a4d..dcd806d9a0 100755 --- a/extra/io/encodings/iana/iana.factor +++ b/basis/io/encodings/iana/iana.factor @@ -58,5 +58,5 @@ PRIVATE> ] each ] H{ } make-assoc more-aliases assoc-union ; PRIVATE> -"resource:extra/io/encodings/iana/character-sets" +"resource:basis/io/encodings/iana/character-sets" ascii <file-reader> make-n>e \ n>e-table set-value diff --git a/extra/io/encodings/iana/summary.txt b/basis/io/encodings/iana/summary.txt similarity index 100% rename from extra/io/encodings/iana/summary.txt rename to basis/io/encodings/iana/summary.txt diff --git a/extra/io/encodings/ascii/authors.txt b/basis/io/encodings/strict/authors.txt similarity index 100% rename from extra/io/encodings/ascii/authors.txt rename to basis/io/encodings/strict/authors.txt diff --git a/extra/io/encodings/strict/strict-docs.factor b/basis/io/encodings/strict/strict-docs.factor similarity index 100% rename from extra/io/encodings/strict/strict-docs.factor rename to basis/io/encodings/strict/strict-docs.factor diff --git a/extra/io/encodings/strict/strict-tests.factor b/basis/io/encodings/strict/strict-tests.factor similarity index 100% rename from extra/io/encodings/strict/strict-tests.factor rename to basis/io/encodings/strict/strict-tests.factor diff --git a/extra/io/encodings/strict/strict.factor b/basis/io/encodings/strict/strict.factor similarity index 100% rename from extra/io/encodings/strict/strict.factor rename to basis/io/encodings/strict/strict.factor diff --git a/extra/io/encodings/strict/summary.txt b/basis/io/encodings/strict/summary.txt similarity index 100% rename from extra/io/encodings/strict/summary.txt rename to basis/io/encodings/strict/summary.txt diff --git a/extra/io/encodings/ascii/tags.txt b/basis/io/encodings/strict/tags.txt similarity index 100% rename from extra/io/encodings/ascii/tags.txt rename to basis/io/encodings/strict/tags.txt diff --git a/extra/io/encodings/iana/authors.txt b/basis/io/encodings/string/authors.txt similarity index 100% rename from extra/io/encodings/iana/authors.txt rename to basis/io/encodings/string/authors.txt diff --git a/core/io/encodings/string/string-docs.factor b/basis/io/encodings/string/string-docs.factor similarity index 100% rename from core/io/encodings/string/string-docs.factor rename to basis/io/encodings/string/string-docs.factor diff --git a/core/io/encodings/string/string-tests.factor b/basis/io/encodings/string/string-tests.factor similarity index 100% rename from core/io/encodings/string/string-tests.factor rename to basis/io/encodings/string/string-tests.factor diff --git a/core/io/encodings/string/string.factor b/basis/io/encodings/string/string.factor similarity index 100% rename from core/io/encodings/string/string.factor rename to basis/io/encodings/string/string.factor diff --git a/core/io/encodings/string/summary.txt b/basis/io/encodings/string/summary.txt similarity index 100% rename from core/io/encodings/string/summary.txt rename to basis/io/encodings/string/summary.txt diff --git a/core/io/encodings/string/tags.factor b/basis/io/encodings/string/tags.factor similarity index 100% rename from core/io/encodings/string/tags.factor rename to basis/io/encodings/string/tags.factor diff --git a/core/io/encodings/utf16/.utf16.factor.swo b/basis/io/encodings/utf16/.utf16.factor.swo similarity index 100% rename from core/io/encodings/utf16/.utf16.factor.swo rename to basis/io/encodings/utf16/.utf16.factor.swo diff --git a/extra/io/encodings/strict/authors.txt b/basis/io/encodings/utf16/authors.txt similarity index 100% rename from extra/io/encodings/strict/authors.txt rename to basis/io/encodings/utf16/authors.txt diff --git a/core/io/encodings/utf16/summary.txt b/basis/io/encodings/utf16/summary.txt similarity index 100% rename from core/io/encodings/utf16/summary.txt rename to basis/io/encodings/utf16/summary.txt diff --git a/extra/io/encodings/strict/tags.txt b/basis/io/encodings/utf16/tags.txt similarity index 100% rename from extra/io/encodings/strict/tags.txt rename to basis/io/encodings/utf16/tags.txt diff --git a/core/io/encodings/utf16/utf16-docs.factor b/basis/io/encodings/utf16/utf16-docs.factor similarity index 100% rename from core/io/encodings/utf16/utf16-docs.factor rename to basis/io/encodings/utf16/utf16-docs.factor diff --git a/core/io/encodings/utf16/utf16-tests.factor b/basis/io/encodings/utf16/utf16-tests.factor similarity index 100% rename from core/io/encodings/utf16/utf16-tests.factor rename to basis/io/encodings/utf16/utf16-tests.factor diff --git a/core/io/encodings/utf16/utf16.factor b/basis/io/encodings/utf16/utf16.factor similarity index 95% rename from core/io/encodings/utf16/utf16.factor rename to basis/io/encodings/utf16/utf16.factor index 80706233db..037087e452 100755 --- a/core/io/encodings/utf16/utf16.factor +++ b/basis/io/encodings/utf16/utf16.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2006, 2008 Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. USING: math kernel sequences sbufs vectors namespaces io.binary -io.encodings combinators splitting io byte-arrays summary ; +io.encodings combinators splitting io byte-arrays ; IN: io.encodings.utf16 SINGLETON: utf16be @@ -10,6 +10,8 @@ SINGLETON: utf16le SINGLETON: utf16 +ERROR: missing-bom ; + <PRIVATE ! UTF-16BE decoding @@ -107,9 +109,6 @@ M: utf16le encode-char ( char stream encoding -- ) : start-utf16be? ( seq1 -- seq2 ? ) bom-be ?head ; -TUPLE: missing-bom ; -M: missing-bom summary drop "The BOM for a UTF-16 stream was missing" ; - : bom>le/be ( bom -- le/be ) dup bom-le sequence= [ drop utf16le ] [ bom-be sequence= [ utf16be ] [ missing-bom ] if diff --git a/extra/io/launcher/authors.txt b/basis/io/launcher/authors.txt similarity index 100% rename from extra/io/launcher/authors.txt rename to basis/io/launcher/authors.txt diff --git a/extra/io/launcher/launcher-docs.factor b/basis/io/launcher/launcher-docs.factor similarity index 100% rename from extra/io/launcher/launcher-docs.factor rename to basis/io/launcher/launcher-docs.factor diff --git a/extra/io/launcher/launcher-tests.factor b/basis/io/launcher/launcher-tests.factor similarity index 100% rename from extra/io/launcher/launcher-tests.factor rename to basis/io/launcher/launcher-tests.factor diff --git a/extra/io/launcher/launcher.factor b/basis/io/launcher/launcher.factor similarity index 100% rename from extra/io/launcher/launcher.factor rename to basis/io/launcher/launcher.factor diff --git a/extra/io/launcher/summary.txt b/basis/io/launcher/summary.txt similarity index 100% rename from extra/io/launcher/summary.txt rename to basis/io/launcher/summary.txt diff --git a/extra/io/mmap/authors.txt b/basis/io/mmap/authors.txt similarity index 100% rename from extra/io/mmap/authors.txt rename to basis/io/mmap/authors.txt diff --git a/extra/io/mmap/mmap-docs.factor b/basis/io/mmap/mmap-docs.factor similarity index 100% rename from extra/io/mmap/mmap-docs.factor rename to basis/io/mmap/mmap-docs.factor diff --git a/extra/io/mmap/mmap-tests.factor b/basis/io/mmap/mmap-tests.factor similarity index 100% rename from extra/io/mmap/mmap-tests.factor rename to basis/io/mmap/mmap-tests.factor diff --git a/extra/io/mmap/mmap.factor b/basis/io/mmap/mmap.factor similarity index 100% rename from extra/io/mmap/mmap.factor rename to basis/io/mmap/mmap.factor diff --git a/extra/io/mmap/summary.txt b/basis/io/mmap/summary.txt similarity index 100% rename from extra/io/mmap/summary.txt rename to basis/io/mmap/summary.txt diff --git a/extra/cocoa/subclassing/authors.txt b/basis/io/monitors/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/cocoa/subclassing/authors.txt rename to basis/io/monitors/authors.txt diff --git a/extra/io/monitors/monitors-docs.factor b/basis/io/monitors/monitors-docs.factor similarity index 100% rename from extra/io/monitors/monitors-docs.factor rename to basis/io/monitors/monitors-docs.factor diff --git a/extra/io/monitors/monitors-tests.factor b/basis/io/monitors/monitors-tests.factor similarity index 100% rename from extra/io/monitors/monitors-tests.factor rename to basis/io/monitors/monitors-tests.factor diff --git a/extra/io/monitors/monitors.factor b/basis/io/monitors/monitors.factor similarity index 100% rename from extra/io/monitors/monitors.factor rename to basis/io/monitors/monitors.factor diff --git a/extra/io/monitors/recursive/recursive-tests.factor b/basis/io/monitors/recursive/recursive-tests.factor similarity index 100% rename from extra/io/monitors/recursive/recursive-tests.factor rename to basis/io/monitors/recursive/recursive-tests.factor diff --git a/extra/io/monitors/recursive/recursive.factor b/basis/io/monitors/recursive/recursive.factor similarity index 100% rename from extra/io/monitors/recursive/recursive.factor rename to basis/io/monitors/recursive/recursive.factor diff --git a/extra/io/monitors/summary.txt b/basis/io/monitors/summary.txt similarity index 100% rename from extra/io/monitors/summary.txt rename to basis/io/monitors/summary.txt diff --git a/extra/io/pipes/pipes-docs.factor b/basis/io/pipes/pipes-docs.factor similarity index 100% rename from extra/io/pipes/pipes-docs.factor rename to basis/io/pipes/pipes-docs.factor diff --git a/extra/io/pipes/pipes-tests.factor b/basis/io/pipes/pipes-tests.factor similarity index 100% rename from extra/io/pipes/pipes-tests.factor rename to basis/io/pipes/pipes-tests.factor diff --git a/extra/io/pipes/pipes.factor b/basis/io/pipes/pipes.factor similarity index 100% rename from extra/io/pipes/pipes.factor rename to basis/io/pipes/pipes.factor diff --git a/extra/cocoa/types/authors.txt b/basis/io/pools/authors.txt similarity index 100% rename from extra/cocoa/types/authors.txt rename to basis/io/pools/authors.txt diff --git a/extra/io/pools/pools-docs.factor b/basis/io/pools/pools-docs.factor similarity index 100% rename from extra/io/pools/pools-docs.factor rename to basis/io/pools/pools-docs.factor diff --git a/extra/io/pools/pools.factor b/basis/io/pools/pools.factor similarity index 100% rename from extra/io/pools/pools.factor rename to basis/io/pools/pools.factor diff --git a/extra/io/pools/summary.txt b/basis/io/pools/summary.txt similarity index 100% rename from extra/io/pools/summary.txt rename to basis/io/pools/summary.txt diff --git a/extra/io/pools/tags.txt b/basis/io/pools/tags.txt similarity index 100% rename from extra/io/pools/tags.txt rename to basis/io/pools/tags.txt diff --git a/extra/cocoa/views/authors.txt b/basis/io/ports/authors.txt similarity index 100% rename from extra/cocoa/views/authors.txt rename to basis/io/ports/authors.txt diff --git a/extra/io/ports/ports-docs.factor b/basis/io/ports/ports-docs.factor similarity index 100% rename from extra/io/ports/ports-docs.factor rename to basis/io/ports/ports-docs.factor diff --git a/extra/io/ports/ports.factor b/basis/io/ports/ports.factor similarity index 100% rename from extra/io/ports/ports.factor rename to basis/io/ports/ports.factor diff --git a/extra/io/ports/summary.txt b/basis/io/ports/summary.txt similarity index 100% rename from extra/io/ports/summary.txt rename to basis/io/ports/summary.txt diff --git a/extra/cocoa/windows/authors.txt b/basis/io/servers/connection/authors.txt similarity index 100% rename from extra/cocoa/windows/authors.txt rename to basis/io/servers/connection/authors.txt diff --git a/extra/io/servers/connection/connection-docs.factor b/basis/io/servers/connection/connection-docs.factor similarity index 100% rename from extra/io/servers/connection/connection-docs.factor rename to basis/io/servers/connection/connection-docs.factor diff --git a/extra/io/servers/connection/connection-tests.factor b/basis/io/servers/connection/connection-tests.factor similarity index 100% rename from extra/io/servers/connection/connection-tests.factor rename to basis/io/servers/connection/connection-tests.factor diff --git a/extra/io/servers/connection/connection.factor b/basis/io/servers/connection/connection.factor similarity index 100% rename from extra/io/servers/connection/connection.factor rename to basis/io/servers/connection/connection.factor diff --git a/extra/io/servers/connection/summary.txt b/basis/io/servers/connection/summary.txt similarity index 100% rename from extra/io/servers/connection/summary.txt rename to basis/io/servers/connection/summary.txt diff --git a/extra/io/servers/connection/tags.txt b/basis/io/servers/connection/tags.txt similarity index 100% rename from extra/io/servers/connection/tags.txt rename to basis/io/servers/connection/tags.txt diff --git a/extra/concurrency/exchangers/authors.txt b/basis/io/servers/packet/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/concurrency/exchangers/authors.txt rename to basis/io/servers/packet/authors.txt diff --git a/extra/io/servers/packet/datagram.factor b/basis/io/servers/packet/datagram.factor similarity index 100% rename from extra/io/servers/packet/datagram.factor rename to basis/io/servers/packet/datagram.factor diff --git a/extra/io/servers/packet/summary.txt b/basis/io/servers/packet/summary.txt similarity index 100% rename from extra/io/servers/packet/summary.txt rename to basis/io/servers/packet/summary.txt diff --git a/extra/io/servers/packet/tags.txt b/basis/io/servers/packet/tags.txt similarity index 100% rename from extra/io/servers/packet/tags.txt rename to basis/io/servers/packet/tags.txt diff --git a/extra/io/sockets/authors.txt b/basis/io/sockets/authors.txt similarity index 100% rename from extra/io/sockets/authors.txt rename to basis/io/sockets/authors.txt diff --git a/extra/concurrency/locks/authors.txt b/basis/io/sockets/secure/authors.txt similarity index 100% rename from extra/concurrency/locks/authors.txt rename to basis/io/sockets/secure/authors.txt diff --git a/extra/io/sockets/secure/secure-docs.factor b/basis/io/sockets/secure/secure-docs.factor similarity index 100% rename from extra/io/sockets/secure/secure-docs.factor rename to basis/io/sockets/secure/secure-docs.factor diff --git a/extra/io/sockets/secure/secure-tests.factor b/basis/io/sockets/secure/secure-tests.factor similarity index 69% rename from extra/io/sockets/secure/secure-tests.factor rename to basis/io/sockets/secure/secure-tests.factor index 311127e333..557bba52d2 100755 --- a/extra/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 ; [ ] [ <secure-config> - "resource:extra/openssl/test/server.pem" >>key-file - "resource:extra/openssl/test/dh1024.pem" >>dh-file + "resource:basis/openssl/test/server.pem" >>key-file + "resource:basis/openssl/test/dh1024.pem" >>dh-file "password" >>password [ ] with-secure-context ] unit-test diff --git a/extra/io/sockets/secure/secure.factor b/basis/io/sockets/secure/secure.factor similarity index 97% rename from extra/io/sockets/secure/secure.factor rename to basis/io/sockets/secure/secure.factor index d399163dd8..3e516dff8b 100755 --- a/extra/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:extra/openssl/cacert.pem" >>ca-file + "resource:basis/openssl/cacert.pem" >>ca-file t >>verify ; TUPLE: secure-context config handle disposed ; diff --git a/extra/io/sockets/secure/summary.txt b/basis/io/sockets/secure/summary.txt similarity index 100% rename from extra/io/sockets/secure/summary.txt rename to basis/io/sockets/secure/summary.txt diff --git a/extra/io/sockets/secure/tags.txt b/basis/io/sockets/secure/tags.txt similarity index 100% rename from extra/io/sockets/secure/tags.txt rename to basis/io/sockets/secure/tags.txt diff --git a/extra/io/sockets/sockets-docs.factor b/basis/io/sockets/sockets-docs.factor similarity index 100% rename from extra/io/sockets/sockets-docs.factor rename to basis/io/sockets/sockets-docs.factor diff --git a/extra/io/sockets/sockets-tests.factor b/basis/io/sockets/sockets-tests.factor similarity index 100% rename from extra/io/sockets/sockets-tests.factor rename to basis/io/sockets/sockets-tests.factor diff --git a/extra/io/sockets/sockets.factor b/basis/io/sockets/sockets.factor similarity index 100% rename from extra/io/sockets/sockets.factor rename to basis/io/sockets/sockets.factor diff --git a/extra/io/sockets/summary.txt b/basis/io/sockets/summary.txt similarity index 100% rename from extra/io/sockets/summary.txt rename to basis/io/sockets/summary.txt diff --git a/extra/io/sockets/tags.txt b/basis/io/sockets/tags.txt similarity index 100% rename from extra/io/sockets/tags.txt rename to basis/io/sockets/tags.txt diff --git a/extra/concurrency/semaphores/authors.txt b/basis/io/streams/duplex/authors.txt similarity index 100% rename from extra/concurrency/semaphores/authors.txt rename to basis/io/streams/duplex/authors.txt diff --git a/extra/io/streams/duplex/duplex-docs.factor b/basis/io/streams/duplex/duplex-docs.factor similarity index 100% rename from extra/io/streams/duplex/duplex-docs.factor rename to basis/io/streams/duplex/duplex-docs.factor diff --git a/extra/io/streams/duplex/duplex-tests.factor b/basis/io/streams/duplex/duplex-tests.factor similarity index 100% rename from extra/io/streams/duplex/duplex-tests.factor rename to basis/io/streams/duplex/duplex-tests.factor diff --git a/extra/io/streams/duplex/duplex.factor b/basis/io/streams/duplex/duplex.factor similarity index 100% rename from extra/io/streams/duplex/duplex.factor rename to basis/io/streams/duplex/duplex.factor diff --git a/extra/io/streams/duplex/summary.txt b/basis/io/streams/duplex/summary.txt similarity index 100% rename from extra/io/streams/duplex/summary.txt rename to basis/io/streams/duplex/summary.txt diff --git a/extra/io/streams/limited/limited-tests.factor b/basis/io/streams/limited/limited-tests.factor similarity index 100% rename from extra/io/streams/limited/limited-tests.factor rename to basis/io/streams/limited/limited-tests.factor diff --git a/extra/io/streams/limited/limited.factor b/basis/io/streams/limited/limited.factor similarity index 100% rename from extra/io/streams/limited/limited.factor rename to basis/io/streams/limited/limited.factor diff --git a/core/io/streams/memory/memory.factor b/basis/io/streams/memory/memory.factor similarity index 100% rename from core/io/streams/memory/memory.factor rename to basis/io/streams/memory/memory.factor diff --git a/extra/core-foundation/authors.txt b/basis/io/streams/null/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/core-foundation/authors.txt rename to basis/io/streams/null/authors.txt diff --git a/extra/io/streams/null/null.factor b/basis/io/streams/null/null.factor similarity index 100% rename from extra/io/streams/null/null.factor rename to basis/io/streams/null/null.factor diff --git a/extra/documents/authors.txt b/basis/io/styles/authors.txt similarity index 100% rename from extra/documents/authors.txt rename to basis/io/styles/authors.txt diff --git a/core/io/styles/styles-docs.factor b/basis/io/styles/styles-docs.factor similarity index 93% rename from core/io/styles/styles-docs.factor rename to basis/io/styles/styles-docs.factor index 43d93c86e7..48b72255a7 100644 --- a/core/io/styles/styles-docs.factor +++ b/basis/io/styles/styles-docs.factor @@ -24,8 +24,14 @@ ARTICLE: "table-styles" "Table styles" { $subsection table-gap } { $subsection table-border } ; +HELP: write-object +{ $values { "str" string } { "obj" "an object" } } +{ $description "Writes a string to " { $link output-stream } ", associating it with the object. If formatted output is supported, the string will become a clickable presentation of the object, otherwise this word behaves like a call to " { $link write } "." } +$io-error ; + ARTICLE: "presentations" "Presentations" -"The " { $link presented } " style can be used to emit clickable objects. The " { $link write-object } " word should be used instead of setting this directly." ; +"The " { $link presented } " style can be used to emit clickable objects. A utility word for outputting this style:" +{ $subsection write-object } ; ARTICLE: "styles" "Formatted output" "The " { $link stream-format } ", " { $link with-style } ", " { $link with-nesting } " and " { $link tabular-output } " words take a hashtable of style attributes. Output stream implementations are free to ignore style information." diff --git a/core/io/styles/styles.factor b/basis/io/styles/styles.factor similarity index 84% rename from core/io/styles/styles.factor rename to basis/io/styles/styles.factor index 4c19d87435..14827dc7a6 100644 --- a/core/io/styles/styles.factor +++ b/basis/io/styles/styles.factor @@ -1,5 +1,6 @@ -! Copyright (C) 2005, 2006 Slava Pestov. +! Copyright (C) 2005, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. +USING: hashtables io ; IN: io.styles SYMBOL: plain @@ -39,3 +40,5 @@ SYMBOL: table-border TUPLE: input string ; C: <input> input + +: write-object ( str obj -- ) presented associate format ; diff --git a/core/io/styles/summary.txt b/basis/io/styles/summary.txt similarity index 100% rename from core/io/styles/summary.txt rename to basis/io/styles/summary.txt diff --git a/core/io/thread/thread.factor b/basis/io/thread/thread.factor similarity index 100% rename from core/io/thread/thread.factor rename to basis/io/thread/thread.factor diff --git a/extra/io/timeouts/summary.txt b/basis/io/timeouts/summary.txt similarity index 100% rename from extra/io/timeouts/summary.txt rename to basis/io/timeouts/summary.txt diff --git a/extra/io/timeouts/timeouts-docs.factor b/basis/io/timeouts/timeouts-docs.factor similarity index 100% rename from extra/io/timeouts/timeouts-docs.factor rename to basis/io/timeouts/timeouts-docs.factor diff --git a/extra/io/timeouts/timeouts.factor b/basis/io/timeouts/timeouts.factor similarity index 100% rename from extra/io/timeouts/timeouts.factor rename to basis/io/timeouts/timeouts.factor diff --git a/extra/editors/authors.txt b/basis/io/unix/authors.txt similarity index 100% rename from extra/editors/authors.txt rename to basis/io/unix/authors.txt diff --git a/extra/editors/jedit/authors.txt b/basis/io/unix/backend/authors.txt similarity index 100% rename from extra/editors/jedit/authors.txt rename to basis/io/unix/backend/authors.txt diff --git a/extra/io/unix/backend/backend.factor b/basis/io/unix/backend/backend.factor similarity index 100% rename from extra/io/unix/backend/backend.factor rename to basis/io/unix/backend/backend.factor diff --git a/extra/io/unix/backend/summary.txt b/basis/io/unix/backend/summary.txt similarity index 100% rename from extra/io/unix/backend/summary.txt rename to basis/io/unix/backend/summary.txt diff --git a/basis/io/unix/backend/tags.txt b/basis/io/unix/backend/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/backend/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/float-arrays/authors.txt b/basis/io/unix/bsd/authors.txt similarity index 100% rename from extra/float-arrays/authors.txt rename to basis/io/unix/bsd/authors.txt diff --git a/extra/io/unix/bsd/bsd.factor b/basis/io/unix/bsd/bsd.factor similarity index 100% rename from extra/io/unix/bsd/bsd.factor rename to basis/io/unix/bsd/bsd.factor diff --git a/basis/io/unix/bsd/tags.txt b/basis/io/unix/bsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/bsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/freetype/authors.txt b/basis/io/unix/epoll/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/freetype/authors.txt rename to basis/io/unix/epoll/authors.txt diff --git a/extra/io/unix/epoll/epoll.factor b/basis/io/unix/epoll/epoll.factor similarity index 100% rename from extra/io/unix/epoll/epoll.factor rename to basis/io/unix/epoll/epoll.factor diff --git a/basis/io/unix/epoll/tags.txt b/basis/io/unix/epoll/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/epoll/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/authors.txt b/basis/io/unix/files/authors.txt similarity index 100% rename from extra/help/authors.txt rename to basis/io/unix/files/authors.txt diff --git a/extra/io/unix/files/files-tests.factor b/basis/io/unix/files/files-tests.factor similarity index 100% rename from extra/io/unix/files/files-tests.factor rename to basis/io/unix/files/files-tests.factor diff --git a/extra/io/unix/files/files.factor b/basis/io/unix/files/files.factor similarity index 100% rename from extra/io/unix/files/files.factor rename to basis/io/unix/files/files.factor diff --git a/extra/io/unix/files/summary.txt b/basis/io/unix/files/summary.txt similarity index 100% rename from extra/io/unix/files/summary.txt rename to basis/io/unix/files/summary.txt diff --git a/basis/io/unix/files/tags.txt b/basis/io/unix/files/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/files/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/io/unix/files/unique/tags.txt b/basis/io/unix/files/unique/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/files/unique/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/files/unique/unique.factor b/basis/io/unix/files/unique/unique.factor similarity index 100% rename from extra/io/unix/files/unique/unique.factor rename to basis/io/unix/files/unique/unique.factor diff --git a/extra/io/unix/freebsd/freebsd.factor b/basis/io/unix/freebsd/freebsd.factor similarity index 100% rename from extra/io/unix/freebsd/freebsd.factor rename to basis/io/unix/freebsd/freebsd.factor diff --git a/basis/io/unix/freebsd/tags.txt b/basis/io/unix/freebsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/freebsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/cookbook/authors.txt b/basis/io/unix/kqueue/authors.txt similarity index 100% rename from extra/help/cookbook/authors.txt rename to basis/io/unix/kqueue/authors.txt diff --git a/extra/io/unix/kqueue/kqueue.factor b/basis/io/unix/kqueue/kqueue.factor similarity index 100% rename from extra/io/unix/kqueue/kqueue.factor rename to basis/io/unix/kqueue/kqueue.factor diff --git a/basis/io/unix/kqueue/tags.txt b/basis/io/unix/kqueue/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/kqueue/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/crossref/authors.txt b/basis/io/unix/launcher/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/help/crossref/authors.txt rename to basis/io/unix/launcher/authors.txt diff --git a/extra/io/unix/launcher/launcher-tests.factor b/basis/io/unix/launcher/launcher-tests.factor similarity index 100% rename from extra/io/unix/launcher/launcher-tests.factor rename to basis/io/unix/launcher/launcher-tests.factor diff --git a/extra/io/unix/launcher/launcher.factor b/basis/io/unix/launcher/launcher.factor similarity index 100% rename from extra/io/unix/launcher/launcher.factor rename to basis/io/unix/launcher/launcher.factor diff --git a/extra/io/unix/launcher/parser/parser-tests.factor b/basis/io/unix/launcher/parser/parser-tests.factor similarity index 100% rename from extra/io/unix/launcher/parser/parser-tests.factor rename to basis/io/unix/launcher/parser/parser-tests.factor diff --git a/extra/io/unix/launcher/parser/parser.factor b/basis/io/unix/launcher/parser/parser.factor similarity index 100% rename from extra/io/unix/launcher/parser/parser.factor rename to basis/io/unix/launcher/parser/parser.factor diff --git a/basis/io/unix/launcher/parser/tags.txt b/basis/io/unix/launcher/parser/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/launcher/parser/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/io/unix/launcher/tags.txt b/basis/io/unix/launcher/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/launcher/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/definitions/authors.txt b/basis/io/unix/linux/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/help/definitions/authors.txt rename to basis/io/unix/linux/authors.txt diff --git a/extra/io/unix/linux/linux.factor b/basis/io/unix/linux/linux.factor similarity index 100% rename from extra/io/unix/linux/linux.factor rename to basis/io/unix/linux/linux.factor diff --git a/extra/io/unix/linux/monitors/monitors-tests.factor b/basis/io/unix/linux/monitors/monitors-tests.factor similarity index 100% rename from extra/io/unix/linux/monitors/monitors-tests.factor rename to basis/io/unix/linux/monitors/monitors-tests.factor diff --git a/extra/io/unix/linux/monitors/monitors.factor b/basis/io/unix/linux/monitors/monitors.factor similarity index 100% rename from extra/io/unix/linux/monitors/monitors.factor rename to basis/io/unix/linux/monitors/monitors.factor diff --git a/basis/io/unix/linux/monitors/tags.txt b/basis/io/unix/linux/monitors/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/linux/monitors/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/io/unix/linux/tags.txt b/basis/io/unix/linux/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/linux/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/macosx/macosx.factor b/basis/io/unix/macosx/macosx.factor similarity index 100% rename from extra/io/unix/macosx/macosx.factor rename to basis/io/unix/macosx/macosx.factor diff --git a/extra/io/unix/macosx/monitors/monitors.factor b/basis/io/unix/macosx/monitors/monitors.factor similarity index 100% rename from extra/io/unix/macosx/monitors/monitors.factor rename to basis/io/unix/macosx/monitors/monitors.factor diff --git a/basis/io/unix/macosx/monitors/tags.txt b/basis/io/unix/macosx/monitors/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/macosx/monitors/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/io/unix/macosx/tags.txt b/basis/io/unix/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/handbook/authors.txt b/basis/io/unix/mmap/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/help/handbook/authors.txt rename to basis/io/unix/mmap/authors.txt diff --git a/extra/io/unix/mmap/mmap.factor b/basis/io/unix/mmap/mmap.factor similarity index 100% rename from extra/io/unix/mmap/mmap.factor rename to basis/io/unix/mmap/mmap.factor diff --git a/basis/io/unix/mmap/tags.txt b/basis/io/unix/mmap/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/mmap/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/netbsd/netbsd.factor b/basis/io/unix/netbsd/netbsd.factor similarity index 100% rename from extra/io/unix/netbsd/netbsd.factor rename to basis/io/unix/netbsd/netbsd.factor diff --git a/basis/io/unix/netbsd/tags.txt b/basis/io/unix/netbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/netbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/openbsd/openbsd.factor b/basis/io/unix/openbsd/openbsd.factor similarity index 100% rename from extra/io/unix/openbsd/openbsd.factor rename to basis/io/unix/openbsd/openbsd.factor diff --git a/basis/io/unix/openbsd/tags.txt b/basis/io/unix/openbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/openbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/pipes/pipes-tests.factor b/basis/io/unix/pipes/pipes-tests.factor similarity index 100% rename from extra/io/unix/pipes/pipes-tests.factor rename to basis/io/unix/pipes/pipes-tests.factor diff --git a/extra/io/unix/pipes/pipes.factor b/basis/io/unix/pipes/pipes.factor similarity index 100% rename from extra/io/unix/pipes/pipes.factor rename to basis/io/unix/pipes/pipes.factor diff --git a/basis/io/unix/pipes/tags.txt b/basis/io/unix/pipes/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/pipes/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/lint/authors.txt b/basis/io/unix/select/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/help/lint/authors.txt rename to basis/io/unix/select/authors.txt diff --git a/extra/io/unix/select/select.factor b/basis/io/unix/select/select.factor similarity index 100% rename from extra/io/unix/select/select.factor rename to basis/io/unix/select/select.factor diff --git a/basis/io/unix/select/tags.txt b/basis/io/unix/select/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/select/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/help/markup/authors.txt b/basis/io/unix/sockets/authors.txt similarity index 100% rename from extra/help/markup/authors.txt rename to basis/io/unix/sockets/authors.txt diff --git a/extra/io/unix/sockets/secure/secure-tests.factor b/basis/io/unix/sockets/secure/secure-tests.factor similarity index 97% rename from extra/io/unix/sockets/secure/secure-tests.factor rename to basis/io/unix/sockets/secure/secure-tests.factor index 52bee63850..d2a1649686 100644 --- a/extra/io/unix/sockets/secure/secure-tests.factor +++ b/basis/io/unix/sockets/secure/secure-tests.factor @@ -11,8 +11,8 @@ concurrency.promises byte-arrays locals calendar io.timeouts ; : with-test-context ( quot -- ) <secure-config> - "resource:extra/openssl/test/server.pem" >>key-file - "resource:extra/openssl/test/dh1024.pem" >>dh-file + "resource:basis/openssl/test/server.pem" >>key-file + "resource:basis/openssl/test/dh1024.pem" >>dh-file "password" >>password swap with-secure-context ; inline diff --git a/extra/io/unix/sockets/secure/secure.factor b/basis/io/unix/sockets/secure/secure.factor similarity index 100% rename from extra/io/unix/sockets/secure/secure.factor rename to basis/io/unix/sockets/secure/secure.factor diff --git a/basis/io/unix/sockets/secure/tags.txt b/basis/io/unix/sockets/secure/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/sockets/secure/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/sockets/sockets.factor b/basis/io/unix/sockets/sockets.factor similarity index 100% rename from extra/io/unix/sockets/sockets.factor rename to basis/io/unix/sockets/sockets.factor diff --git a/extra/io/unix/sockets/summary.txt b/basis/io/unix/sockets/summary.txt similarity index 100% rename from extra/io/unix/sockets/summary.txt rename to basis/io/unix/sockets/summary.txt diff --git a/basis/io/unix/sockets/tags.txt b/basis/io/unix/sockets/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/sockets/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/summary.txt b/basis/io/unix/summary.txt similarity index 100% rename from extra/io/unix/summary.txt rename to basis/io/unix/summary.txt diff --git a/basis/io/unix/tags.txt b/basis/io/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/unix/unix-tests.factor b/basis/io/unix/unix-tests.factor similarity index 100% rename from extra/io/unix/unix-tests.factor rename to basis/io/unix/unix-tests.factor diff --git a/extra/io/unix/unix.factor b/basis/io/unix/unix.factor similarity index 100% rename from extra/io/unix/unix.factor rename to basis/io/unix/unix.factor diff --git a/extra/io/windows/authors.txt b/basis/io/windows/authors.txt similarity index 100% rename from extra/io/windows/authors.txt rename to basis/io/windows/authors.txt diff --git a/extra/io/windows/files/files.factor b/basis/io/windows/files/files.factor similarity index 100% rename from extra/io/windows/files/files.factor rename to basis/io/windows/files/files.factor diff --git a/basis/io/windows/files/tags.txt b/basis/io/windows/files/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/files/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/io/windows/files/unique/tags.txt b/basis/io/windows/files/unique/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/files/unique/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/files/unique/unique.factor b/basis/io/windows/files/unique/unique.factor similarity index 100% rename from extra/io/windows/files/unique/unique.factor rename to basis/io/windows/files/unique/unique.factor diff --git a/extra/io/windows/ce/files/authors.txt b/basis/io/windows/launcher/authors.txt similarity index 100% rename from extra/io/windows/ce/files/authors.txt rename to basis/io/windows/launcher/authors.txt diff --git a/extra/io/windows/launcher/launcher-tests.factor b/basis/io/windows/launcher/launcher-tests.factor similarity index 100% rename from extra/io/windows/launcher/launcher-tests.factor rename to basis/io/windows/launcher/launcher-tests.factor diff --git a/extra/io/windows/launcher/launcher.factor b/basis/io/windows/launcher/launcher.factor similarity index 100% rename from extra/io/windows/launcher/launcher.factor rename to basis/io/windows/launcher/launcher.factor diff --git a/basis/io/windows/launcher/tags.txt b/basis/io/windows/launcher/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/launcher/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/sockets/headers/authors.txt b/basis/io/windows/mmap/authors.txt similarity index 100% rename from extra/io/sockets/headers/authors.txt rename to basis/io/windows/mmap/authors.txt diff --git a/extra/io/windows/mmap/mmap-tests.factor b/basis/io/windows/mmap/mmap-tests.factor similarity index 100% rename from extra/io/windows/mmap/mmap-tests.factor rename to basis/io/windows/mmap/mmap-tests.factor diff --git a/extra/io/windows/mmap/mmap.factor b/basis/io/windows/mmap/mmap.factor similarity index 100% rename from extra/io/windows/mmap/mmap.factor rename to basis/io/windows/mmap/mmap.factor diff --git a/basis/io/windows/mmap/tags.txt b/basis/io/windows/mmap/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/mmap/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/authors.txt b/basis/io/windows/nt/authors.txt similarity index 100% rename from extra/io/windows/nt/authors.txt rename to basis/io/windows/nt/authors.txt diff --git a/extra/io/windows/ce/backend/authors.txt b/basis/io/windows/nt/backend/authors.txt similarity index 100% rename from extra/io/windows/ce/backend/authors.txt rename to basis/io/windows/nt/backend/authors.txt diff --git a/extra/io/windows/nt/backend/backend.factor b/basis/io/windows/nt/backend/backend.factor similarity index 100% rename from extra/io/windows/nt/backend/backend.factor rename to basis/io/windows/nt/backend/backend.factor diff --git a/basis/io/windows/nt/backend/tags.txt b/basis/io/windows/nt/backend/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/backend/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/backend/authors.txt b/basis/io/windows/nt/files/authors.txt similarity index 100% rename from extra/io/windows/nt/backend/authors.txt rename to basis/io/windows/nt/files/authors.txt diff --git a/extra/io/windows/nt/files/files-tests.factor b/basis/io/windows/nt/files/files-tests.factor similarity index 100% rename from extra/io/windows/nt/files/files-tests.factor rename to basis/io/windows/nt/files/files-tests.factor diff --git a/extra/io/windows/nt/files/files.factor b/basis/io/windows/nt/files/files.factor similarity index 100% rename from extra/io/windows/nt/files/files.factor rename to basis/io/windows/nt/files/files.factor diff --git a/basis/io/windows/nt/files/tags.txt b/basis/io/windows/nt/files/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/files/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/files/authors.txt b/basis/io/windows/nt/launcher/authors.txt similarity index 100% rename from extra/io/windows/nt/files/authors.txt rename to basis/io/windows/nt/launcher/authors.txt diff --git a/extra/io/windows/nt/launcher/launcher-tests.factor b/basis/io/windows/nt/launcher/launcher-tests.factor similarity index 85% rename from extra/io/windows/nt/launcher/launcher-tests.factor rename to basis/io/windows/nt/launcher/launcher-tests.factor index 254f845c48..d82871ec9e 100755 --- a/extra/io/windows/nt/launcher/launcher-tests.factor +++ b/basis/io/windows/nt/launcher/launcher-tests.factor @@ -41,7 +41,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "stderr.factor" 3array >>command "out.txt" temp-file >>stdout @@ -59,7 +59,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "stderr.factor" 3array >>command "out.txt" temp-file >>stdout @@ -73,7 +73,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ "output" ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "stderr.factor" 3array >>command "err2.txt" temp-file >>stderr @@ -86,7 +86,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ t ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "env.factor" 3array >>command ascii <process-reader> contents @@ -96,7 +96,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ t ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "env.factor" 3array >>command +replace-environment+ >>environment-mode @@ -108,7 +108,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ "B" ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "env.factor" 3array >>command { { "A" "B" } } >>environment @@ -119,7 +119,7 @@ sequences parser assocs hashtables math continuations ; ] unit-test [ f ] [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "env.factor" 3array >>command { { "HOME" "XXX" } } >>environment @@ -145,7 +145,7 @@ sequences parser assocs hashtables math continuations ; [ "Hello appender\r\nHello appender\r\n" ] [ 2 [ - "resource:extra/io/windows/nt/launcher/test" [ + "resource:basis/io/windows/nt/launcher/test" [ <process> vm "-script" "append.factor" 3array >>command "append-test" temp-file <appender> >>stdout diff --git a/extra/io/windows/nt/launcher/launcher.factor b/basis/io/windows/nt/launcher/launcher.factor similarity index 100% rename from extra/io/windows/nt/launcher/launcher.factor rename to basis/io/windows/nt/launcher/launcher.factor diff --git a/basis/io/windows/nt/launcher/tags.txt b/basis/io/windows/nt/launcher/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/launcher/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/launcher/test/append.factor b/basis/io/windows/nt/launcher/test/append.factor similarity index 100% rename from extra/io/windows/nt/launcher/test/append.factor rename to basis/io/windows/nt/launcher/test/append.factor diff --git a/extra/io/windows/nt/launcher/test/env.factor b/basis/io/windows/nt/launcher/test/env.factor similarity index 100% rename from extra/io/windows/nt/launcher/test/env.factor rename to basis/io/windows/nt/launcher/test/env.factor diff --git a/extra/io/windows/nt/launcher/test/stderr.factor b/basis/io/windows/nt/launcher/test/stderr.factor similarity index 100% rename from extra/io/windows/nt/launcher/test/stderr.factor rename to basis/io/windows/nt/launcher/test/stderr.factor diff --git a/extra/io/sockets/headers/bsd/authors.txt b/basis/io/windows/nt/monitors/authors.txt similarity index 100% rename from extra/io/sockets/headers/bsd/authors.txt rename to basis/io/windows/nt/monitors/authors.txt diff --git a/extra/io/windows/nt/monitors/monitors-tests.factor b/basis/io/windows/nt/monitors/monitors-tests.factor similarity index 100% rename from extra/io/windows/nt/monitors/monitors-tests.factor rename to basis/io/windows/nt/monitors/monitors-tests.factor diff --git a/extra/io/windows/nt/monitors/monitors.factor b/basis/io/windows/nt/monitors/monitors.factor similarity index 100% rename from extra/io/windows/nt/monitors/monitors.factor rename to basis/io/windows/nt/monitors/monitors.factor diff --git a/basis/io/windows/nt/monitors/tags.txt b/basis/io/windows/nt/monitors/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/monitors/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/nt.factor b/basis/io/windows/nt/nt.factor similarity index 100% rename from extra/io/windows/nt/nt.factor rename to basis/io/windows/nt/nt.factor diff --git a/extra/help/stylesheet/authors.txt b/basis/io/windows/nt/pipes/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/help/stylesheet/authors.txt rename to basis/io/windows/nt/pipes/authors.txt diff --git a/extra/io/windows/nt/pipes/pipes.factor b/basis/io/windows/nt/pipes/pipes.factor similarity index 100% rename from extra/io/windows/nt/pipes/pipes.factor rename to basis/io/windows/nt/pipes/pipes.factor diff --git a/basis/io/windows/nt/pipes/tags.txt b/basis/io/windows/nt/pipes/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/pipes/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/privileges/privileges.factor b/basis/io/windows/nt/privileges/privileges.factor similarity index 100% rename from extra/io/windows/nt/privileges/privileges.factor rename to basis/io/windows/nt/privileges/privileges.factor diff --git a/basis/io/windows/nt/privileges/tags.txt b/basis/io/windows/nt/privileges/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/privileges/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/launcher/authors.txt b/basis/io/windows/nt/sockets/authors.txt similarity index 100% rename from extra/io/windows/nt/launcher/authors.txt rename to basis/io/windows/nt/sockets/authors.txt diff --git a/extra/io/windows/nt/sockets/sockets.factor b/basis/io/windows/nt/sockets/sockets.factor similarity index 100% rename from extra/io/windows/nt/sockets/sockets.factor rename to basis/io/windows/nt/sockets/sockets.factor diff --git a/basis/io/windows/nt/sockets/tags.txt b/basis/io/windows/nt/sockets/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/sockets/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/nt/summary.txt b/basis/io/windows/nt/summary.txt similarity index 100% rename from extra/io/windows/nt/summary.txt rename to basis/io/windows/nt/summary.txt diff --git a/basis/io/windows/nt/tags.txt b/basis/io/windows/nt/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/nt/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/privileges/privileges.factor b/basis/io/windows/privileges/privileges.factor similarity index 100% rename from extra/io/windows/privileges/privileges.factor rename to basis/io/windows/privileges/privileges.factor diff --git a/basis/io/windows/privileges/tags.txt b/basis/io/windows/privileges/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/privileges/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/sockets/sockets.factor b/basis/io/windows/sockets/sockets.factor similarity index 100% rename from extra/io/windows/sockets/sockets.factor rename to basis/io/windows/sockets/sockets.factor diff --git a/basis/io/windows/sockets/tags.txt b/basis/io/windows/sockets/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/io/windows/sockets/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/io/windows/summary.txt b/basis/io/windows/summary.txt similarity index 100% rename from extra/io/windows/summary.txt rename to basis/io/windows/summary.txt diff --git a/basis/io/windows/tags.txt b/basis/io/windows/tags.txt new file mode 100644 index 0000000000..02ec70f741 --- /dev/null +++ b/basis/io/windows/tags.txt @@ -0,0 +1,2 @@ +unportable +windows diff --git a/extra/io/windows/windows.factor b/basis/io/windows/windows.factor similarity index 100% rename from extra/io/windows/windows.factor rename to basis/io/windows/windows.factor diff --git a/extra/lcs/authors.txt b/basis/lcs/authors.txt similarity index 100% rename from extra/lcs/authors.txt rename to basis/lcs/authors.txt diff --git a/extra/lcs/diff2html/diff2html.factor b/basis/lcs/diff2html/diff2html.factor similarity index 100% rename from extra/lcs/diff2html/diff2html.factor rename to basis/lcs/diff2html/diff2html.factor diff --git a/extra/lcs/lcs-docs.factor b/basis/lcs/lcs-docs.factor similarity index 100% rename from extra/lcs/lcs-docs.factor rename to basis/lcs/lcs-docs.factor diff --git a/extra/lcs/lcs-tests.factor b/basis/lcs/lcs-tests.factor similarity index 100% rename from extra/lcs/lcs-tests.factor rename to basis/lcs/lcs-tests.factor diff --git a/extra/lcs/lcs.factor b/basis/lcs/lcs.factor similarity index 100% rename from extra/lcs/lcs.factor rename to basis/lcs/lcs.factor diff --git a/extra/lcs/summary.txt b/basis/lcs/summary.txt similarity index 100% rename from extra/lcs/summary.txt rename to basis/lcs/summary.txt diff --git a/extra/lcs/tags.txt b/basis/lcs/tags.txt similarity index 100% rename from extra/lcs/tags.txt rename to basis/lcs/tags.txt diff --git a/extra/help/syntax/authors.txt b/basis/libc/authors.txt similarity index 100% rename from extra/help/syntax/authors.txt rename to basis/libc/authors.txt diff --git a/core/libc/libc-docs.factor b/basis/libc/libc-docs.factor similarity index 100% rename from core/libc/libc-docs.factor rename to basis/libc/libc-docs.factor diff --git a/core/libc/libc-tests.factor b/basis/libc/libc-tests.factor similarity index 62% rename from core/libc/libc-tests.factor rename to basis/libc/libc-tests.factor index 249399bdd0..b00463127f 100755 --- a/core/libc/libc-tests.factor +++ b/basis/libc/libc-tests.factor @@ -4,8 +4,8 @@ destructors kernel ; 100 malloc "block" set -[ t ] [ "block" get mallocs get key? ] unit-test +[ t ] [ "block" get mallocs key? ] unit-test [ ] [ [ "block" get &free drop ] with-destructors ] unit-test -[ f ] [ "block" get mallocs get key? ] unit-test +[ f ] [ "block" get mallocs key? ] unit-test diff --git a/core/libc/libc.factor b/basis/libc/libc.factor similarity index 84% rename from core/libc/libc.factor rename to basis/libc/libc.factor index cda5260397..627caa7b77 100755 --- a/core/libc/libc.factor +++ b/basis/libc/libc.factor @@ -2,7 +2,7 @@ ! Copyright (C) 2007, 2008 Slava Pestov ! Copyright (C) 2007, 2008 Doug Coleman ! See http://factorcode.org/license.txt for BSD license. -USING: alien assocs continuations destructors init kernel +USING: alien assocs continuations destructors kernel namespaces accessors sets ; IN: libc @@ -20,7 +20,15 @@ IN: libc : (realloc) ( alien size -- newalien ) "void*" "libc" "realloc" { "void*" "ulong" } alien-invoke ; -SYMBOL: mallocs +SYMBOL: malloc-expiry + +: mallocs ( -- assoc ) + malloc-expiry get-global expired? [ + -1 <alien> malloc-expiry set-global + H{ } clone dup \ mallocs set-global + ] [ + \ mallocs get-global + ] if ; PRIVATE> @@ -35,19 +43,17 @@ ERROR: realloc-error ptr size ; <PRIVATE -[ H{ } clone mallocs set-global ] "libc" add-init-hook - : add-malloc ( alien -- ) - mallocs get-global conjoin ; + mallocs conjoin ; : delete-malloc ( alien -- ) [ - mallocs get-global delete-at* + mallocs delete-at* [ double-free ] unless drop ] when* ; : malloc-exists? ( alien -- ? ) - mallocs get-global key? ; + mallocs key? ; PRIVATE> diff --git a/core/libc/summary.txt b/basis/libc/summary.txt similarity index 100% rename from core/libc/summary.txt rename to basis/libc/summary.txt diff --git a/extra/cocoa/tags.txt b/basis/libc/tags.txt similarity index 100% rename from extra/cocoa/tags.txt rename to basis/libc/tags.txt diff --git a/extra/help/topics/authors.txt b/basis/listener/authors.txt similarity index 100% rename from extra/help/topics/authors.txt rename to basis/listener/authors.txt diff --git a/core/listener/listener-docs.factor b/basis/listener/listener-docs.factor similarity index 100% rename from core/listener/listener-docs.factor rename to basis/listener/listener-docs.factor diff --git a/core/listener/listener-tests.factor b/basis/listener/listener-tests.factor similarity index 98% rename from core/listener/listener-tests.factor rename to basis/listener/listener-tests.factor index 24449049e0..e681bac314 100755 --- a/core/listener/listener-tests.factor +++ b/basis/listener/listener-tests.factor @@ -1,6 +1,6 @@ USING: io io.streams.string io.streams.duplex listener tools.test parser math namespaces continuations vocabs kernel -compiler.units ; +compiler.units eval ; IN: listener.tests : hello "Hi" print ; parsing diff --git a/core/listener/listener.factor b/basis/listener/listener.factor similarity index 100% rename from core/listener/listener.factor rename to basis/listener/listener.factor diff --git a/core/listener/summary.txt b/basis/listener/summary.txt similarity index 100% rename from core/listener/summary.txt rename to basis/listener/summary.txt diff --git a/extra/help/lint/tags.txt b/basis/listener/tags.txt similarity index 100% rename from extra/help/lint/tags.txt rename to basis/listener/tags.txt diff --git a/extra/help/tutorial/authors.txt b/basis/locals/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/help/tutorial/authors.txt rename to basis/locals/authors.txt diff --git a/extra/locals/backend/backend-tests.factor b/basis/locals/backend/backend-tests.factor similarity index 100% rename from extra/locals/backend/backend-tests.factor rename to basis/locals/backend/backend-tests.factor diff --git a/extra/locals/backend/backend.factor b/basis/locals/backend/backend.factor similarity index 100% rename from extra/locals/backend/backend.factor rename to basis/locals/backend/backend.factor diff --git a/extra/locals/locals-docs.factor b/basis/locals/locals-docs.factor similarity index 100% rename from extra/locals/locals-docs.factor rename to basis/locals/locals-docs.factor diff --git a/extra/locals/locals-tests.factor b/basis/locals/locals-tests.factor similarity index 99% rename from extra/locals/locals-tests.factor rename to basis/locals/locals-tests.factor index 025e175bc2..23a1ee9284 100755 --- a/extra/locals/locals-tests.factor +++ b/basis/locals/locals-tests.factor @@ -1,6 +1,6 @@ USING: locals math sequences tools.test hashtables words kernel namespaces arrays strings prettyprint io.streams.string parser -accessors generic ; +accessors generic eval ; IN: locals.tests :: foo ( a b -- a a ) a a ; diff --git a/extra/locals/locals.factor b/basis/locals/locals.factor similarity index 100% rename from extra/locals/locals.factor rename to basis/locals/locals.factor diff --git a/extra/locals/summary.txt b/basis/locals/summary.txt similarity index 100% rename from extra/locals/summary.txt rename to basis/locals/summary.txt diff --git a/extra/locals/tags.txt b/basis/locals/tags.txt similarity index 100% rename from extra/locals/tags.txt rename to basis/locals/tags.txt diff --git a/extra/logging/analysis/analysis-docs.factor b/basis/logging/analysis/analysis-docs.factor similarity index 100% rename from extra/logging/analysis/analysis-docs.factor rename to basis/logging/analysis/analysis-docs.factor diff --git a/extra/logging/analysis/analysis.factor b/basis/logging/analysis/analysis.factor similarity index 100% rename from extra/logging/analysis/analysis.factor rename to basis/logging/analysis/analysis.factor diff --git a/extra/logging/analysis/authors.txt b/basis/logging/analysis/authors.txt similarity index 100% rename from extra/logging/analysis/authors.txt rename to basis/logging/analysis/authors.txt diff --git a/extra/logging/analysis/summary.txt b/basis/logging/analysis/summary.txt similarity index 100% rename from extra/logging/analysis/summary.txt rename to basis/logging/analysis/summary.txt diff --git a/extra/logging/analysis/tags.txt b/basis/logging/analysis/tags.txt similarity index 100% rename from extra/logging/analysis/tags.txt rename to basis/logging/analysis/tags.txt diff --git a/extra/logging/authors.txt b/basis/logging/authors.txt similarity index 100% rename from extra/logging/authors.txt rename to basis/logging/authors.txt diff --git a/extra/logging/insomniac/authors.txt b/basis/logging/insomniac/authors.txt similarity index 100% rename from extra/logging/insomniac/authors.txt rename to basis/logging/insomniac/authors.txt diff --git a/extra/logging/insomniac/insomniac-docs.factor b/basis/logging/insomniac/insomniac-docs.factor similarity index 100% rename from extra/logging/insomniac/insomniac-docs.factor rename to basis/logging/insomniac/insomniac-docs.factor diff --git a/extra/logging/insomniac/insomniac.factor b/basis/logging/insomniac/insomniac.factor similarity index 100% rename from extra/logging/insomniac/insomniac.factor rename to basis/logging/insomniac/insomniac.factor diff --git a/extra/logging/insomniac/summary.txt b/basis/logging/insomniac/summary.txt similarity index 100% rename from extra/logging/insomniac/summary.txt rename to basis/logging/insomniac/summary.txt diff --git a/extra/logging/insomniac/tags.txt b/basis/logging/insomniac/tags.txt similarity index 100% rename from extra/logging/insomniac/tags.txt rename to basis/logging/insomniac/tags.txt diff --git a/extra/logging/logging-docs.factor b/basis/logging/logging-docs.factor similarity index 100% rename from extra/logging/logging-docs.factor rename to basis/logging/logging-docs.factor diff --git a/extra/logging/logging-tests.factor b/basis/logging/logging-tests.factor similarity index 100% rename from extra/logging/logging-tests.factor rename to basis/logging/logging-tests.factor diff --git a/extra/logging/logging.factor b/basis/logging/logging.factor similarity index 100% rename from extra/logging/logging.factor rename to basis/logging/logging.factor diff --git a/extra/logging/parser/authors.txt b/basis/logging/parser/authors.txt similarity index 100% rename from extra/logging/parser/authors.txt rename to basis/logging/parser/authors.txt diff --git a/extra/logging/parser/parser-docs.factor b/basis/logging/parser/parser-docs.factor similarity index 100% rename from extra/logging/parser/parser-docs.factor rename to basis/logging/parser/parser-docs.factor diff --git a/extra/logging/parser/parser.factor b/basis/logging/parser/parser.factor similarity index 100% rename from extra/logging/parser/parser.factor rename to basis/logging/parser/parser.factor diff --git a/extra/logging/parser/summary.txt b/basis/logging/parser/summary.txt similarity index 100% rename from extra/logging/parser/summary.txt rename to basis/logging/parser/summary.txt diff --git a/extra/logging/parser/tags.txt b/basis/logging/parser/tags.txt similarity index 100% rename from extra/logging/parser/tags.txt rename to basis/logging/parser/tags.txt diff --git a/extra/logging/server/authors.txt b/basis/logging/server/authors.txt similarity index 100% rename from extra/logging/server/authors.txt rename to basis/logging/server/authors.txt diff --git a/extra/logging/server/server-docs.factor b/basis/logging/server/server-docs.factor similarity index 100% rename from extra/logging/server/server-docs.factor rename to basis/logging/server/server-docs.factor diff --git a/extra/logging/server/server.factor b/basis/logging/server/server.factor similarity index 100% rename from extra/logging/server/server.factor rename to basis/logging/server/server.factor diff --git a/extra/logging/server/summary.txt b/basis/logging/server/summary.txt similarity index 100% rename from extra/logging/server/summary.txt rename to basis/logging/server/summary.txt diff --git a/extra/logging/server/tags.txt b/basis/logging/server/tags.txt similarity index 100% rename from extra/logging/server/tags.txt rename to basis/logging/server/tags.txt diff --git a/extra/logging/summary.txt b/basis/logging/summary.txt similarity index 100% rename from extra/logging/summary.txt rename to basis/logging/summary.txt diff --git a/extra/logging/tags.txt b/basis/logging/tags.txt similarity index 100% rename from extra/logging/tags.txt rename to basis/logging/tags.txt diff --git a/extra/hints/authors.txt b/basis/macros/authors.txt similarity index 100% rename from extra/hints/authors.txt rename to basis/macros/authors.txt diff --git a/extra/macros/macros-docs.factor b/basis/macros/macros-docs.factor similarity index 93% rename from extra/macros/macros-docs.factor rename to basis/macros/macros-docs.factor index 022458cc7c..6b54da0856 100644 --- a/extra/macros/macros-docs.factor +++ b/basis/macros/macros-docs.factor @@ -21,7 +21,7 @@ HELP: macro-expand { $values { "..." "inputs to a macro" } { "word" macro } { "quot" quotation } } { $description "Expands a macro. Useful for debugging." } { $examples - { $code "USING: math macros combinators.lib ;" "{ [ integer? ] [ 0 > ] [ 13 mod zero? ] } \ 1&& macro-expand ." } + { $code "USING: math macros combinators.short-circuit ;" "{ [ integer? ] [ 0 > ] [ 13 mod zero? ] } \ 1&& macro-expand ." } } ; ARTICLE: "macros" "Macros" diff --git a/extra/macros/macros-tests.factor b/basis/macros/macros-tests.factor similarity index 90% rename from extra/macros/macros-tests.factor rename to basis/macros/macros-tests.factor index 91527c2125..150fd9eeaa 100644 --- a/extra/macros/macros-tests.factor +++ b/basis/macros/macros-tests.factor @@ -1,6 +1,6 @@ IN: macros.tests USING: tools.test macros math kernel arrays -vectors io.streams.string prettyprint parser ; +vectors io.streams.string prettyprint parser eval ; MACRO: see-test ( a b -- c ) + ; diff --git a/extra/macros/macros.factor b/basis/macros/macros.factor similarity index 100% rename from extra/macros/macros.factor rename to basis/macros/macros.factor diff --git a/extra/macros/summary.txt b/basis/macros/summary.txt similarity index 100% rename from extra/macros/summary.txt rename to basis/macros/summary.txt diff --git a/extra/macros/tags.txt b/basis/macros/tags.txt similarity index 100% rename from extra/macros/tags.txt rename to basis/macros/tags.txt diff --git a/extra/io/buffers/authors.txt b/basis/math/bitfields/authors.txt similarity index 100% rename from extra/io/buffers/authors.txt rename to basis/math/bitfields/authors.txt diff --git a/core/math/bitfields/bitfields-docs.factor b/basis/math/bitfields/bitfields-docs.factor similarity index 100% rename from core/math/bitfields/bitfields-docs.factor rename to basis/math/bitfields/bitfields-docs.factor diff --git a/core/math/bitfields/bitfields-tests.factor b/basis/math/bitfields/bitfields-tests.factor similarity index 100% rename from core/math/bitfields/bitfields-tests.factor rename to basis/math/bitfields/bitfields-tests.factor diff --git a/core/math/bitfields/bitfields.factor b/basis/math/bitfields/bitfields.factor similarity index 100% rename from core/math/bitfields/bitfields.factor rename to basis/math/bitfields/bitfields.factor diff --git a/core/math/bitfields/summary.txt b/basis/math/bitfields/summary.txt similarity index 100% rename from core/math/bitfields/summary.txt rename to basis/math/bitfields/summary.txt diff --git a/extra/io/monitors/authors.txt b/basis/math/complex/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/monitors/authors.txt rename to basis/math/complex/authors.txt diff --git a/extra/math/complex/complex-docs.factor b/basis/math/complex/complex-docs.factor similarity index 100% rename from extra/math/complex/complex-docs.factor rename to basis/math/complex/complex-docs.factor diff --git a/extra/math/complex/complex-tests.factor b/basis/math/complex/complex-tests.factor similarity index 100% rename from extra/math/complex/complex-tests.factor rename to basis/math/complex/complex-tests.factor diff --git a/extra/math/complex/complex.factor b/basis/math/complex/complex.factor similarity index 100% rename from extra/math/complex/complex.factor rename to basis/math/complex/complex.factor diff --git a/extra/math/complex/summary.txt b/basis/math/complex/summary.txt similarity index 100% rename from extra/math/complex/summary.txt rename to basis/math/complex/summary.txt diff --git a/extra/io/pools/authors.txt b/basis/math/constants/authors.txt similarity index 100% rename from extra/io/pools/authors.txt rename to basis/math/constants/authors.txt diff --git a/extra/math/constants/constants-docs.factor b/basis/math/constants/constants-docs.factor similarity index 100% rename from extra/math/constants/constants-docs.factor rename to basis/math/constants/constants-docs.factor diff --git a/extra/math/constants/constants.factor b/basis/math/constants/constants.factor similarity index 100% rename from extra/math/constants/constants.factor rename to basis/math/constants/constants.factor diff --git a/extra/math/constants/summary.txt b/basis/math/constants/summary.txt similarity index 100% rename from extra/math/constants/summary.txt rename to basis/math/constants/summary.txt diff --git a/extra/io/ports/authors.txt b/basis/math/functions/authors.txt similarity index 100% rename from extra/io/ports/authors.txt rename to basis/math/functions/authors.txt diff --git a/extra/math/functions/functions-docs.factor b/basis/math/functions/functions-docs.factor similarity index 100% rename from extra/math/functions/functions-docs.factor rename to basis/math/functions/functions-docs.factor diff --git a/extra/math/functions/functions-tests.factor b/basis/math/functions/functions-tests.factor similarity index 100% rename from extra/math/functions/functions-tests.factor rename to basis/math/functions/functions-tests.factor diff --git a/extra/math/functions/functions.factor b/basis/math/functions/functions.factor similarity index 100% rename from extra/math/functions/functions.factor rename to basis/math/functions/functions.factor diff --git a/extra/math/functions/summary.txt b/basis/math/functions/summary.txt similarity index 100% rename from extra/math/functions/summary.txt rename to basis/math/functions/summary.txt diff --git a/extra/io/servers/connection/authors.txt b/basis/math/intervals/authors.txt similarity index 100% rename from extra/io/servers/connection/authors.txt rename to basis/math/intervals/authors.txt diff --git a/core/math/intervals/intervals-docs.factor b/basis/math/intervals/intervals-docs.factor similarity index 100% rename from core/math/intervals/intervals-docs.factor rename to basis/math/intervals/intervals-docs.factor diff --git a/core/math/intervals/intervals-tests.factor b/basis/math/intervals/intervals-tests.factor similarity index 100% rename from core/math/intervals/intervals-tests.factor rename to basis/math/intervals/intervals-tests.factor diff --git a/core/math/intervals/intervals.factor b/basis/math/intervals/intervals.factor similarity index 100% rename from core/math/intervals/intervals.factor rename to basis/math/intervals/intervals.factor diff --git a/core/math/intervals/summary.txt b/basis/math/intervals/summary.txt similarity index 100% rename from core/math/intervals/summary.txt rename to basis/math/intervals/summary.txt diff --git a/extra/io/servers/packet/authors.txt b/basis/math/libm/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/servers/packet/authors.txt rename to basis/math/libm/authors.txt diff --git a/extra/math/libm/libm-docs.factor b/basis/math/libm/libm-docs.factor similarity index 100% rename from extra/math/libm/libm-docs.factor rename to basis/math/libm/libm-docs.factor diff --git a/extra/math/libm/libm.factor b/basis/math/libm/libm.factor similarity index 100% rename from extra/math/libm/libm.factor rename to basis/math/libm/libm.factor diff --git a/extra/math/libm/summary.txt b/basis/math/libm/summary.txt similarity index 100% rename from extra/math/libm/summary.txt rename to basis/math/libm/summary.txt diff --git a/extra/core-foundation/tags.txt b/basis/math/libm/tags.txt similarity index 100% rename from extra/core-foundation/tags.txt rename to basis/math/libm/tags.txt diff --git a/extra/math/ranges/authors.txt b/basis/math/ranges/authors.txt similarity index 100% rename from extra/math/ranges/authors.txt rename to basis/math/ranges/authors.txt diff --git a/extra/math/ranges/ranges-docs.factor b/basis/math/ranges/ranges-docs.factor similarity index 100% rename from extra/math/ranges/ranges-docs.factor rename to basis/math/ranges/ranges-docs.factor diff --git a/extra/math/ranges/ranges-tests.factor b/basis/math/ranges/ranges-tests.factor similarity index 100% rename from extra/math/ranges/ranges-tests.factor rename to basis/math/ranges/ranges-tests.factor diff --git a/extra/math/ranges/ranges.factor b/basis/math/ranges/ranges.factor similarity index 100% rename from extra/math/ranges/ranges.factor rename to basis/math/ranges/ranges.factor diff --git a/extra/math/ranges/summary.txt b/basis/math/ranges/summary.txt similarity index 100% rename from extra/math/ranges/summary.txt rename to basis/math/ranges/summary.txt diff --git a/extra/io/sockets/secure/authors.txt b/basis/math/ratios/authors.txt similarity index 100% rename from extra/io/sockets/secure/authors.txt rename to basis/math/ratios/authors.txt diff --git a/extra/math/ratios/ratios-docs.factor b/basis/math/ratios/ratios-docs.factor similarity index 100% rename from extra/math/ratios/ratios-docs.factor rename to basis/math/ratios/ratios-docs.factor diff --git a/extra/math/ratios/ratios-tests.factor b/basis/math/ratios/ratios-tests.factor similarity index 100% rename from extra/math/ratios/ratios-tests.factor rename to basis/math/ratios/ratios-tests.factor diff --git a/extra/math/ratios/ratios.factor b/basis/math/ratios/ratios.factor similarity index 100% rename from extra/math/ratios/ratios.factor rename to basis/math/ratios/ratios.factor diff --git a/extra/math/ratios/summary.txt b/basis/math/ratios/summary.txt similarity index 100% rename from extra/math/ratios/summary.txt rename to basis/math/ratios/summary.txt diff --git a/extra/io/streams/duplex/authors.txt b/basis/math/vectors/authors.txt similarity index 100% rename from extra/io/streams/duplex/authors.txt rename to basis/math/vectors/authors.txt diff --git a/extra/math/vectors/summary.txt b/basis/math/vectors/summary.txt similarity index 100% rename from extra/math/vectors/summary.txt rename to basis/math/vectors/summary.txt diff --git a/extra/math/vectors/vectors-docs.factor b/basis/math/vectors/vectors-docs.factor similarity index 100% rename from extra/math/vectors/vectors-docs.factor rename to basis/math/vectors/vectors-docs.factor diff --git a/extra/math/vectors/vectors-tests.factor b/basis/math/vectors/vectors-tests.factor similarity index 100% rename from extra/math/vectors/vectors-tests.factor rename to basis/math/vectors/vectors-tests.factor diff --git a/extra/math/vectors/vectors.factor b/basis/math/vectors/vectors.factor similarity index 100% rename from extra/math/vectors/vectors.factor rename to basis/math/vectors/vectors.factor diff --git a/extra/memoize/authors.txt b/basis/memoize/authors.txt similarity index 100% rename from extra/memoize/authors.txt rename to basis/memoize/authors.txt diff --git a/extra/memoize/memoize-docs.factor b/basis/memoize/memoize-docs.factor similarity index 100% rename from extra/memoize/memoize-docs.factor rename to basis/memoize/memoize-docs.factor diff --git a/extra/memoize/memoize-tests.factor b/basis/memoize/memoize-tests.factor similarity index 94% rename from extra/memoize/memoize-tests.factor rename to basis/memoize/memoize-tests.factor index c2592b38ca..1f819d281d 100644 --- a/extra/memoize/memoize-tests.factor +++ b/basis/memoize/memoize-tests.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. USING: math kernel memoize tools.test parser -prettyprint io.streams.string sequences ; +prettyprint io.streams.string sequences eval ; IN: memoize.tests MEMO: fib ( m -- n ) diff --git a/extra/memoize/memoize.factor b/basis/memoize/memoize.factor similarity index 100% rename from extra/memoize/memoize.factor rename to basis/memoize/memoize.factor diff --git a/extra/memoize/summary.txt b/basis/memoize/summary.txt similarity index 100% rename from extra/memoize/summary.txt rename to basis/memoize/summary.txt diff --git a/extra/memoize/tags.txt b/basis/memoize/tags.txt similarity index 100% rename from extra/memoize/tags.txt rename to basis/memoize/tags.txt diff --git a/extra/io/streams/null/authors.txt b/basis/mime-types/authors.txt similarity index 100% rename from extra/io/streams/null/authors.txt rename to basis/mime-types/authors.txt diff --git a/extra/mime-types/mime-types-tests.factor b/basis/mime-types/mime-types-tests.factor similarity index 100% rename from extra/mime-types/mime-types-tests.factor rename to basis/mime-types/mime-types-tests.factor diff --git a/extra/mime-types/mime-types.factor b/basis/mime-types/mime-types.factor similarity index 92% rename from extra/mime-types/mime-types.factor rename to basis/mime-types/mime-types.factor index a228a8904c..9489da8149 100755 --- a/extra/mime-types/mime-types.factor +++ b/basis/mime-types/mime-types.factor @@ -5,7 +5,7 @@ kernel namespaces fry memoize ; IN: mime-types MEMO: mime-db ( -- seq ) - "resource:extra/mime-types/mime.types" ascii file-lines + "resource:basis/mime-types/mime.types" ascii file-lines [ "#" head? not ] filter [ " \t" split harvest ] map harvest ; : nonstandard-mime-types ( -- assoc ) diff --git a/extra/mime-types/mime.types b/basis/mime-types/mime.types similarity index 100% rename from extra/mime-types/mime.types rename to basis/mime-types/mime.types diff --git a/extra/io/unix/authors.txt b/basis/mirrors/authors.txt similarity index 100% rename from extra/io/unix/authors.txt rename to basis/mirrors/authors.txt diff --git a/core/mirrors/mirrors-docs.factor b/basis/mirrors/mirrors-docs.factor similarity index 100% rename from core/mirrors/mirrors-docs.factor rename to basis/mirrors/mirrors-docs.factor diff --git a/core/mirrors/mirrors-tests.factor b/basis/mirrors/mirrors-tests.factor similarity index 97% rename from core/mirrors/mirrors-tests.factor rename to basis/mirrors/mirrors-tests.factor index 879ec55861..2eda136ae5 100755 --- a/core/mirrors/mirrors-tests.factor +++ b/basis/mirrors/mirrors-tests.factor @@ -1,5 +1,5 @@ USING: mirrors tools.test assocs kernel arrays accessors words -namespaces math slots parser ; +namespaces math slots parser eval ; IN: mirrors.tests TUPLE: foo bar baz ; diff --git a/core/mirrors/mirrors.factor b/basis/mirrors/mirrors.factor similarity index 100% rename from core/mirrors/mirrors.factor rename to basis/mirrors/mirrors.factor diff --git a/core/mirrors/summary.txt b/basis/mirrors/summary.txt similarity index 100% rename from core/mirrors/summary.txt rename to basis/mirrors/summary.txt diff --git a/core/mirrors/tags.txt b/basis/mirrors/tags.txt similarity index 100% rename from core/mirrors/tags.txt rename to basis/mirrors/tags.txt diff --git a/extra/io/unix/backend/authors.txt b/basis/models/authors.txt similarity index 100% rename from extra/io/unix/backend/authors.txt rename to basis/models/authors.txt diff --git a/extra/models/compose/compose-docs.factor b/basis/models/compose/compose-docs.factor similarity index 100% rename from extra/models/compose/compose-docs.factor rename to basis/models/compose/compose-docs.factor diff --git a/extra/models/compose/compose-tests.factor b/basis/models/compose/compose-tests.factor similarity index 100% rename from extra/models/compose/compose-tests.factor rename to basis/models/compose/compose-tests.factor diff --git a/extra/models/compose/compose.factor b/basis/models/compose/compose.factor similarity index 100% rename from extra/models/compose/compose.factor rename to basis/models/compose/compose.factor diff --git a/extra/models/delay/delay-docs.factor b/basis/models/delay/delay-docs.factor similarity index 100% rename from extra/models/delay/delay-docs.factor rename to basis/models/delay/delay-docs.factor diff --git a/extra/models/delay/delay.factor b/basis/models/delay/delay.factor similarity index 100% rename from extra/models/delay/delay.factor rename to basis/models/delay/delay.factor diff --git a/extra/models/filter/filter-docs.factor b/basis/models/filter/filter-docs.factor similarity index 100% rename from extra/models/filter/filter-docs.factor rename to basis/models/filter/filter-docs.factor diff --git a/extra/models/filter/filter-tests.factor b/basis/models/filter/filter-tests.factor similarity index 100% rename from extra/models/filter/filter-tests.factor rename to basis/models/filter/filter-tests.factor diff --git a/extra/models/filter/filter.factor b/basis/models/filter/filter.factor similarity index 100% rename from extra/models/filter/filter.factor rename to basis/models/filter/filter.factor diff --git a/extra/models/history/history-docs.factor b/basis/models/history/history-docs.factor similarity index 100% rename from extra/models/history/history-docs.factor rename to basis/models/history/history-docs.factor diff --git a/extra/models/history/history-tests.factor b/basis/models/history/history-tests.factor similarity index 100% rename from extra/models/history/history-tests.factor rename to basis/models/history/history-tests.factor diff --git a/extra/models/history/history.factor b/basis/models/history/history.factor similarity index 100% rename from extra/models/history/history.factor rename to basis/models/history/history.factor diff --git a/extra/models/mapping/mapping-tests.factor b/basis/models/mapping/mapping-tests.factor similarity index 100% rename from extra/models/mapping/mapping-tests.factor rename to basis/models/mapping/mapping-tests.factor diff --git a/extra/models/mapping/mapping.factor b/basis/models/mapping/mapping.factor similarity index 100% rename from extra/models/mapping/mapping.factor rename to basis/models/mapping/mapping.factor diff --git a/extra/models/models-docs.factor b/basis/models/models-docs.factor similarity index 100% rename from extra/models/models-docs.factor rename to basis/models/models-docs.factor diff --git a/extra/models/models-tests.factor b/basis/models/models-tests.factor similarity index 100% rename from extra/models/models-tests.factor rename to basis/models/models-tests.factor diff --git a/extra/models/models.factor b/basis/models/models.factor similarity index 100% rename from extra/models/models.factor rename to basis/models/models.factor diff --git a/extra/models/range/range-docs.factor b/basis/models/range/range-docs.factor similarity index 100% rename from extra/models/range/range-docs.factor rename to basis/models/range/range-docs.factor diff --git a/extra/models/range/range-tests.factor b/basis/models/range/range-tests.factor similarity index 100% rename from extra/models/range/range-tests.factor rename to basis/models/range/range-tests.factor diff --git a/extra/models/range/range.factor b/basis/models/range/range.factor similarity index 100% rename from extra/models/range/range.factor rename to basis/models/range/range.factor diff --git a/extra/models/summary.txt b/basis/models/summary.txt similarity index 100% rename from extra/models/summary.txt rename to basis/models/summary.txt diff --git a/extra/models/tags.txt b/basis/models/tags.txt similarity index 100% rename from extra/models/tags.txt rename to basis/models/tags.txt diff --git a/extra/multiline/authors.txt b/basis/multiline/authors.txt similarity index 100% rename from extra/multiline/authors.txt rename to basis/multiline/authors.txt diff --git a/extra/multiline/multiline-docs.factor b/basis/multiline/multiline-docs.factor similarity index 100% rename from extra/multiline/multiline-docs.factor rename to basis/multiline/multiline-docs.factor diff --git a/extra/multiline/multiline-tests.factor b/basis/multiline/multiline-tests.factor similarity index 100% rename from extra/multiline/multiline-tests.factor rename to basis/multiline/multiline-tests.factor diff --git a/extra/multiline/multiline.factor b/basis/multiline/multiline.factor similarity index 100% rename from extra/multiline/multiline.factor rename to basis/multiline/multiline.factor diff --git a/extra/multiline/summary.txt b/basis/multiline/summary.txt similarity index 100% rename from extra/multiline/summary.txt rename to basis/multiline/summary.txt diff --git a/extra/multiline/tags.txt b/basis/multiline/tags.txt similarity index 100% rename from extra/multiline/tags.txt rename to basis/multiline/tags.txt diff --git a/extra/io/unix/bsd/authors.txt b/basis/none/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/bsd/authors.txt rename to basis/none/authors.txt diff --git a/core/none/deploy.factor b/basis/none/deploy.factor similarity index 100% rename from core/none/deploy.factor rename to basis/none/deploy.factor diff --git a/core/none/none-docs.factor b/basis/none/none-docs.factor similarity index 100% rename from core/none/none-docs.factor rename to basis/none/none-docs.factor diff --git a/core/none/none.factor b/basis/none/none.factor similarity index 100% rename from core/none/none.factor rename to basis/none/none.factor diff --git a/core/none/summary.txt b/basis/none/summary.txt similarity index 100% rename from core/none/summary.txt rename to basis/none/summary.txt diff --git a/extra/openssl/authors.txt b/basis/openssl/authors.txt similarity index 100% rename from extra/openssl/authors.txt rename to basis/openssl/authors.txt diff --git a/extra/openssl/cacert.pem b/basis/openssl/cacert.pem similarity index 100% rename from extra/openssl/cacert.pem rename to basis/openssl/cacert.pem diff --git a/extra/openssl/libcrypto/libcrypto.factor b/basis/openssl/libcrypto/libcrypto.factor similarity index 100% rename from extra/openssl/libcrypto/libcrypto.factor rename to basis/openssl/libcrypto/libcrypto.factor diff --git a/extra/openssl/libssl/libssl.factor b/basis/openssl/libssl/libssl.factor similarity index 100% rename from extra/openssl/libssl/libssl.factor rename to basis/openssl/libssl/libssl.factor diff --git a/extra/openssl/openssl-tests.factor b/basis/openssl/openssl-tests.factor similarity index 56% rename from extra/openssl/openssl-tests.factor rename to basis/openssl/openssl-tests.factor index 5990153073..93af70b3e0 100755 --- a/extra/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 [ [ ] [ <secure-config> - "resource:extra/openssl/test/server.pem" >>key-file - "resource:extra/openssl/test/root.pem" >>ca-file - "resource:extra/openssl/test/dh1024.pem" >>dh-file + "resource:basis/openssl/test/server.pem" >>key-file + "resource:basis/openssl/test/root.pem" >>ca-file + "resource:basis/openssl/test/dh1024.pem" >>dh-file "password" >>password [ ] with-secure-context ] unit-test [ <secure-config> - "resource:extra/openssl/test/server.pem" >>key-file - "resource:extra/openssl/test/root.pem" >>ca-file + "resource:basis/openssl/test/server.pem" >>key-file + "resource:basis/openssl/test/root.pem" >>ca-file "wrong password" >>password [ ] with-secure-context ] must-fail diff --git a/extra/openssl/openssl.factor b/basis/openssl/openssl.factor similarity index 100% rename from extra/openssl/openssl.factor rename to basis/openssl/openssl.factor diff --git a/extra/openssl/summary.txt b/basis/openssl/summary.txt similarity index 100% rename from extra/openssl/summary.txt rename to basis/openssl/summary.txt diff --git a/extra/openssl/tags.txt b/basis/openssl/tags.txt similarity index 100% rename from extra/openssl/tags.txt rename to basis/openssl/tags.txt diff --git a/extra/openssl/test/dh1024.pem b/basis/openssl/test/dh1024.pem similarity index 100% rename from extra/openssl/test/dh1024.pem rename to basis/openssl/test/dh1024.pem diff --git a/extra/openssl/test/errors.txt b/basis/openssl/test/errors.txt similarity index 100% rename from extra/openssl/test/errors.txt rename to basis/openssl/test/errors.txt diff --git a/extra/openssl/test/root.pem b/basis/openssl/test/root.pem similarity index 100% rename from extra/openssl/test/root.pem rename to basis/openssl/test/root.pem diff --git a/extra/openssl/test/server.pem b/basis/openssl/test/server.pem similarity index 100% rename from extra/openssl/test/server.pem rename to basis/openssl/test/server.pem diff --git a/core/optimizer/allot/allot.factor b/basis/optimizer/allot/allot.factor similarity index 100% rename from core/optimizer/allot/allot.factor rename to basis/optimizer/allot/allot.factor diff --git a/extra/io/unix/epoll/authors.txt b/basis/optimizer/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/epoll/authors.txt rename to basis/optimizer/authors.txt diff --git a/extra/io/unix/files/authors.txt b/basis/optimizer/backend/authors.txt similarity index 100% rename from extra/io/unix/files/authors.txt rename to basis/optimizer/backend/authors.txt diff --git a/core/optimizer/backend/backend.factor b/basis/optimizer/backend/backend.factor similarity index 100% rename from core/optimizer/backend/backend.factor rename to basis/optimizer/backend/backend.factor diff --git a/core/optimizer/backend/summary.txt b/basis/optimizer/backend/summary.txt similarity index 100% rename from core/optimizer/backend/summary.txt rename to basis/optimizer/backend/summary.txt diff --git a/core/optimizer/collect/collect.factor b/basis/optimizer/collect/collect.factor similarity index 100% rename from core/optimizer/collect/collect.factor rename to basis/optimizer/collect/collect.factor diff --git a/core/optimizer/control/control-tests.factor b/basis/optimizer/control/control-tests.factor similarity index 100% rename from core/optimizer/control/control-tests.factor rename to basis/optimizer/control/control-tests.factor diff --git a/core/optimizer/control/control.factor b/basis/optimizer/control/control.factor similarity index 100% rename from core/optimizer/control/control.factor rename to basis/optimizer/control/control.factor diff --git a/extra/io/unix/kqueue/authors.txt b/basis/optimizer/def-use/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/kqueue/authors.txt rename to basis/optimizer/def-use/authors.txt diff --git a/core/optimizer/def-use/def-use-tests.factor b/basis/optimizer/def-use/def-use-tests.factor similarity index 100% rename from core/optimizer/def-use/def-use-tests.factor rename to basis/optimizer/def-use/def-use-tests.factor diff --git a/core/optimizer/def-use/def-use.factor b/basis/optimizer/def-use/def-use.factor similarity index 100% rename from core/optimizer/def-use/def-use.factor rename to basis/optimizer/def-use/def-use.factor diff --git a/core/optimizer/def-use/summary.txt b/basis/optimizer/def-use/summary.txt similarity index 100% rename from core/optimizer/def-use/summary.txt rename to basis/optimizer/def-use/summary.txt diff --git a/core/optimizer/inlining/inlining-tests.factor b/basis/optimizer/inlining/inlining-tests.factor similarity index 100% rename from core/optimizer/inlining/inlining-tests.factor rename to basis/optimizer/inlining/inlining-tests.factor diff --git a/core/optimizer/inlining/inlining.factor b/basis/optimizer/inlining/inlining.factor similarity index 100% rename from core/optimizer/inlining/inlining.factor rename to basis/optimizer/inlining/inlining.factor diff --git a/extra/io/unix/launcher/authors.txt b/basis/optimizer/known-words/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/launcher/authors.txt rename to basis/optimizer/known-words/authors.txt diff --git a/core/optimizer/known-words/known-words.factor b/basis/optimizer/known-words/known-words.factor similarity index 100% rename from core/optimizer/known-words/known-words.factor rename to basis/optimizer/known-words/known-words.factor diff --git a/core/optimizer/known-words/summary.txt b/basis/optimizer/known-words/summary.txt similarity index 100% rename from core/optimizer/known-words/summary.txt rename to basis/optimizer/known-words/summary.txt diff --git a/extra/io/unix/linux/authors.txt b/basis/optimizer/math/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/linux/authors.txt rename to basis/optimizer/math/authors.txt diff --git a/core/optimizer/math/math.factor b/basis/optimizer/math/math.factor similarity index 100% rename from core/optimizer/math/math.factor rename to basis/optimizer/math/math.factor diff --git a/core/optimizer/math/partial/partial-tests.factor b/basis/optimizer/math/partial/partial-tests.factor similarity index 100% rename from core/optimizer/math/partial/partial-tests.factor rename to basis/optimizer/math/partial/partial-tests.factor diff --git a/core/optimizer/math/partial/partial.factor b/basis/optimizer/math/partial/partial.factor similarity index 100% rename from core/optimizer/math/partial/partial.factor rename to basis/optimizer/math/partial/partial.factor diff --git a/core/optimizer/math/summary.txt b/basis/optimizer/math/summary.txt similarity index 100% rename from core/optimizer/math/summary.txt rename to basis/optimizer/math/summary.txt diff --git a/core/optimizer/optimizer-docs.factor b/basis/optimizer/optimizer-docs.factor similarity index 100% rename from core/optimizer/optimizer-docs.factor rename to basis/optimizer/optimizer-docs.factor diff --git a/core/optimizer/optimizer-tests.factor b/basis/optimizer/optimizer-tests.factor similarity index 100% rename from core/optimizer/optimizer-tests.factor rename to basis/optimizer/optimizer-tests.factor diff --git a/core/optimizer/optimizer.factor b/basis/optimizer/optimizer.factor similarity index 100% rename from core/optimizer/optimizer.factor rename to basis/optimizer/optimizer.factor diff --git a/extra/io/unix/mmap/authors.txt b/basis/optimizer/pattern-match/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/mmap/authors.txt rename to basis/optimizer/pattern-match/authors.txt diff --git a/core/optimizer/pattern-match/pattern-match.factor b/basis/optimizer/pattern-match/pattern-match.factor similarity index 100% rename from core/optimizer/pattern-match/pattern-match.factor rename to basis/optimizer/pattern-match/pattern-match.factor diff --git a/core/optimizer/pattern-match/summary.txt b/basis/optimizer/pattern-match/summary.txt similarity index 100% rename from core/optimizer/pattern-match/summary.txt rename to basis/optimizer/pattern-match/summary.txt diff --git a/core/optimizer/specializers/specializers-docs.factor b/basis/optimizer/specializers/specializers-docs.factor similarity index 100% rename from core/optimizer/specializers/specializers-docs.factor rename to basis/optimizer/specializers/specializers-docs.factor diff --git a/core/optimizer/specializers/specializers.factor b/basis/optimizer/specializers/specializers.factor similarity index 100% rename from core/optimizer/specializers/specializers.factor rename to basis/optimizer/specializers/specializers.factor diff --git a/core/optimizer/summary.txt b/basis/optimizer/summary.txt similarity index 100% rename from core/optimizer/summary.txt rename to basis/optimizer/summary.txt diff --git a/core/cpu/tags.txt b/basis/optimizer/tags.txt similarity index 100% rename from core/cpu/tags.txt rename to basis/optimizer/tags.txt diff --git a/extra/present/present.factor b/basis/present/present.factor similarity index 100% rename from extra/present/present.factor rename to basis/present/present.factor diff --git a/extra/io/unix/select/authors.txt b/basis/prettyprint/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/unix/select/authors.txt rename to basis/prettyprint/authors.txt diff --git a/extra/io/unix/sockets/authors.txt b/basis/prettyprint/backend/authors.txt similarity index 100% rename from extra/io/unix/sockets/authors.txt rename to basis/prettyprint/backend/authors.txt diff --git a/core/prettyprint/backend/backend-docs.factor b/basis/prettyprint/backend/backend-docs.factor similarity index 100% rename from core/prettyprint/backend/backend-docs.factor rename to basis/prettyprint/backend/backend-docs.factor diff --git a/core/prettyprint/backend/backend.factor b/basis/prettyprint/backend/backend.factor similarity index 100% rename from core/prettyprint/backend/backend.factor rename to basis/prettyprint/backend/backend.factor diff --git a/core/prettyprint/backend/summary.txt b/basis/prettyprint/backend/summary.txt similarity index 100% rename from core/prettyprint/backend/summary.txt rename to basis/prettyprint/backend/summary.txt diff --git a/extra/io/windows/nt/pipes/authors.txt b/basis/prettyprint/config/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/io/windows/nt/pipes/authors.txt rename to basis/prettyprint/config/authors.txt diff --git a/core/prettyprint/config/config-docs.factor b/basis/prettyprint/config/config-docs.factor similarity index 100% rename from core/prettyprint/config/config-docs.factor rename to basis/prettyprint/config/config-docs.factor diff --git a/core/prettyprint/config/config.factor b/basis/prettyprint/config/config.factor similarity index 100% rename from core/prettyprint/config/config.factor rename to basis/prettyprint/config/config.factor diff --git a/core/prettyprint/config/summary.txt b/basis/prettyprint/config/summary.txt similarity index 100% rename from core/prettyprint/config/summary.txt rename to basis/prettyprint/config/summary.txt diff --git a/core/prettyprint/prettyprint-docs.factor b/basis/prettyprint/prettyprint-docs.factor similarity index 100% rename from core/prettyprint/prettyprint-docs.factor rename to basis/prettyprint/prettyprint-docs.factor diff --git a/core/prettyprint/prettyprint-tests.factor b/basis/prettyprint/prettyprint-tests.factor similarity index 98% rename from core/prettyprint/prettyprint-tests.factor rename to basis/prettyprint/prettyprint-tests.factor index fd76b87dbb..534ab0fd09 100755 --- a/core/prettyprint/prettyprint-tests.factor +++ b/basis/prettyprint/prettyprint-tests.factor @@ -2,7 +2,7 @@ USING: arrays definitions io.streams.string io.streams.duplex kernel math namespaces parser prettyprint prettyprint.config prettyprint.sections sequences tools.test vectors words effects splitting generic.standard prettyprint.private -continuations generic compiler.units tools.walker ; +continuations generic compiler.units tools.walker eval ; IN: prettyprint.tests [ "4" ] [ 4 unparse ] unit-test @@ -194,7 +194,7 @@ DEFER: parse-error-file : string-layout { - "USING: io kernel lexer ;" + "USING: debugger io kernel lexer ;" "IN: prettyprint.tests" ": string-layout-test ( error -- )" " \"Expected \" write dup unexpected-want expected>string write" diff --git a/core/prettyprint/prettyprint.factor b/basis/prettyprint/prettyprint.factor similarity index 100% rename from core/prettyprint/prettyprint.factor rename to basis/prettyprint/prettyprint.factor diff --git a/extra/locals/authors.txt b/basis/prettyprint/sections/authors.txt similarity index 100% rename from extra/locals/authors.txt rename to basis/prettyprint/sections/authors.txt diff --git a/core/prettyprint/sections/sections-docs.factor b/basis/prettyprint/sections/sections-docs.factor similarity index 100% rename from core/prettyprint/sections/sections-docs.factor rename to basis/prettyprint/sections/sections-docs.factor diff --git a/core/prettyprint/sections/sections.factor b/basis/prettyprint/sections/sections.factor similarity index 100% rename from core/prettyprint/sections/sections.factor rename to basis/prettyprint/sections/sections.factor diff --git a/core/prettyprint/sections/summary.txt b/basis/prettyprint/sections/summary.txt similarity index 100% rename from core/prettyprint/sections/summary.txt rename to basis/prettyprint/sections/summary.txt diff --git a/core/prettyprint/summary.txt b/basis/prettyprint/summary.txt similarity index 100% rename from core/prettyprint/summary.txt rename to basis/prettyprint/summary.txt diff --git a/core/prettyprint/tags.txt b/basis/prettyprint/tags.txt similarity index 100% rename from core/prettyprint/tags.txt rename to basis/prettyprint/tags.txt diff --git a/extra/qualified/authors.txt b/basis/qualified/authors.txt similarity index 100% rename from extra/qualified/authors.txt rename to basis/qualified/authors.txt diff --git a/extra/qualified/qualified-docs.factor b/basis/qualified/qualified-docs.factor similarity index 100% rename from extra/qualified/qualified-docs.factor rename to basis/qualified/qualified-docs.factor diff --git a/extra/qualified/qualified-tests.factor b/basis/qualified/qualified-tests.factor similarity index 100% rename from extra/qualified/qualified-tests.factor rename to basis/qualified/qualified-tests.factor diff --git a/extra/qualified/qualified.factor b/basis/qualified/qualified.factor similarity index 100% rename from extra/qualified/qualified.factor rename to basis/qualified/qualified.factor diff --git a/extra/qualified/summary.txt b/basis/qualified/summary.txt similarity index 100% rename from extra/qualified/summary.txt rename to basis/qualified/summary.txt diff --git a/extra/qualified/tags.txt b/basis/qualified/tags.txt similarity index 100% rename from extra/qualified/tags.txt rename to basis/qualified/tags.txt diff --git a/extra/random/dummy/dummy.factor b/basis/random/dummy/dummy.factor similarity index 100% rename from extra/random/dummy/dummy.factor rename to basis/random/dummy/dummy.factor diff --git a/extra/io/windows/ce/authors.txt b/basis/random/mersenne-twister/authors.txt similarity index 100% rename from extra/io/windows/ce/authors.txt rename to basis/random/mersenne-twister/authors.txt diff --git a/extra/random/mersenne-twister/mersenne-twister-docs.factor.bak b/basis/random/mersenne-twister/mersenne-twister-docs.factor.bak similarity index 100% rename from extra/random/mersenne-twister/mersenne-twister-docs.factor.bak rename to basis/random/mersenne-twister/mersenne-twister-docs.factor.bak diff --git a/extra/random/mersenne-twister/mersenne-twister-tests.factor b/basis/random/mersenne-twister/mersenne-twister-tests.factor similarity index 100% rename from extra/random/mersenne-twister/mersenne-twister-tests.factor rename to basis/random/mersenne-twister/mersenne-twister-tests.factor diff --git a/extra/random/mersenne-twister/mersenne-twister.factor b/basis/random/mersenne-twister/mersenne-twister.factor similarity index 100% rename from extra/random/mersenne-twister/mersenne-twister.factor rename to basis/random/mersenne-twister/mersenne-twister.factor diff --git a/extra/random/mersenne-twister/summary.txt b/basis/random/mersenne-twister/summary.txt similarity index 100% rename from extra/random/mersenne-twister/summary.txt rename to basis/random/mersenne-twister/summary.txt diff --git a/extra/random/random-docs.factor b/basis/random/random-docs.factor similarity index 100% rename from extra/random/random-docs.factor rename to basis/random/random-docs.factor diff --git a/extra/random/random-tests.factor b/basis/random/random-tests.factor similarity index 100% rename from extra/random/random-tests.factor rename to basis/random/random-tests.factor diff --git a/extra/random/random.factor b/basis/random/random.factor similarity index 100% rename from extra/random/random.factor rename to basis/random/random.factor diff --git a/basis/random/unix/tags.txt b/basis/random/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/random/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/random/unix/unix.factor b/basis/random/unix/unix.factor similarity index 100% rename from extra/random/unix/unix.factor rename to basis/random/unix/unix.factor diff --git a/basis/random/windows/tags.txt b/basis/random/windows/tags.txt new file mode 100644 index 0000000000..02ec70f741 --- /dev/null +++ b/basis/random/windows/tags.txt @@ -0,0 +1,2 @@ +unportable +windows diff --git a/extra/random/windows/windows.factor b/basis/random/windows/windows.factor similarity index 100% rename from extra/random/windows/windows.factor rename to basis/random/windows/windows.factor diff --git a/extra/macros/authors.txt b/basis/refs/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/macros/authors.txt rename to basis/refs/authors.txt diff --git a/core/refs/refs-docs.factor b/basis/refs/refs-docs.factor similarity index 100% rename from core/refs/refs-docs.factor rename to basis/refs/refs-docs.factor diff --git a/core/refs/refs-tests.factor b/basis/refs/refs-tests.factor similarity index 100% rename from core/refs/refs-tests.factor rename to basis/refs/refs-tests.factor diff --git a/core/refs/refs.factor b/basis/refs/refs.factor similarity index 100% rename from core/refs/refs.factor rename to basis/refs/refs.factor diff --git a/core/refs/summary.txt b/basis/refs/summary.txt similarity index 100% rename from core/refs/summary.txt rename to basis/refs/summary.txt diff --git a/extra/math/complex/authors.txt b/basis/search-dequeues/authors.txt similarity index 100% rename from extra/math/complex/authors.txt rename to basis/search-dequeues/authors.txt diff --git a/core/search-dequeues/search-dequeues-docs.factor b/basis/search-dequeues/search-dequeues-docs.factor similarity index 100% rename from core/search-dequeues/search-dequeues-docs.factor rename to basis/search-dequeues/search-dequeues-docs.factor diff --git a/core/search-dequeues/search-dequeues-tests.factor b/basis/search-dequeues/search-dequeues-tests.factor similarity index 100% rename from core/search-dequeues/search-dequeues-tests.factor rename to basis/search-dequeues/search-dequeues-tests.factor diff --git a/core/search-dequeues/search-dequeues.factor b/basis/search-dequeues/search-dequeues.factor similarity index 100% rename from core/search-dequeues/search-dequeues.factor rename to basis/search-dequeues/search-dequeues.factor diff --git a/core/search-dequeues/summary.txt b/basis/search-dequeues/summary.txt similarity index 100% rename from core/search-dequeues/summary.txt rename to basis/search-dequeues/summary.txt diff --git a/extra/hash2/tags.txt b/basis/search-dequeues/tags.txt similarity index 100% rename from extra/hash2/tags.txt rename to basis/search-dequeues/tags.txt diff --git a/extra/sequences/deep/authors.txt b/basis/sequences/deep/authors.txt similarity index 100% rename from extra/sequences/deep/authors.txt rename to basis/sequences/deep/authors.txt diff --git a/extra/sequences/deep/deep-docs.factor b/basis/sequences/deep/deep-docs.factor similarity index 100% rename from extra/sequences/deep/deep-docs.factor rename to basis/sequences/deep/deep-docs.factor diff --git a/extra/sequences/deep/deep-tests.factor b/basis/sequences/deep/deep-tests.factor similarity index 100% rename from extra/sequences/deep/deep-tests.factor rename to basis/sequences/deep/deep-tests.factor diff --git a/extra/sequences/deep/deep.factor b/basis/sequences/deep/deep.factor similarity index 100% rename from extra/sequences/deep/deep.factor rename to basis/sequences/deep/deep.factor diff --git a/extra/sequences/deep/summary.txt b/basis/sequences/deep/summary.txt similarity index 100% rename from extra/sequences/deep/summary.txt rename to basis/sequences/deep/summary.txt diff --git a/extra/sequences/deep/tags.txt b/basis/sequences/deep/tags.txt similarity index 100% rename from extra/sequences/deep/tags.txt rename to basis/sequences/deep/tags.txt diff --git a/extra/sequences/next/authors.txt b/basis/sequences/next/authors.txt similarity index 100% rename from extra/sequences/next/authors.txt rename to basis/sequences/next/authors.txt diff --git a/extra/sequences/next/next-tests.factor b/basis/sequences/next/next-tests.factor similarity index 100% rename from extra/sequences/next/next-tests.factor rename to basis/sequences/next/next-tests.factor diff --git a/extra/sequences/next/next.factor b/basis/sequences/next/next.factor similarity index 100% rename from extra/sequences/next/next.factor rename to basis/sequences/next/next.factor diff --git a/extra/sequences/next/summary.txt b/basis/sequences/next/summary.txt similarity index 100% rename from extra/sequences/next/summary.txt rename to basis/sequences/next/summary.txt diff --git a/extra/sequences/next/tags.txt b/basis/sequences/next/tags.txt similarity index 100% rename from extra/sequences/next/tags.txt rename to basis/sequences/next/tags.txt diff --git a/extra/serialize/authors.txt b/basis/serialize/authors.txt similarity index 100% rename from extra/serialize/authors.txt rename to basis/serialize/authors.txt diff --git a/extra/serialize/serialize-docs.factor b/basis/serialize/serialize-docs.factor similarity index 100% rename from extra/serialize/serialize-docs.factor rename to basis/serialize/serialize-docs.factor diff --git a/extra/serialize/serialize-tests.factor b/basis/serialize/serialize-tests.factor similarity index 100% rename from extra/serialize/serialize-tests.factor rename to basis/serialize/serialize-tests.factor diff --git a/extra/serialize/serialize.factor b/basis/serialize/serialize.factor similarity index 100% rename from extra/serialize/serialize.factor rename to basis/serialize/serialize.factor diff --git a/extra/serialize/summary.txt b/basis/serialize/summary.txt similarity index 100% rename from extra/serialize/summary.txt rename to basis/serialize/summary.txt diff --git a/extra/shuffle/authors.txt b/basis/shuffle/authors.txt similarity index 100% rename from extra/shuffle/authors.txt rename to basis/shuffle/authors.txt diff --git a/extra/shuffle/shuffle-tests.factor b/basis/shuffle/shuffle-tests.factor similarity index 100% rename from extra/shuffle/shuffle-tests.factor rename to basis/shuffle/shuffle-tests.factor diff --git a/extra/shuffle/shuffle.factor b/basis/shuffle/shuffle.factor similarity index 100% rename from extra/shuffle/shuffle.factor rename to basis/shuffle/shuffle.factor diff --git a/extra/shuffle/summary.txt b/basis/shuffle/summary.txt similarity index 100% rename from extra/shuffle/summary.txt rename to basis/shuffle/summary.txt diff --git a/extra/shuffle/tags.txt b/basis/shuffle/tags.txt similarity index 100% rename from extra/shuffle/tags.txt rename to basis/shuffle/tags.txt diff --git a/extra/smtp/authors.txt b/basis/smtp/authors.txt similarity index 100% rename from extra/smtp/authors.txt rename to basis/smtp/authors.txt diff --git a/extra/smtp/server/server.factor b/basis/smtp/server/server.factor similarity index 100% rename from extra/smtp/server/server.factor rename to basis/smtp/server/server.factor diff --git a/extra/smtp/smtp-tests.factor b/basis/smtp/smtp-tests.factor similarity index 100% rename from extra/smtp/smtp-tests.factor rename to basis/smtp/smtp-tests.factor diff --git a/extra/smtp/smtp.factor b/basis/smtp/smtp.factor similarity index 100% rename from extra/smtp/smtp.factor rename to basis/smtp/smtp.factor diff --git a/extra/smtp/summary.txt b/basis/smtp/summary.txt similarity index 100% rename from extra/smtp/summary.txt rename to basis/smtp/summary.txt diff --git a/extra/smtp/tags.txt b/basis/smtp/tags.txt similarity index 100% rename from extra/smtp/tags.txt rename to basis/smtp/tags.txt diff --git a/extra/sorting/insertion/authors.txt b/basis/sorting/insertion/authors.txt similarity index 100% rename from extra/sorting/insertion/authors.txt rename to basis/sorting/insertion/authors.txt diff --git a/extra/sorting/insertion/insertion-tests.factor b/basis/sorting/insertion/insertion-tests.factor similarity index 100% rename from extra/sorting/insertion/insertion-tests.factor rename to basis/sorting/insertion/insertion-tests.factor diff --git a/extra/sorting/insertion/insertion.factor b/basis/sorting/insertion/insertion.factor similarity index 100% rename from extra/sorting/insertion/insertion.factor rename to basis/sorting/insertion/insertion.factor diff --git a/extra/sorting/insertion/summary.txt b/basis/sorting/insertion/summary.txt similarity index 100% rename from extra/sorting/insertion/summary.txt rename to basis/sorting/insertion/summary.txt diff --git a/extra/sorting/insertion/tags.txt b/basis/sorting/insertion/tags.txt similarity index 100% rename from extra/sorting/insertion/tags.txt rename to basis/sorting/insertion/tags.txt diff --git a/extra/state-parser/authors.txt b/basis/state-parser/authors.txt similarity index 100% rename from extra/state-parser/authors.txt rename to basis/state-parser/authors.txt diff --git a/extra/state-parser/state-parser-docs.factor b/basis/state-parser/state-parser-docs.factor similarity index 100% rename from extra/state-parser/state-parser-docs.factor rename to basis/state-parser/state-parser-docs.factor diff --git a/extra/state-parser/state-parser-tests.factor b/basis/state-parser/state-parser-tests.factor similarity index 100% rename from extra/state-parser/state-parser-tests.factor rename to basis/state-parser/state-parser-tests.factor diff --git a/extra/state-parser/state-parser.factor b/basis/state-parser/state-parser.factor similarity index 100% rename from extra/state-parser/state-parser.factor rename to basis/state-parser/state-parser.factor diff --git a/extra/state-parser/summary.txt b/basis/state-parser/summary.txt similarity index 100% rename from extra/state-parser/summary.txt rename to basis/state-parser/summary.txt diff --git a/extra/io/windows/mmap/authors.txt b/basis/structs/authors.txt similarity index 100% rename from extra/io/windows/mmap/authors.txt rename to basis/structs/authors.txt diff --git a/extra/structs/structs.factor b/basis/structs/structs.factor similarity index 100% rename from extra/structs/structs.factor rename to basis/structs/structs.factor diff --git a/extra/structs/summary.txt b/basis/structs/summary.txt similarity index 100% rename from extra/structs/summary.txt rename to basis/structs/summary.txt diff --git a/core/summary/summary-docs.factor b/basis/summary/summary-docs.factor similarity index 100% rename from core/summary/summary-docs.factor rename to basis/summary/summary-docs.factor diff --git a/core/summary/summary.factor b/basis/summary/summary.factor similarity index 95% rename from core/summary/summary.factor rename to basis/summary/summary.factor index 61f59682e8..5da6599c63 100644 --- a/core/summary/summary.factor +++ b/basis/summary/summary.factor @@ -14,7 +14,7 @@ M: object summary object-summary ; M: input summary [ "Input: " % - input-string "\n" split1 swap % + string>> "\n" split1 swap % "..." "" ? % ] "" make ; diff --git a/extra/symbols/authors.txt b/basis/symbols/authors.txt similarity index 100% rename from extra/symbols/authors.txt rename to basis/symbols/authors.txt diff --git a/extra/symbols/symbols-docs.factor b/basis/symbols/symbols-docs.factor similarity index 100% rename from extra/symbols/symbols-docs.factor rename to basis/symbols/symbols-docs.factor diff --git a/extra/symbols/symbols-tests.factor b/basis/symbols/symbols-tests.factor similarity index 86% rename from extra/symbols/symbols-tests.factor rename to basis/symbols/symbols-tests.factor index 1ae4a38cb7..274c4de85b 100755 --- a/extra/symbols/symbols-tests.factor +++ b/basis/symbols/symbols-tests.factor @@ -1,4 +1,5 @@ -USING: kernel symbols tools.test parser generic words accessors ; +USING: kernel symbols tools.test parser generic words accessors +eval ; IN: symbols.tests [ ] [ SYMBOLS: a b c ; ] unit-test diff --git a/extra/symbols/symbols.factor b/basis/symbols/symbols.factor similarity index 100% rename from extra/symbols/symbols.factor rename to basis/symbols/symbols.factor diff --git a/extra/math/constants/authors.txt b/basis/threads/authors.txt similarity index 100% rename from extra/math/constants/authors.txt rename to basis/threads/authors.txt diff --git a/core/threads/summary.txt b/basis/threads/summary.txt similarity index 100% rename from core/threads/summary.txt rename to basis/threads/summary.txt diff --git a/core/threads/threads-docs.factor b/basis/threads/threads-docs.factor similarity index 100% rename from core/threads/threads-docs.factor rename to basis/threads/threads-docs.factor diff --git a/core/threads/threads-tests.factor b/basis/threads/threads-tests.factor similarity index 95% rename from core/threads/threads-tests.factor rename to basis/threads/threads-tests.factor index 122b7f1d59..adac84338d 100755 --- a/core/threads/threads-tests.factor +++ b/basis/threads/threads-tests.factor @@ -41,3 +41,5 @@ yield ] ; [ t ] [ spawn-namespace-test ] unit-test + +[ "a" [ 1 1 + ] spawn 100 sleep ] must-fail diff --git a/core/threads/threads.factor b/basis/threads/threads.factor similarity index 94% rename from core/threads/threads.factor rename to basis/threads/threads.factor index 4b32f4519d..c406d0db12 100755 --- a/core/threads/threads.factor +++ b/basis/threads/threads.factor @@ -4,16 +4,22 @@ USING: arrays hashtables heaps kernel kernel.private math namespaces sequences vectors continuations continuations.private dlists assocs system combinators init boxes accessors -math.order dequeues ; +math.order dequeues strings quotations ; IN: threads SYMBOL: initial-thread TUPLE: thread -name quot exit-handler -id -continuation state runnable -mailbox variables sleep-entry ; +{ name string } +{ quot callable initial: [ ] } +{ exit-handler callable initial: [ ] } +{ id integer } +continuation +state +runnable +mailbox +variables +sleep-entry ; : self ( -- thread ) 63 getenv ; inline @@ -62,8 +68,7 @@ PRIVATE> swap >>name swap >>quot \ thread counter >>id - <box> >>continuation - [ ] >>exit-handler ; inline + <box> >>continuation ; inline : <thread> ( quot name -- thread ) \ thread new-thread ; @@ -211,7 +216,7 @@ GENERIC: error-in-thread ( error thread -- ) <dlist> 65 setenv <min-heap> 66 setenv initial-thread global - [ drop f "Initial" <thread> ] cache + [ drop [ ] "Initial" <thread> ] cache <box> >>continuation t >>runnable f >>state diff --git a/extra/tools/annotations/annotations-docs.factor b/basis/tools/annotations/annotations-docs.factor similarity index 100% rename from extra/tools/annotations/annotations-docs.factor rename to basis/tools/annotations/annotations-docs.factor diff --git a/extra/tools/annotations/annotations-tests.factor b/basis/tools/annotations/annotations-tests.factor similarity index 89% rename from extra/tools/annotations/annotations-tests.factor rename to basis/tools/annotations/annotations-tests.factor index ec8f48a161..2bdcab50cb 100755 --- a/extra/tools/annotations/annotations-tests.factor +++ b/basis/tools/annotations/annotations-tests.factor @@ -1,4 +1,4 @@ -USING: tools.test tools.annotations math parser ; +USING: tools.test tools.annotations math parser eval ; IN: tools.annotations.tests : foo ; diff --git a/extra/tools/annotations/annotations.factor b/basis/tools/annotations/annotations.factor similarity index 100% rename from extra/tools/annotations/annotations.factor rename to basis/tools/annotations/annotations.factor diff --git a/extra/math/functions/authors.txt b/basis/tools/annotations/authors.txt similarity index 100% rename from extra/math/functions/authors.txt rename to basis/tools/annotations/authors.txt diff --git a/extra/tools/annotations/summary.txt b/basis/tools/annotations/summary.txt similarity index 100% rename from extra/tools/annotations/summary.txt rename to basis/tools/annotations/summary.txt diff --git a/extra/tools/annotations/tags.txt b/basis/tools/annotations/tags.txt similarity index 100% rename from extra/tools/annotations/tags.txt rename to basis/tools/annotations/tags.txt diff --git a/extra/math/libm/authors.txt b/basis/tools/completion/authors.txt similarity index 100% rename from extra/math/libm/authors.txt rename to basis/tools/completion/authors.txt diff --git a/extra/tools/completion/completion-docs.factor b/basis/tools/completion/completion-docs.factor similarity index 100% rename from extra/tools/completion/completion-docs.factor rename to basis/tools/completion/completion-docs.factor diff --git a/extra/tools/completion/completion.factor b/basis/tools/completion/completion.factor similarity index 100% rename from extra/tools/completion/completion.factor rename to basis/tools/completion/completion.factor diff --git a/extra/tools/completion/summary.txt b/basis/tools/completion/summary.txt similarity index 100% rename from extra/tools/completion/summary.txt rename to basis/tools/completion/summary.txt diff --git a/extra/math/ratios/authors.txt b/basis/tools/crossref/authors.txt similarity index 100% rename from extra/math/ratios/authors.txt rename to basis/tools/crossref/authors.txt diff --git a/extra/tools/crossref/crossref-docs.factor b/basis/tools/crossref/crossref-docs.factor similarity index 100% rename from extra/tools/crossref/crossref-docs.factor rename to basis/tools/crossref/crossref-docs.factor diff --git a/extra/tools/crossref/crossref-tests.factor b/basis/tools/crossref/crossref-tests.factor similarity index 83% rename from extra/tools/crossref/crossref-tests.factor rename to basis/tools/crossref/crossref-tests.factor index 0717763ed0..5bf917f906 100755 --- a/extra/tools/crossref/crossref-tests.factor +++ b/basis/tools/crossref/crossref-tests.factor @@ -6,7 +6,7 @@ GENERIC: foo M: integer foo + ; -"resource:extra/tools/crossref/test/foo.factor" run-file +"resource:basis/tools/crossref/test/foo.factor" run-file [ t ] [ integer \ foo method \ + usage member? ] unit-test [ t ] [ \ foo usage [ pathname? ] contains? ] unit-test diff --git a/extra/tools/crossref/crossref.factor b/basis/tools/crossref/crossref.factor similarity index 100% rename from extra/tools/crossref/crossref.factor rename to basis/tools/crossref/crossref.factor diff --git a/extra/tools/crossref/summary.txt b/basis/tools/crossref/summary.txt similarity index 100% rename from extra/tools/crossref/summary.txt rename to basis/tools/crossref/summary.txt diff --git a/extra/tools/crossref/tags.txt b/basis/tools/crossref/tags.txt similarity index 100% rename from extra/tools/crossref/tags.txt rename to basis/tools/crossref/tags.txt diff --git a/extra/tools/crossref/test/foo.factor b/basis/tools/crossref/test/foo.factor similarity index 100% rename from extra/tools/crossref/test/foo.factor rename to basis/tools/crossref/test/foo.factor diff --git a/extra/math/vectors/authors.txt b/basis/tools/deploy/authors.txt similarity index 100% rename from extra/math/vectors/authors.txt rename to basis/tools/deploy/authors.txt diff --git a/extra/mime-types/authors.txt b/basis/tools/deploy/backend/authors.txt similarity index 100% rename from extra/mime-types/authors.txt rename to basis/tools/deploy/backend/authors.txt diff --git a/extra/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor similarity index 98% rename from extra/tools/deploy/backend/backend.factor rename to basis/tools/deploy/backend/backend.factor index 7559b44832..723f9461a8 100755 --- a/extra/tools/deploy/backend/backend.factor +++ b/basis/tools/deploy/backend/backend.factor @@ -42,6 +42,7 @@ IN: tools.deploy.backend : bootstrap-profile ( -- profile ) { + { "threads" deploy-threads? } { "math" deploy-math? } { "compiler" deploy-compiler? } { "ui" deploy-ui? } diff --git a/extra/models/authors.txt b/basis/tools/deploy/config/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/models/authors.txt rename to basis/tools/deploy/config/authors.txt diff --git a/extra/tools/deploy/config/config-docs.factor b/basis/tools/deploy/config/config-docs.factor similarity index 100% rename from extra/tools/deploy/config/config-docs.factor rename to basis/tools/deploy/config/config-docs.factor diff --git a/extra/tools/deploy/config/config.factor b/basis/tools/deploy/config/config.factor similarity index 100% rename from extra/tools/deploy/config/config.factor rename to basis/tools/deploy/config/config.factor diff --git a/extra/tools/deploy/deploy-docs.factor b/basis/tools/deploy/deploy-docs.factor similarity index 100% rename from extra/tools/deploy/deploy-docs.factor rename to basis/tools/deploy/deploy-docs.factor diff --git a/extra/tools/deploy/deploy-tests.factor b/basis/tools/deploy/deploy-tests.factor similarity index 93% rename from extra/tools/deploy/deploy-tests.factor rename to basis/tools/deploy/deploy-tests.factor index b66688b63a..ffbf764de1 100755 --- a/extra/tools/deploy/deploy-tests.factor +++ b/basis/tools/deploy/deploy-tests.factor @@ -79,7 +79,7 @@ M: quit-responder call-responder* [ <dispatcher> add-quot-responder - "resource:extra/http/test" <static> >>default + "resource:basis/http/test" <static> >>default main-responder set test-httpd diff --git a/extra/tools/deploy/deploy.factor b/basis/tools/deploy/deploy.factor similarity index 100% rename from extra/tools/deploy/deploy.factor rename to basis/tools/deploy/deploy.factor diff --git a/extra/tools/annotations/authors.txt b/basis/tools/deploy/macosx/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/annotations/authors.txt rename to basis/tools/deploy/macosx/authors.txt diff --git a/extra/tools/deploy/macosx/macosx.factor b/basis/tools/deploy/macosx/macosx.factor similarity index 100% rename from extra/tools/deploy/macosx/macosx.factor rename to basis/tools/deploy/macosx/macosx.factor diff --git a/extra/tools/deploy/macosx/summary.txt b/basis/tools/deploy/macosx/summary.txt similarity index 100% rename from extra/tools/deploy/macosx/summary.txt rename to basis/tools/deploy/macosx/summary.txt diff --git a/basis/tools/deploy/macosx/tags.txt b/basis/tools/deploy/macosx/tags.txt new file mode 100644 index 0000000000..660d511420 --- /dev/null +++ b/basis/tools/deploy/macosx/tags.txt @@ -0,0 +1,2 @@ +unportable +tools diff --git a/extra/tools/deploy/restage/restage.factor b/basis/tools/deploy/restage/restage.factor similarity index 100% rename from extra/tools/deploy/restage/restage.factor rename to basis/tools/deploy/restage/restage.factor diff --git a/extra/tools/completion/authors.txt b/basis/tools/deploy/shaker/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/completion/authors.txt rename to basis/tools/deploy/shaker/authors.txt diff --git a/extra/tools/deploy/shaker/shaker.factor b/basis/tools/deploy/shaker/shaker.factor similarity index 97% rename from extra/tools/deploy/shaker/shaker.factor rename to basis/tools/deploy/shaker/shaker.factor index 0e20384839..7a4d93c4bd 100755 --- a/extra/tools/deploy/shaker/shaker.factor +++ b/basis/tools/deploy/shaker/shaker.factor @@ -21,7 +21,6 @@ QUALIFIED: libc.private QUALIFIED: listener QUALIFIED: prettyprint.config QUALIFIED: source-files -QUALIFIED: threads QUALIFIED: vocabs IN: tools.deploy.shaker @@ -45,21 +44,21 @@ IN: tools.deploy.shaker : strip-debugger ( -- ) strip-debugger? [ "Stripping debugger" show - "resource:extra/tools/deploy/shaker/strip-debugger.factor" + "resource:basis/tools/deploy/shaker/strip-debugger.factor" run-file ] when ; : strip-libc ( -- ) "libc" vocab [ "Stripping manual memory management debug code" show - "resource:extra/tools/deploy/shaker/strip-libc.factor" + "resource:basis/tools/deploy/shaker/strip-libc.factor" run-file ] when ; : strip-cocoa ( -- ) "cocoa" vocab [ "Stripping unused Cocoa methods" show - "resource:extra/tools/deploy/shaker/strip-cocoa.factor" + "resource:basis/tools/deploy/shaker/strip-cocoa.factor" run-file ] when ; @@ -187,7 +186,7 @@ IN: tools.deploy.shaker } % deploy-threads? [ - threads:initial-thread , + "initial-thread" "threads" lookup , ] unless strip-io? [ io.backend:io-backend , ] when diff --git a/extra/tools/deploy/shaker/strip-cocoa.factor b/basis/tools/deploy/shaker/strip-cocoa.factor similarity index 100% rename from extra/tools/deploy/shaker/strip-cocoa.factor rename to basis/tools/deploy/shaker/strip-cocoa.factor diff --git a/extra/tools/deploy/shaker/strip-debugger.factor b/basis/tools/deploy/shaker/strip-debugger.factor similarity index 100% rename from extra/tools/deploy/shaker/strip-debugger.factor rename to basis/tools/deploy/shaker/strip-debugger.factor diff --git a/extra/tools/deploy/shaker/strip-libc.factor b/basis/tools/deploy/shaker/strip-libc.factor similarity index 100% rename from extra/tools/deploy/shaker/strip-libc.factor rename to basis/tools/deploy/shaker/strip-libc.factor diff --git a/extra/tools/deploy/summary.txt b/basis/tools/deploy/summary.txt similarity index 100% rename from extra/tools/deploy/summary.txt rename to basis/tools/deploy/summary.txt diff --git a/extra/tools/deploy/macosx/tags.txt b/basis/tools/deploy/tags.txt similarity index 100% rename from extra/tools/deploy/macosx/tags.txt rename to basis/tools/deploy/tags.txt diff --git a/extra/tools/deploy/test/1/1.factor b/basis/tools/deploy/test/1/1.factor similarity index 100% rename from extra/tools/deploy/test/1/1.factor rename to basis/tools/deploy/test/1/1.factor diff --git a/extra/tools/deploy/test/1/deploy.factor b/basis/tools/deploy/test/1/deploy.factor similarity index 100% rename from extra/tools/deploy/test/1/deploy.factor rename to basis/tools/deploy/test/1/deploy.factor diff --git a/extra/tools/deploy/test/2/2.factor b/basis/tools/deploy/test/2/2.factor similarity index 100% rename from extra/tools/deploy/test/2/2.factor rename to basis/tools/deploy/test/2/2.factor diff --git a/extra/tools/deploy/test/2/deploy.factor b/basis/tools/deploy/test/2/deploy.factor similarity index 100% rename from extra/tools/deploy/test/2/deploy.factor rename to basis/tools/deploy/test/2/deploy.factor diff --git a/extra/tools/deploy/test/3/3.factor b/basis/tools/deploy/test/3/3.factor similarity index 100% rename from extra/tools/deploy/test/3/3.factor rename to basis/tools/deploy/test/3/3.factor diff --git a/extra/tools/deploy/test/3/deploy.factor b/basis/tools/deploy/test/3/deploy.factor similarity index 100% rename from extra/tools/deploy/test/3/deploy.factor rename to basis/tools/deploy/test/3/deploy.factor diff --git a/extra/tools/deploy/test/4/4.factor b/basis/tools/deploy/test/4/4.factor similarity index 100% rename from extra/tools/deploy/test/4/4.factor rename to basis/tools/deploy/test/4/4.factor diff --git a/extra/tools/deploy/test/4/deploy.factor b/basis/tools/deploy/test/4/deploy.factor similarity index 100% rename from extra/tools/deploy/test/4/deploy.factor rename to basis/tools/deploy/test/4/deploy.factor diff --git a/extra/tools/deploy/test/5/5.factor b/basis/tools/deploy/test/5/5.factor similarity index 100% rename from extra/tools/deploy/test/5/5.factor rename to basis/tools/deploy/test/5/5.factor diff --git a/extra/tools/deploy/test/5/deploy.factor b/basis/tools/deploy/test/5/deploy.factor similarity index 100% rename from extra/tools/deploy/test/5/deploy.factor rename to basis/tools/deploy/test/5/deploy.factor diff --git a/extra/tools/deploy/unix/authors.txt b/basis/tools/deploy/unix/authors.txt similarity index 100% rename from extra/tools/deploy/unix/authors.txt rename to basis/tools/deploy/unix/authors.txt diff --git a/extra/tools/deploy/unix/summary.txt b/basis/tools/deploy/unix/summary.txt similarity index 100% rename from extra/tools/deploy/unix/summary.txt rename to basis/tools/deploy/unix/summary.txt diff --git a/basis/tools/deploy/unix/tags.txt b/basis/tools/deploy/unix/tags.txt new file mode 100644 index 0000000000..660d511420 --- /dev/null +++ b/basis/tools/deploy/unix/tags.txt @@ -0,0 +1,2 @@ +unportable +tools diff --git a/extra/tools/deploy/unix/unix.factor b/basis/tools/deploy/unix/unix.factor similarity index 100% rename from extra/tools/deploy/unix/unix.factor rename to basis/tools/deploy/unix/unix.factor diff --git a/extra/tools/crossref/authors.txt b/basis/tools/deploy/windows/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/crossref/authors.txt rename to basis/tools/deploy/windows/authors.txt diff --git a/extra/tools/deploy/windows/summary.txt b/basis/tools/deploy/windows/summary.txt similarity index 100% rename from extra/tools/deploy/windows/summary.txt rename to basis/tools/deploy/windows/summary.txt diff --git a/extra/tools/deploy/windows/tags.txt b/basis/tools/deploy/windows/tags.txt similarity index 56% rename from extra/tools/deploy/windows/tags.txt rename to basis/tools/deploy/windows/tags.txt index 6eee6b9766..b58a515ed8 100644 --- a/extra/tools/deploy/windows/tags.txt +++ b/basis/tools/deploy/windows/tags.txt @@ -1,2 +1,3 @@ +unportable windows tools diff --git a/extra/tools/deploy/windows/windows-tests.factor b/basis/tools/deploy/windows/windows-tests.factor similarity index 100% rename from extra/tools/deploy/windows/windows-tests.factor rename to basis/tools/deploy/windows/windows-tests.factor diff --git a/extra/tools/deploy/windows/windows.factor b/basis/tools/deploy/windows/windows.factor similarity index 100% rename from extra/tools/deploy/windows/windows.factor rename to basis/tools/deploy/windows/windows.factor diff --git a/extra/tools/disassembler/authors.txt b/basis/tools/disassembler/authors.txt similarity index 100% rename from extra/tools/disassembler/authors.txt rename to basis/tools/disassembler/authors.txt diff --git a/extra/tools/disassembler/disassembler-docs.factor b/basis/tools/disassembler/disassembler-docs.factor similarity index 100% rename from extra/tools/disassembler/disassembler-docs.factor rename to basis/tools/disassembler/disassembler-docs.factor diff --git a/extra/tools/disassembler/disassembler-tests.factor b/basis/tools/disassembler/disassembler-tests.factor similarity index 100% rename from extra/tools/disassembler/disassembler-tests.factor rename to basis/tools/disassembler/disassembler-tests.factor diff --git a/extra/tools/disassembler/disassembler.factor b/basis/tools/disassembler/disassembler.factor similarity index 100% rename from extra/tools/disassembler/disassembler.factor rename to basis/tools/disassembler/disassembler.factor diff --git a/extra/tools/disassembler/summary.txt b/basis/tools/disassembler/summary.txt similarity index 100% rename from extra/tools/disassembler/summary.txt rename to basis/tools/disassembler/summary.txt diff --git a/extra/tools/deploy/authors.txt b/basis/tools/memory/authors.txt similarity index 100% rename from extra/tools/deploy/authors.txt rename to basis/tools/memory/authors.txt diff --git a/extra/tools/memory/memory-docs.factor b/basis/tools/memory/memory-docs.factor similarity index 100% rename from extra/tools/memory/memory-docs.factor rename to basis/tools/memory/memory-docs.factor diff --git a/extra/tools/memory/memory-tests.factor b/basis/tools/memory/memory-tests.factor similarity index 100% rename from extra/tools/memory/memory-tests.factor rename to basis/tools/memory/memory-tests.factor diff --git a/extra/tools/memory/memory.factor b/basis/tools/memory/memory.factor similarity index 100% rename from extra/tools/memory/memory.factor rename to basis/tools/memory/memory.factor diff --git a/extra/tools/memory/summary.txt b/basis/tools/memory/summary.txt similarity index 100% rename from extra/tools/memory/summary.txt rename to basis/tools/memory/summary.txt diff --git a/extra/tools/deploy/tags.txt b/basis/tools/memory/tags.txt similarity index 100% rename from extra/tools/deploy/tags.txt rename to basis/tools/memory/tags.txt diff --git a/extra/tools/deploy/backend/authors.txt b/basis/tools/profiler/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/tools/deploy/backend/authors.txt rename to basis/tools/profiler/authors.txt diff --git a/extra/tools/profiler/profiler-docs.factor b/basis/tools/profiler/profiler-docs.factor similarity index 100% rename from extra/tools/profiler/profiler-docs.factor rename to basis/tools/profiler/profiler-docs.factor diff --git a/extra/tools/profiler/profiler-tests.factor b/basis/tools/profiler/profiler-tests.factor similarity index 100% rename from extra/tools/profiler/profiler-tests.factor rename to basis/tools/profiler/profiler-tests.factor diff --git a/extra/tools/profiler/profiler.factor b/basis/tools/profiler/profiler.factor similarity index 100% rename from extra/tools/profiler/profiler.factor rename to basis/tools/profiler/profiler.factor diff --git a/extra/tools/profiler/summary.txt b/basis/tools/profiler/summary.txt similarity index 100% rename from extra/tools/profiler/summary.txt rename to basis/tools/profiler/summary.txt diff --git a/extra/tools/deploy/unix/tags.txt b/basis/tools/profiler/tags.txt similarity index 100% rename from extra/tools/deploy/unix/tags.txt rename to basis/tools/profiler/tags.txt diff --git a/extra/tools/summary.txt b/basis/tools/summary.txt similarity index 100% rename from extra/tools/summary.txt rename to basis/tools/summary.txt diff --git a/extra/tools/deploy/config/authors.txt b/basis/tools/test/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/tools/deploy/config/authors.txt rename to basis/tools/test/authors.txt diff --git a/extra/tools/test/summary.txt b/basis/tools/test/summary.txt similarity index 100% rename from extra/tools/test/summary.txt rename to basis/tools/test/summary.txt diff --git a/extra/tools/memory/tags.txt b/basis/tools/test/tags.txt similarity index 100% rename from extra/tools/memory/tags.txt rename to basis/tools/test/tags.txt diff --git a/extra/tools/test/test-docs.factor b/basis/tools/test/test-docs.factor similarity index 100% rename from extra/tools/test/test-docs.factor rename to basis/tools/test/test-docs.factor diff --git a/extra/tools/test/test.factor b/basis/tools/test/test.factor similarity index 87% rename from extra/tools/test/test.factor rename to basis/tools/test/test.factor index abbf5e5ab9..025ee9d696 100755 --- a/extra/tools/test/test.factor +++ b/basis/tools/test/test.factor @@ -1,10 +1,9 @@ ! Copyright (C) 2003, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: namespaces arrays prettyprint sequences kernel -vectors quotations words parser assocs combinators -continuations debugger io io.files vocabs -vocabs.loader source-files compiler.units summary -inference effects tools.vocabs ; +USING: accessors namespaces arrays prettyprint sequences kernel +vectors quotations words parser assocs combinators continuations +debugger io io.styles io.files vocabs vocabs.loader source-files +compiler.units summary inference effects tools.vocabs ; IN: tools.test SYMBOL: failures @@ -31,7 +30,7 @@ SYMBOL: this-test ] 2curry (unit-test) ; : short-effect ( effect -- pair ) - dup effect-in length swap effect-out length 2array ; + [ in>> length ] [ out>> length ] bi 2array ; : must-infer-as ( effect quot -- ) >r 1quotation r> [ infer short-effect ] curry unit-test ; diff --git a/extra/tools/test/tools.factor b/basis/tools/test/tools.factor similarity index 100% rename from extra/tools/test/tools.factor rename to basis/tools/test/tools.factor diff --git a/extra/tools/deploy/macosx/authors.txt b/basis/tools/test/ui/authors.txt similarity index 100% rename from extra/tools/deploy/macosx/authors.txt rename to basis/tools/test/ui/authors.txt diff --git a/extra/tools/test/ui/ui.factor b/basis/tools/test/ui/ui.factor similarity index 100% rename from extra/tools/test/ui/ui.factor rename to basis/tools/test/ui/ui.factor diff --git a/extra/tools/threads/threads-docs.factor b/basis/tools/threads/threads-docs.factor similarity index 100% rename from extra/tools/threads/threads-docs.factor rename to basis/tools/threads/threads-docs.factor diff --git a/extra/tools/threads/threads.factor b/basis/tools/threads/threads.factor similarity index 100% rename from extra/tools/threads/threads.factor rename to basis/tools/threads/threads.factor diff --git a/extra/tools/deploy/shaker/authors.txt b/basis/tools/time/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/tools/deploy/shaker/authors.txt rename to basis/tools/time/authors.txt diff --git a/extra/tools/time/summary.txt b/basis/tools/time/summary.txt similarity index 100% rename from extra/tools/time/summary.txt rename to basis/tools/time/summary.txt diff --git a/extra/tools/profiler/tags.txt b/basis/tools/time/tags.txt similarity index 100% rename from extra/tools/profiler/tags.txt rename to basis/tools/time/tags.txt diff --git a/extra/tools/time/time-docs.factor b/basis/tools/time/time-docs.factor similarity index 100% rename from extra/tools/time/time-docs.factor rename to basis/tools/time/time-docs.factor diff --git a/extra/tools/time/time.factor b/basis/tools/time/time.factor similarity index 100% rename from extra/tools/time/time.factor rename to basis/tools/time/time.factor diff --git a/extra/tools/deploy/windows/authors.txt b/basis/tools/vocabs/browser/authors.txt similarity index 100% rename from extra/tools/deploy/windows/authors.txt rename to basis/tools/vocabs/browser/authors.txt diff --git a/extra/tools/vocabs/browser/browser-docs.factor b/basis/tools/vocabs/browser/browser-docs.factor similarity index 100% rename from extra/tools/vocabs/browser/browser-docs.factor rename to basis/tools/vocabs/browser/browser-docs.factor diff --git a/extra/tools/vocabs/browser/browser-tests.factor b/basis/tools/vocabs/browser/browser-tests.factor similarity index 100% rename from extra/tools/vocabs/browser/browser-tests.factor rename to basis/tools/vocabs/browser/browser-tests.factor diff --git a/extra/tools/vocabs/browser/browser.factor b/basis/tools/vocabs/browser/browser.factor similarity index 100% rename from extra/tools/vocabs/browser/browser.factor rename to basis/tools/vocabs/browser/browser.factor diff --git a/extra/tools/test/tags.txt b/basis/tools/vocabs/browser/tags.txt similarity index 100% rename from extra/tools/test/tags.txt rename to basis/tools/vocabs/browser/tags.txt diff --git a/extra/tools/memory/authors.txt b/basis/tools/vocabs/monitor/authors.txt similarity index 100% rename from extra/tools/memory/authors.txt rename to basis/tools/vocabs/monitor/authors.txt diff --git a/extra/tools/vocabs/monitor/monitor-tests.factor b/basis/tools/vocabs/monitor/monitor-tests.factor similarity index 100% rename from extra/tools/vocabs/monitor/monitor-tests.factor rename to basis/tools/vocabs/monitor/monitor-tests.factor diff --git a/extra/tools/vocabs/monitor/monitor.factor b/basis/tools/vocabs/monitor/monitor.factor similarity index 100% rename from extra/tools/vocabs/monitor/monitor.factor rename to basis/tools/vocabs/monitor/monitor.factor diff --git a/extra/tools/vocabs/monitor/summary.txt b/basis/tools/vocabs/monitor/summary.txt similarity index 100% rename from extra/tools/vocabs/monitor/summary.txt rename to basis/tools/vocabs/monitor/summary.txt diff --git a/extra/tools/vocabs/vocabs-docs.factor b/basis/tools/vocabs/vocabs-docs.factor similarity index 100% rename from extra/tools/vocabs/vocabs-docs.factor rename to basis/tools/vocabs/vocabs-docs.factor diff --git a/extra/tools/vocabs/vocabs-tests.factor b/basis/tools/vocabs/vocabs-tests.factor similarity index 100% rename from extra/tools/vocabs/vocabs-tests.factor rename to basis/tools/vocabs/vocabs-tests.factor diff --git a/extra/tools/vocabs/vocabs.factor b/basis/tools/vocabs/vocabs.factor similarity index 82% rename from extra/tools/vocabs/vocabs.factor rename to basis/tools/vocabs/vocabs.factor index 34bd3c81c8..6328a3d06d 100755 --- a/extra/tools/vocabs/vocabs.factor +++ b/basis/tools/vocabs/vocabs.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: io.files kernel io.encodings.utf8 vocabs.loader vocabs -sequences namespaces math.parser arrays hashtables assocs -memoize summary sorting splitting combinators source-files -io debugger continuations compiler.errors init +USING: kernel io io.styles io.files io.encodings.utf8 +vocabs.loader vocabs sequences namespaces math.parser arrays +hashtables assocs memoize summary sorting splitting combinators +source-files debugger continuations compiler.errors init checksums checksums.crc32 sets ; IN: tools.vocabs @@ -232,39 +232,15 @@ M: vocab-link summary vocab-summary ; MEMO: all-vocabs-seq ( -- seq ) all-vocabs values concat ; -: dangerous? ( name -- ? ) - #! Hack - { - { [ "cpu." ?head ] [ t ] } - { [ "io.unix" ?head ] [ t ] } - { [ "io.windows" ?head ] [ t ] } - { [ "ui.x11" ?head ] [ t ] } - { [ "ui.windows" ?head ] [ t ] } - { [ "ui.cocoa" ?head ] [ t ] } - { [ "cocoa" ?head ] [ t ] } - { [ "core-foundation" ?head ] [ t ] } - { [ "vocabs.loader.test" ?head ] [ t ] } - { [ "editors." ?head ] [ t ] } - { [ ".windows" ?tail ] [ t ] } - { [ ".unix" ?tail ] [ t ] } - { [ "unix" ?head ] [ t ] } - { [ ".linux" ?tail ] [ t ] } - { [ ".bsd" ?tail ] [ t ] } - { [ ".macosx" ?tail ] [ t ] } - { [ "windows." ?head ] [ t ] } - { [ "cocoa" ?head ] [ t ] } - { [ ".test" ?tail ] [ t ] } - { [ "raptor" ?head ] [ t ] } - { [ dup "tools.deploy.app" = ] [ t ] } - [ f ] - } cond nip ; +: unportable? ( name -- ? ) + vocab-tags "unportable" swap member? ; -: filter-dangerous ( seq -- seq' ) - [ vocab-name dangerous? not ] filter ; +: filter-unportable ( seq -- seq' ) + [ vocab-name unportable? not ] filter ; : try-everything ( -- failures ) all-vocabs-seq - filter-dangerous + filter-unportable require-all ; : load-everything ( -- ) diff --git a/extra/tools/profiler/authors.txt b/basis/tools/walker/authors.txt similarity index 100% rename from extra/tools/profiler/authors.txt rename to basis/tools/walker/authors.txt diff --git a/extra/tools/test/authors.txt b/basis/tools/walker/debug/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/test/authors.txt rename to basis/tools/walker/debug/authors.txt diff --git a/extra/tools/walker/debug/debug.factor b/basis/tools/walker/debug/debug.factor similarity index 100% rename from extra/tools/walker/debug/debug.factor rename to basis/tools/walker/debug/debug.factor diff --git a/extra/tools/walker/summary.txt b/basis/tools/walker/summary.txt similarity index 100% rename from extra/tools/walker/summary.txt rename to basis/tools/walker/summary.txt diff --git a/extra/tools/walker/walker-tests.factor b/basis/tools/walker/walker-tests.factor similarity index 100% rename from extra/tools/walker/walker-tests.factor rename to basis/tools/walker/walker-tests.factor diff --git a/extra/tools/walker/walker.factor b/basis/tools/walker/walker.factor similarity index 100% rename from extra/tools/walker/walker.factor rename to basis/tools/walker/walker.factor diff --git a/extra/tools/test/ui/authors.txt b/basis/tr/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/tools/test/ui/authors.txt rename to basis/tr/authors.txt diff --git a/extra/tr/summary.txt b/basis/tr/summary.txt similarity index 100% rename from extra/tr/summary.txt rename to basis/tr/summary.txt diff --git a/extra/tr/tr-tests.factor b/basis/tr/tr-tests.factor similarity index 100% rename from extra/tr/tr-tests.factor rename to basis/tr/tr-tests.factor diff --git a/extra/tr/tr.factor b/basis/tr/tr.factor similarity index 100% rename from extra/tr/tr.factor rename to basis/tr/tr.factor diff --git a/extra/tuple-arrays/authors.txt b/basis/tuple-arrays/authors.txt similarity index 100% rename from extra/tuple-arrays/authors.txt rename to basis/tuple-arrays/authors.txt diff --git a/extra/tuple-arrays/summary.txt b/basis/tuple-arrays/summary.txt similarity index 100% rename from extra/tuple-arrays/summary.txt rename to basis/tuple-arrays/summary.txt diff --git a/extra/tuple-arrays/tags.txt b/basis/tuple-arrays/tags.txt similarity index 100% rename from extra/tuple-arrays/tags.txt rename to basis/tuple-arrays/tags.txt diff --git a/extra/tuple-arrays/tuple-arrays-docs.factor b/basis/tuple-arrays/tuple-arrays-docs.factor similarity index 100% rename from extra/tuple-arrays/tuple-arrays-docs.factor rename to basis/tuple-arrays/tuple-arrays-docs.factor diff --git a/extra/tuple-arrays/tuple-arrays-tests.factor b/basis/tuple-arrays/tuple-arrays-tests.factor similarity index 100% rename from extra/tuple-arrays/tuple-arrays-tests.factor rename to basis/tuple-arrays/tuple-arrays-tests.factor diff --git a/extra/tuple-arrays/tuple-arrays.factor b/basis/tuple-arrays/tuple-arrays.factor similarity index 100% rename from extra/tuple-arrays/tuple-arrays.factor rename to basis/tuple-arrays/tuple-arrays.factor diff --git a/extra/unicode/authors.txt b/basis/unicode/authors.txt similarity index 100% rename from extra/unicode/authors.txt rename to basis/unicode/authors.txt diff --git a/extra/unicode/breaks/authors.txt b/basis/unicode/breaks/authors.txt similarity index 100% rename from extra/unicode/breaks/authors.txt rename to basis/unicode/breaks/authors.txt diff --git a/extra/unicode/breaks/breaks-tests.factor b/basis/unicode/breaks/breaks-tests.factor similarity index 100% rename from extra/unicode/breaks/breaks-tests.factor rename to basis/unicode/breaks/breaks-tests.factor diff --git a/extra/unicode/breaks/breaks.factor b/basis/unicode/breaks/breaks.factor similarity index 100% rename from extra/unicode/breaks/breaks.factor rename to basis/unicode/breaks/breaks.factor diff --git a/extra/unicode/breaks/tags.txt b/basis/unicode/breaks/tags.txt similarity index 100% rename from extra/unicode/breaks/tags.txt rename to basis/unicode/breaks/tags.txt diff --git a/extra/unicode/case/SpecialCasing.txt b/basis/unicode/case/SpecialCasing.txt similarity index 100% rename from extra/unicode/case/SpecialCasing.txt rename to basis/unicode/case/SpecialCasing.txt diff --git a/extra/unicode/case/authors.txt b/basis/unicode/case/authors.txt similarity index 100% rename from extra/unicode/case/authors.txt rename to basis/unicode/case/authors.txt diff --git a/extra/unicode/case/case-tests.factor b/basis/unicode/case/case-tests.factor similarity index 100% rename from extra/unicode/case/case-tests.factor rename to basis/unicode/case/case-tests.factor diff --git a/extra/unicode/case/case.factor b/basis/unicode/case/case.factor similarity index 100% rename from extra/unicode/case/case.factor rename to basis/unicode/case/case.factor diff --git a/extra/unicode/case/tags.txt b/basis/unicode/case/tags.txt similarity index 100% rename from extra/unicode/case/tags.txt rename to basis/unicode/case/tags.txt diff --git a/extra/unicode/categories/authors.txt b/basis/unicode/categories/authors.txt similarity index 100% rename from extra/unicode/categories/authors.txt rename to basis/unicode/categories/authors.txt diff --git a/extra/unicode/categories/categories-tests.factor b/basis/unicode/categories/categories-tests.factor similarity index 100% rename from extra/unicode/categories/categories-tests.factor rename to basis/unicode/categories/categories-tests.factor diff --git a/extra/unicode/categories/categories.factor b/basis/unicode/categories/categories.factor similarity index 100% rename from extra/unicode/categories/categories.factor rename to basis/unicode/categories/categories.factor diff --git a/extra/unicode/categories/tags.txt b/basis/unicode/categories/tags.txt similarity index 100% rename from extra/unicode/categories/tags.txt rename to basis/unicode/categories/tags.txt diff --git a/extra/unicode/collation/CollationTest_SHIFTED.txt b/basis/unicode/collation/CollationTest_SHIFTED.txt similarity index 100% rename from extra/unicode/collation/CollationTest_SHIFTED.txt rename to basis/unicode/collation/CollationTest_SHIFTED.txt diff --git a/extra/unicode/collation/allkeys.txt b/basis/unicode/collation/allkeys.txt similarity index 100% rename from extra/unicode/collation/allkeys.txt rename to basis/unicode/collation/allkeys.txt diff --git a/extra/unicode/collation/collation-docs.factor b/basis/unicode/collation/collation-docs.factor similarity index 100% rename from extra/unicode/collation/collation-docs.factor rename to basis/unicode/collation/collation-docs.factor diff --git a/extra/unicode/collation/collation-tests.factor b/basis/unicode/collation/collation-tests.factor similarity index 91% rename from extra/unicode/collation/collation-tests.factor rename to basis/unicode/collation/collation-tests.factor index d523a15ada..bf87c6b7da 100755 --- a/extra/unicode/collation/collation-tests.factor +++ b/basis/unicode/collation/collation-tests.factor @@ -4,7 +4,7 @@ tools.test assocs io.streams.null words ; IN: unicode.collation.tests : parse-test ( -- strings ) - "resource:extra/unicode/collation/CollationTest_SHIFTED.txt" + "resource:basis/unicode/collation/CollationTest_SHIFTED.txt" utf8 file-lines 5 tail [ ";" split1 drop " " split [ hex> ] "" map-as ] map ; diff --git a/extra/unicode/collation/collation.factor b/basis/unicode/collation/collation.factor similarity index 95% rename from extra/unicode/collation/collation.factor rename to basis/unicode/collation/collation.factor index 3e239430d4..b5c7665b8b 100755 --- a/extra/unicode/collation/collation.factor +++ b/basis/unicode/collation/collation.factor @@ -26,7 +26,7 @@ TUPLE: weight primary secondary tertiary ignorable? ; lines filter-comments [ parse-line ] H{ } map>assoc ; -"resource:extra/unicode/collation/allkeys.txt" +"resource:basis/unicode/collation/allkeys.txt" ascii <file-reader> parse-ducet \ ducet set-value ! Fix up table for long contractions diff --git a/extra/unicode/data/PropList.txt b/basis/unicode/data/PropList.txt similarity index 100% rename from extra/unicode/data/PropList.txt rename to basis/unicode/data/PropList.txt diff --git a/extra/unicode/data/SpecialCasing.txt b/basis/unicode/data/SpecialCasing.txt similarity index 100% rename from extra/unicode/data/SpecialCasing.txt rename to basis/unicode/data/SpecialCasing.txt diff --git a/extra/unicode/data/UnicodeData.txt b/basis/unicode/data/UnicodeData.txt similarity index 100% rename from extra/unicode/data/UnicodeData.txt rename to basis/unicode/data/UnicodeData.txt diff --git a/extra/unicode/data/authors.txt b/basis/unicode/data/authors.txt similarity index 100% rename from extra/unicode/data/authors.txt rename to basis/unicode/data/authors.txt diff --git a/extra/unicode/data/data.factor b/basis/unicode/data/data.factor similarity index 97% rename from extra/unicode/data/data.factor rename to basis/unicode/data/data.factor index fdcf495307..6d6ed276a8 100755 --- a/extra/unicode/data/data.factor +++ b/basis/unicode/data/data.factor @@ -39,7 +39,7 @@ VALUE: properties ascii file-lines [ split-; ] map ; : load-data ( -- data ) - "resource:extra/unicode/data/UnicodeData.txt" data ; + "resource:basis/unicode/data/UnicodeData.txt" data ; : filter-comments ( lines -- lines ) [ "#@" split first ] map harvest ; @@ -140,7 +140,7 @@ C: <code-point> code-point ! Extra properties : properties-lines ( -- lines ) - "resource:extra/unicode/data/PropList.txt" + "resource:basis/unicode/data/PropList.txt" ascii file-lines ; : parse-properties ( -- {{[a,b],prop}} ) @@ -159,7 +159,7 @@ C: <code-point> code-point ! Special casing data : load-special-casing ( -- special-casing ) - "resource:extra/unicode/data/SpecialCasing.txt" data + "resource:basis/unicode/data/SpecialCasing.txt" data [ length 5 = ] filter [ [ set-code-point ] each ] H{ } make-assoc ; diff --git a/extra/unicode/data/tags.txt b/basis/unicode/data/tags.txt similarity index 100% rename from extra/unicode/data/tags.txt rename to basis/unicode/data/tags.txt diff --git a/extra/unicode/normalize/NormalizationTest.txt b/basis/unicode/normalize/NormalizationTest.txt similarity index 100% rename from extra/unicode/normalize/NormalizationTest.txt rename to basis/unicode/normalize/NormalizationTest.txt diff --git a/extra/unicode/normalize/authors.txt b/basis/unicode/normalize/authors.txt similarity index 100% rename from extra/unicode/normalize/authors.txt rename to basis/unicode/normalize/authors.txt diff --git a/extra/unicode/normalize/normalize-tests.factor b/basis/unicode/normalize/normalize-tests.factor similarity index 96% rename from extra/unicode/normalize/normalize-tests.factor rename to basis/unicode/normalize/normalize-tests.factor index d4de423e36..cae1380ab4 100755 --- a/extra/unicode/normalize/normalize-tests.factor +++ b/basis/unicode/normalize/normalize-tests.factor @@ -21,7 +21,7 @@ IN: unicode.normalize.tests [ "\u00d55c" ] [ "\u001112\u001161\u0011ab" nfc ] unit-test : parse-test ( -- tests ) - "resource:extra/unicode/normalize/NormalizationTest.txt" + "resource:basis/unicode/normalize/NormalizationTest.txt" utf8 file-lines filter-comments [ ";" split 5 head [ " " split [ hex> ] "" map-as ] map ] map ; diff --git a/extra/unicode/normalize/normalize.factor b/basis/unicode/normalize/normalize.factor similarity index 100% rename from extra/unicode/normalize/normalize.factor rename to basis/unicode/normalize/normalize.factor diff --git a/extra/unicode/normalize/tags.txt b/basis/unicode/normalize/tags.txt similarity index 100% rename from extra/unicode/normalize/tags.txt rename to basis/unicode/normalize/tags.txt diff --git a/extra/unicode/script/Scripts.txt b/basis/unicode/script/Scripts.txt similarity index 100% rename from extra/unicode/script/Scripts.txt rename to basis/unicode/script/Scripts.txt diff --git a/extra/unicode/script/authors.txt b/basis/unicode/script/authors.txt similarity index 100% rename from extra/unicode/script/authors.txt rename to basis/unicode/script/authors.txt diff --git a/extra/unicode/script/script-docs.factor b/basis/unicode/script/script-docs.factor similarity index 100% rename from extra/unicode/script/script-docs.factor rename to basis/unicode/script/script-docs.factor diff --git a/extra/unicode/script/script-tests.factor b/basis/unicode/script/script-tests.factor similarity index 100% rename from extra/unicode/script/script-tests.factor rename to basis/unicode/script/script-tests.factor diff --git a/extra/unicode/script/script.factor b/basis/unicode/script/script.factor similarity index 96% rename from extra/unicode/script/script.factor rename to basis/unicode/script/script.factor index d100d6dbc3..40b0751e2c 100755 --- a/extra/unicode/script/script.factor +++ b/basis/unicode/script/script.factor @@ -36,7 +36,7 @@ SYMBOL: interned ] with-variable ; : load-script ( -- ) - "resource:extra/unicode/script/Scripts.txt" + "resource:basis/unicode/script/Scripts.txt" ascii <file-reader> parse-script process-script ; load-script diff --git a/extra/unicode/script/summary.txt b/basis/unicode/script/summary.txt similarity index 100% rename from extra/unicode/script/summary.txt rename to basis/unicode/script/summary.txt diff --git a/extra/unicode/summary.txt b/basis/unicode/summary.txt similarity index 100% rename from extra/unicode/summary.txt rename to basis/unicode/summary.txt diff --git a/extra/unicode/syntax/authors.txt b/basis/unicode/syntax/authors.txt similarity index 100% rename from extra/unicode/syntax/authors.txt rename to basis/unicode/syntax/authors.txt diff --git a/extra/unicode/syntax/syntax.factor b/basis/unicode/syntax/syntax.factor similarity index 97% rename from extra/unicode/syntax/syntax.factor rename to basis/unicode/syntax/syntax.factor index 2410779804..9df14a3928 100755 --- a/extra/unicode/syntax/syntax.factor +++ b/basis/unicode/syntax/syntax.factor @@ -1,6 +1,6 @@ USING: unicode.data kernel math sequences parser lexer bit-arrays namespaces sequences.private arrays quotations assocs -classes.predicate math.order ; +classes.predicate math.order eval ; IN: unicode.syntax ! Character classes (categories) diff --git a/extra/unicode/syntax/tags.txt b/basis/unicode/syntax/tags.txt similarity index 100% rename from extra/unicode/syntax/tags.txt rename to basis/unicode/syntax/tags.txt diff --git a/extra/unicode/tags.txt b/basis/unicode/tags.txt similarity index 100% rename from extra/unicode/tags.txt rename to basis/unicode/tags.txt diff --git a/extra/io/windows/nt/monitors/authors.txt b/basis/units/authors.txt similarity index 100% rename from extra/io/windows/nt/monitors/authors.txt rename to basis/units/authors.txt diff --git a/extra/random/mersenne-twister/authors.txt b/basis/units/constants/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/random/mersenne-twister/authors.txt rename to basis/units/constants/authors.txt diff --git a/extra/units/constants/constants.factor b/basis/units/constants/constants.factor similarity index 100% rename from extra/units/constants/constants.factor rename to basis/units/constants/constants.factor diff --git a/extra/units/constants/constants.txt b/basis/units/constants/constants.txt similarity index 100% rename from extra/units/constants/constants.txt rename to basis/units/constants/constants.txt diff --git a/extra/structs/authors.txt b/basis/units/imperial/authors.txt similarity index 100% rename from extra/structs/authors.txt rename to basis/units/imperial/authors.txt diff --git a/extra/units/imperial/imperial-tests.factor b/basis/units/imperial/imperial-tests.factor similarity index 100% rename from extra/units/imperial/imperial-tests.factor rename to basis/units/imperial/imperial-tests.factor diff --git a/extra/units/imperial/imperial.factor b/basis/units/imperial/imperial.factor similarity index 100% rename from extra/units/imperial/imperial.factor rename to basis/units/imperial/imperial.factor diff --git a/extra/units/authors.txt b/basis/units/si/authors.txt similarity index 100% rename from extra/units/authors.txt rename to basis/units/si/authors.txt diff --git a/extra/units/si/si-tests.factor b/basis/units/si/si-tests.factor similarity index 100% rename from extra/units/si/si-tests.factor rename to basis/units/si/si-tests.factor diff --git a/extra/units/si/si.factor b/basis/units/si/si.factor similarity index 100% rename from extra/units/si/si.factor rename to basis/units/si/si.factor diff --git a/extra/units/units-tests.factor b/basis/units/units-tests.factor similarity index 100% rename from extra/units/units-tests.factor rename to basis/units/units-tests.factor diff --git a/extra/units/units.factor b/basis/units/units.factor similarity index 100% rename from extra/units/units.factor rename to basis/units/units.factor diff --git a/extra/tools/time/authors.txt b/basis/unix/authors.txt similarity index 100% rename from extra/tools/time/authors.txt rename to basis/unix/authors.txt diff --git a/extra/tools/vocabs/browser/authors.txt b/basis/unix/bsd/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/tools/vocabs/browser/authors.txt rename to basis/unix/bsd/authors.txt diff --git a/extra/unix/bsd/bsd.factor b/basis/unix/bsd/bsd.factor similarity index 100% rename from extra/unix/bsd/bsd.factor rename to basis/unix/bsd/bsd.factor diff --git a/extra/unix/bsd/freebsd/freebsd.factor b/basis/unix/bsd/freebsd/freebsd.factor similarity index 100% rename from extra/unix/bsd/freebsd/freebsd.factor rename to basis/unix/bsd/freebsd/freebsd.factor diff --git a/basis/unix/bsd/freebsd/tags.txt b/basis/unix/bsd/freebsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/bsd/freebsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/bsd/macosx/macosx.factor b/basis/unix/bsd/macosx/macosx.factor similarity index 100% rename from extra/unix/bsd/macosx/macosx.factor rename to basis/unix/bsd/macosx/macosx.factor diff --git a/basis/unix/bsd/macosx/tags.txt b/basis/unix/bsd/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/bsd/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/bsd/netbsd/netbsd.factor b/basis/unix/bsd/netbsd/netbsd.factor similarity index 100% rename from extra/unix/bsd/netbsd/netbsd.factor rename to basis/unix/bsd/netbsd/netbsd.factor diff --git a/basis/unix/bsd/netbsd/tags.txt b/basis/unix/bsd/netbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/bsd/netbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/bsd/openbsd/openbsd.factor b/basis/unix/bsd/openbsd/openbsd.factor similarity index 100% rename from extra/unix/bsd/openbsd/openbsd.factor rename to basis/unix/bsd/openbsd/openbsd.factor diff --git a/basis/unix/bsd/openbsd/tags.txt b/basis/unix/bsd/openbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/bsd/openbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/bsd/summary.txt b/basis/unix/bsd/summary.txt similarity index 100% rename from extra/unix/bsd/summary.txt rename to basis/unix/bsd/summary.txt diff --git a/basis/unix/bsd/tags.txt b/basis/unix/bsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/bsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/tools/vocabs/monitor/authors.txt b/basis/unix/kqueue/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/vocabs/monitor/authors.txt rename to basis/unix/kqueue/authors.txt diff --git a/extra/unix/kqueue/freebsd/freebsd.factor b/basis/unix/kqueue/freebsd/freebsd.factor similarity index 100% rename from extra/unix/kqueue/freebsd/freebsd.factor rename to basis/unix/kqueue/freebsd/freebsd.factor diff --git a/basis/unix/kqueue/freebsd/tags.txt b/basis/unix/kqueue/freebsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/kqueue/freebsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/kqueue/kqueue.factor b/basis/unix/kqueue/kqueue.factor similarity index 100% rename from extra/unix/kqueue/kqueue.factor rename to basis/unix/kqueue/kqueue.factor diff --git a/extra/unix/kqueue/macosx/macosx.factor b/basis/unix/kqueue/macosx/macosx.factor similarity index 100% rename from extra/unix/kqueue/macosx/macosx.factor rename to basis/unix/kqueue/macosx/macosx.factor diff --git a/basis/unix/kqueue/macosx/tags.txt b/basis/unix/kqueue/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/kqueue/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/kqueue/netbsd/netbsd.factor b/basis/unix/kqueue/netbsd/netbsd.factor similarity index 100% rename from extra/unix/kqueue/netbsd/netbsd.factor rename to basis/unix/kqueue/netbsd/netbsd.factor diff --git a/basis/unix/kqueue/netbsd/tags.txt b/basis/unix/kqueue/netbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/kqueue/netbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/kqueue/openbsd/openbsd.factor b/basis/unix/kqueue/openbsd/openbsd.factor similarity index 100% rename from extra/unix/kqueue/openbsd/openbsd.factor rename to basis/unix/kqueue/openbsd/openbsd.factor diff --git a/basis/unix/kqueue/openbsd/tags.txt b/basis/unix/kqueue/openbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/kqueue/openbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/unix/kqueue/tags.txt b/basis/unix/kqueue/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/kqueue/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/tools/walker/authors.txt b/basis/unix/linux/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tools/walker/authors.txt rename to basis/unix/linux/authors.txt diff --git a/extra/tools/walker/debug/authors.txt b/basis/unix/linux/epoll/authors.txt similarity index 100% rename from extra/tools/walker/debug/authors.txt rename to basis/unix/linux/epoll/authors.txt diff --git a/extra/unix/linux/epoll/epoll.factor b/basis/unix/linux/epoll/epoll.factor similarity index 100% rename from extra/unix/linux/epoll/epoll.factor rename to basis/unix/linux/epoll/epoll.factor diff --git a/basis/unix/linux/epoll/tags.txt b/basis/unix/linux/epoll/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/epoll/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/fs/authors.txt b/basis/unix/linux/fs/authors.txt similarity index 100% rename from extra/unix/linux/fs/authors.txt rename to basis/unix/linux/fs/authors.txt diff --git a/extra/unix/linux/fs/fs.factor b/basis/unix/linux/fs/fs.factor similarity index 100% rename from extra/unix/linux/fs/fs.factor rename to basis/unix/linux/fs/fs.factor diff --git a/basis/unix/linux/fs/tags.txt b/basis/unix/linux/fs/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/fs/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/if/authors.txt b/basis/unix/linux/if/authors.txt similarity index 100% rename from extra/unix/linux/if/authors.txt rename to basis/unix/linux/if/authors.txt diff --git a/extra/unix/linux/if/if.factor b/basis/unix/linux/if/if.factor similarity index 100% rename from extra/unix/linux/if/if.factor rename to basis/unix/linux/if/if.factor diff --git a/basis/unix/linux/if/tags.txt b/basis/unix/linux/if/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/if/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/ifreq/authors.txt b/basis/unix/linux/ifreq/authors.txt similarity index 100% rename from extra/unix/linux/ifreq/authors.txt rename to basis/unix/linux/ifreq/authors.txt diff --git a/extra/unix/linux/ifreq/ifreq.factor b/basis/unix/linux/ifreq/ifreq.factor similarity index 100% rename from extra/unix/linux/ifreq/ifreq.factor rename to basis/unix/linux/ifreq/ifreq.factor diff --git a/basis/unix/linux/ifreq/tags.txt b/basis/unix/linux/ifreq/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/ifreq/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/inotify/inotify.factor b/basis/unix/linux/inotify/inotify.factor similarity index 100% rename from extra/unix/linux/inotify/inotify.factor rename to basis/unix/linux/inotify/inotify.factor diff --git a/basis/unix/linux/inotify/tags.txt b/basis/unix/linux/inotify/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/inotify/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/linux.factor b/basis/unix/linux/linux.factor similarity index 100% rename from extra/unix/linux/linux.factor rename to basis/unix/linux/linux.factor diff --git a/extra/unix/linux/route/authors.txt b/basis/unix/linux/route/authors.txt similarity index 100% rename from extra/unix/linux/route/authors.txt rename to basis/unix/linux/route/authors.txt diff --git a/extra/unix/linux/route/route.factor b/basis/unix/linux/route/route.factor similarity index 100% rename from extra/unix/linux/route/route.factor rename to basis/unix/linux/route/route.factor diff --git a/basis/unix/linux/route/tags.txt b/basis/unix/linux/route/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/route/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/sockios/authors.txt b/basis/unix/linux/sockios/authors.txt similarity index 100% rename from extra/unix/linux/sockios/authors.txt rename to basis/unix/linux/sockios/authors.txt diff --git a/extra/unix/linux/sockios/sockios.factor b/basis/unix/linux/sockios/sockios.factor similarity index 100% rename from extra/unix/linux/sockios/sockios.factor rename to basis/unix/linux/sockios/sockios.factor diff --git a/basis/unix/linux/sockios/tags.txt b/basis/unix/linux/sockios/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/sockios/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/linux/swap/authors.txt b/basis/unix/linux/swap/authors.txt similarity index 100% rename from extra/unix/linux/swap/authors.txt rename to basis/unix/linux/swap/authors.txt diff --git a/extra/unix/linux/swap/swap.factor b/basis/unix/linux/swap/swap.factor similarity index 100% rename from extra/unix/linux/swap/swap.factor rename to basis/unix/linux/swap/swap.factor diff --git a/basis/unix/linux/swap/tags.txt b/basis/unix/linux/swap/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/swap/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/unix/linux/tags.txt b/basis/unix/linux/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/linux/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/process/authors.txt b/basis/unix/process/authors.txt similarity index 100% rename from extra/unix/process/authors.txt rename to basis/unix/process/authors.txt diff --git a/extra/unix/process/process.factor b/basis/unix/process/process.factor similarity index 100% rename from extra/unix/process/process.factor rename to basis/unix/process/process.factor diff --git a/basis/unix/process/tags.txt b/basis/unix/process/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/process/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/tr/authors.txt b/basis/unix/solaris/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/tr/authors.txt rename to basis/unix/solaris/authors.txt diff --git a/extra/unix/solaris/solaris.factor b/basis/unix/solaris/solaris.factor similarity index 100% rename from extra/unix/solaris/solaris.factor rename to basis/unix/solaris/solaris.factor diff --git a/basis/unix/solaris/tags.txt b/basis/unix/solaris/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/solaris/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/freebsd/32/32.factor b/basis/unix/stat/freebsd/32/32.factor similarity index 100% rename from extra/unix/stat/freebsd/32/32.factor rename to basis/unix/stat/freebsd/32/32.factor diff --git a/basis/unix/stat/freebsd/32/tags.txt b/basis/unix/stat/freebsd/32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/freebsd/32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/freebsd/64/64.factor b/basis/unix/stat/freebsd/64/64.factor similarity index 100% rename from extra/unix/stat/freebsd/64/64.factor rename to basis/unix/stat/freebsd/64/64.factor diff --git a/basis/unix/stat/freebsd/64/tags.txt b/basis/unix/stat/freebsd/64/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/freebsd/64/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/freebsd/freebsd.factor b/basis/unix/stat/freebsd/freebsd.factor similarity index 100% rename from extra/unix/stat/freebsd/freebsd.factor rename to basis/unix/stat/freebsd/freebsd.factor diff --git a/basis/unix/stat/freebsd/tags.txt b/basis/unix/stat/freebsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/freebsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/linux/32/32.factor b/basis/unix/stat/linux/32/32.factor similarity index 100% rename from extra/unix/stat/linux/32/32.factor rename to basis/unix/stat/linux/32/32.factor diff --git a/basis/unix/stat/linux/32/tags.txt b/basis/unix/stat/linux/32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/linux/32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/linux/64/64.factor b/basis/unix/stat/linux/64/64.factor similarity index 100% rename from extra/unix/stat/linux/64/64.factor rename to basis/unix/stat/linux/64/64.factor diff --git a/basis/unix/stat/linux/64/tags.txt b/basis/unix/stat/linux/64/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/linux/64/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/linux/linux.factor b/basis/unix/stat/linux/linux.factor similarity index 100% rename from extra/unix/stat/linux/linux.factor rename to basis/unix/stat/linux/linux.factor diff --git a/basis/unix/stat/linux/tags.txt b/basis/unix/stat/linux/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/linux/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/macosx/macosx.factor b/basis/unix/stat/macosx/macosx.factor similarity index 100% rename from extra/unix/stat/macosx/macosx.factor rename to basis/unix/stat/macosx/macosx.factor diff --git a/basis/unix/stat/macosx/tags.txt b/basis/unix/stat/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/netbsd/32/32.factor b/basis/unix/stat/netbsd/32/32.factor similarity index 100% rename from extra/unix/stat/netbsd/32/32.factor rename to basis/unix/stat/netbsd/32/32.factor diff --git a/basis/unix/stat/netbsd/32/tags.txt b/basis/unix/stat/netbsd/32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/netbsd/32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/netbsd/64/64.factor b/basis/unix/stat/netbsd/64/64.factor similarity index 100% rename from extra/unix/stat/netbsd/64/64.factor rename to basis/unix/stat/netbsd/64/64.factor diff --git a/basis/unix/stat/netbsd/64/tags.txt b/basis/unix/stat/netbsd/64/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/netbsd/64/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/netbsd/netbsd.factor b/basis/unix/stat/netbsd/netbsd.factor similarity index 100% rename from extra/unix/stat/netbsd/netbsd.factor rename to basis/unix/stat/netbsd/netbsd.factor diff --git a/basis/unix/stat/netbsd/tags.txt b/basis/unix/stat/netbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/netbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/openbsd/openbsd.factor b/basis/unix/stat/openbsd/openbsd.factor similarity index 100% rename from extra/unix/stat/openbsd/openbsd.factor rename to basis/unix/stat/openbsd/openbsd.factor diff --git a/basis/unix/stat/openbsd/tags.txt b/basis/unix/stat/openbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/openbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/stat/stat.factor b/basis/unix/stat/stat.factor similarity index 100% rename from extra/unix/stat/stat.factor rename to basis/unix/stat/stat.factor diff --git a/basis/unix/stat/tags.txt b/basis/unix/stat/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/stat/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/summary.txt b/basis/unix/summary.txt similarity index 100% rename from extra/unix/summary.txt rename to basis/unix/summary.txt diff --git a/basis/unix/tags.txt b/basis/unix/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/unix/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/unix/time/tags.txt b/basis/unix/time/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/time/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/time/time.factor b/basis/unix/time/time.factor similarity index 100% rename from extra/unix/time/time.factor rename to basis/unix/time/time.factor diff --git a/extra/unix/types/freebsd/freebsd.factor b/basis/unix/types/freebsd/freebsd.factor similarity index 100% rename from extra/unix/types/freebsd/freebsd.factor rename to basis/unix/types/freebsd/freebsd.factor diff --git a/basis/unix/types/freebsd/tags.txt b/basis/unix/types/freebsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/freebsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/linux/linux.factor b/basis/unix/types/linux/linux.factor similarity index 100% rename from extra/unix/types/linux/linux.factor rename to basis/unix/types/linux/linux.factor diff --git a/basis/unix/types/linux/tags.txt b/basis/unix/types/linux/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/linux/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/macosx/macosx.factor b/basis/unix/types/macosx/macosx.factor similarity index 100% rename from extra/unix/types/macosx/macosx.factor rename to basis/unix/types/macosx/macosx.factor diff --git a/basis/unix/types/macosx/tags.txt b/basis/unix/types/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/netbsd/32/32.factor b/basis/unix/types/netbsd/32/32.factor similarity index 100% rename from extra/unix/types/netbsd/32/32.factor rename to basis/unix/types/netbsd/32/32.factor diff --git a/basis/unix/types/netbsd/32/tags.txt b/basis/unix/types/netbsd/32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/netbsd/32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/netbsd/64/64.factor b/basis/unix/types/netbsd/64/64.factor similarity index 100% rename from extra/unix/types/netbsd/64/64.factor rename to basis/unix/types/netbsd/64/64.factor diff --git a/basis/unix/types/netbsd/64/tags.txt b/basis/unix/types/netbsd/64/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/netbsd/64/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/netbsd/netbsd.factor b/basis/unix/types/netbsd/netbsd.factor similarity index 100% rename from extra/unix/types/netbsd/netbsd.factor rename to basis/unix/types/netbsd/netbsd.factor diff --git a/basis/unix/types/netbsd/tags.txt b/basis/unix/types/netbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/netbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/openbsd/openbsd.factor b/basis/unix/types/openbsd/openbsd.factor similarity index 100% rename from extra/unix/types/openbsd/openbsd.factor rename to basis/unix/types/openbsd/openbsd.factor diff --git a/basis/unix/types/openbsd/tags.txt b/basis/unix/types/openbsd/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/openbsd/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/unix/types/tags.txt b/basis/unix/types/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/unix/types/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/unix/types/types.factor b/basis/unix/types/types.factor similarity index 100% rename from extra/unix/types/types.factor rename to basis/unix/types/types.factor diff --git a/extra/unix/unix.factor b/basis/unix/unix.factor similarity index 100% rename from extra/unix/unix.factor rename to basis/unix/unix.factor diff --git a/extra/unix/authors.txt b/basis/urls/authors.txt similarity index 100% rename from extra/unix/authors.txt rename to basis/urls/authors.txt diff --git a/extra/urls/summary.txt b/basis/urls/summary.txt similarity index 100% rename from extra/urls/summary.txt rename to basis/urls/summary.txt diff --git a/extra/urls/tags.txt b/basis/urls/tags.txt similarity index 100% rename from extra/urls/tags.txt rename to basis/urls/tags.txt diff --git a/extra/urls/urls-tests.factor b/basis/urls/urls-tests.factor similarity index 100% rename from extra/urls/urls-tests.factor rename to basis/urls/urls-tests.factor diff --git a/extra/urls/urls.factor b/basis/urls/urls.factor similarity index 100% rename from extra/urls/urls.factor rename to basis/urls/urls.factor diff --git a/extra/validators/validators-tests.factor b/basis/validators/validators-tests.factor similarity index 100% rename from extra/validators/validators-tests.factor rename to basis/validators/validators-tests.factor diff --git a/extra/validators/validators.factor b/basis/validators/validators.factor similarity index 100% rename from extra/validators/validators.factor rename to basis/validators/validators.factor diff --git a/extra/values/authors.txt b/basis/values/authors.txt similarity index 100% rename from extra/values/authors.txt rename to basis/values/authors.txt diff --git a/extra/values/summary.txt b/basis/values/summary.txt similarity index 100% rename from extra/values/summary.txt rename to basis/values/summary.txt diff --git a/extra/values/tags.txt b/basis/values/tags.txt similarity index 100% rename from extra/values/tags.txt rename to basis/values/tags.txt diff --git a/extra/values/values-docs.factor b/basis/values/values-docs.factor similarity index 100% rename from extra/values/values-docs.factor rename to basis/values/values-docs.factor diff --git a/extra/values/values-tests.factor b/basis/values/values-tests.factor similarity index 100% rename from extra/values/values-tests.factor rename to basis/values/values-tests.factor diff --git a/extra/values/values.factor b/basis/values/values.factor similarity index 100% rename from extra/values/values.factor rename to basis/values/values.factor diff --git a/extra/windows/advapi32/advapi32.factor b/basis/windows/advapi32/advapi32.factor similarity index 100% rename from extra/windows/advapi32/advapi32.factor rename to basis/windows/advapi32/advapi32.factor diff --git a/extra/units/constants/authors.txt b/basis/windows/advapi32/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/units/constants/authors.txt rename to basis/windows/advapi32/authors.txt diff --git a/basis/windows/advapi32/tags.txt b/basis/windows/advapi32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/advapi32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/authors.txt b/basis/windows/authors.txt similarity index 100% rename from extra/windows/authors.txt rename to basis/windows/authors.txt diff --git a/extra/units/imperial/authors.txt b/basis/windows/ce/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/units/imperial/authors.txt rename to basis/windows/ce/authors.txt diff --git a/extra/windows/ce/ce.factor b/basis/windows/ce/ce.factor similarity index 100% rename from extra/windows/ce/ce.factor rename to basis/windows/ce/ce.factor diff --git a/basis/windows/ce/tags.txt b/basis/windows/ce/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/ce/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/com/authors.txt b/basis/windows/com/authors.txt similarity index 100% rename from extra/windows/com/authors.txt rename to basis/windows/com/authors.txt diff --git a/extra/windows/com/com-docs.factor b/basis/windows/com/com-docs.factor similarity index 100% rename from extra/windows/com/com-docs.factor rename to basis/windows/com/com-docs.factor diff --git a/extra/windows/com/com-tests.factor b/basis/windows/com/com-tests.factor similarity index 100% rename from extra/windows/com/com-tests.factor rename to basis/windows/com/com-tests.factor diff --git a/extra/windows/com/com.factor b/basis/windows/com/com.factor similarity index 100% rename from extra/windows/com/com.factor rename to basis/windows/com/com.factor diff --git a/extra/windows/com/summary.txt b/basis/windows/com/summary.txt similarity index 100% rename from extra/windows/com/summary.txt rename to basis/windows/com/summary.txt diff --git a/extra/windows/com/syntax/authors.txt b/basis/windows/com/syntax/authors.txt similarity index 100% rename from extra/windows/com/syntax/authors.txt rename to basis/windows/com/syntax/authors.txt diff --git a/extra/windows/com/syntax/summary.txt b/basis/windows/com/syntax/summary.txt similarity index 100% rename from extra/windows/com/syntax/summary.txt rename to basis/windows/com/syntax/summary.txt diff --git a/extra/windows/com/syntax/syntax-docs.factor b/basis/windows/com/syntax/syntax-docs.factor similarity index 100% rename from extra/windows/com/syntax/syntax-docs.factor rename to basis/windows/com/syntax/syntax-docs.factor diff --git a/extra/windows/com/syntax/syntax.factor b/basis/windows/com/syntax/syntax.factor similarity index 100% rename from extra/windows/com/syntax/syntax.factor rename to basis/windows/com/syntax/syntax.factor diff --git a/extra/windows/com/syntax/tags.txt b/basis/windows/com/syntax/tags.txt similarity index 65% rename from extra/windows/com/syntax/tags.txt rename to basis/windows/com/syntax/tags.txt index 49139bab66..71c5900baf 100644 --- a/extra/windows/com/syntax/tags.txt +++ b/basis/windows/com/syntax/tags.txt @@ -1,3 +1,4 @@ -windows -com -bindings +unportable +windows +com +bindings diff --git a/extra/windows/com/tags.txt b/basis/windows/com/tags.txt similarity index 65% rename from extra/windows/com/tags.txt rename to basis/windows/com/tags.txt index 49139bab66..71c5900baf 100644 --- a/extra/windows/com/tags.txt +++ b/basis/windows/com/tags.txt @@ -1,3 +1,4 @@ -windows -com -bindings +unportable +windows +com +bindings diff --git a/extra/windows/com/wrapper/authors.txt b/basis/windows/com/wrapper/authors.txt similarity index 100% rename from extra/windows/com/wrapper/authors.txt rename to basis/windows/com/wrapper/authors.txt diff --git a/extra/windows/com/wrapper/summary.txt b/basis/windows/com/wrapper/summary.txt similarity index 100% rename from extra/windows/com/wrapper/summary.txt rename to basis/windows/com/wrapper/summary.txt diff --git a/extra/windows/com/wrapper/tags.txt b/basis/windows/com/wrapper/tags.txt similarity index 65% rename from extra/windows/com/wrapper/tags.txt rename to basis/windows/com/wrapper/tags.txt index ffb665dc8f..71c5900baf 100644 --- a/extra/windows/com/wrapper/tags.txt +++ b/basis/windows/com/wrapper/tags.txt @@ -1,3 +1,4 @@ +unportable windows com bindings diff --git a/extra/windows/com/wrapper/wrapper-docs.factor b/basis/windows/com/wrapper/wrapper-docs.factor similarity index 100% rename from extra/windows/com/wrapper/wrapper-docs.factor rename to basis/windows/com/wrapper/wrapper-docs.factor diff --git a/extra/windows/com/wrapper/wrapper.factor b/basis/windows/com/wrapper/wrapper.factor similarity index 100% rename from extra/windows/com/wrapper/wrapper.factor rename to basis/windows/com/wrapper/wrapper.factor diff --git a/extra/windows/dinput/authors.txt b/basis/windows/dinput/authors.txt similarity index 100% rename from extra/windows/dinput/authors.txt rename to basis/windows/dinput/authors.txt diff --git a/extra/windows/dinput/constants/constants.factor b/basis/windows/dinput/constants/constants.factor similarity index 100% rename from extra/windows/dinput/constants/constants.factor rename to basis/windows/dinput/constants/constants.factor diff --git a/basis/windows/dinput/constants/tags.txt b/basis/windows/dinput/constants/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/dinput/constants/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/dinput/dinput.factor b/basis/windows/dinput/dinput.factor similarity index 100% rename from extra/windows/dinput/dinput.factor rename to basis/windows/dinput/dinput.factor diff --git a/extra/windows/dinput/summary.txt b/basis/windows/dinput/summary.txt similarity index 100% rename from extra/windows/dinput/summary.txt rename to basis/windows/dinput/summary.txt diff --git a/extra/windows/dinput/tags.txt b/basis/windows/dinput/tags.txt similarity index 60% rename from extra/windows/dinput/tags.txt rename to basis/windows/dinput/tags.txt index 5aebfa6848..1431506222 100755 --- a/extra/windows/dinput/tags.txt +++ b/basis/windows/dinput/tags.txt @@ -1,2 +1,3 @@ +unportable windows bindings diff --git a/extra/windows/dragdrop-listener/dragdrop-listener.factor b/basis/windows/dragdrop-listener/dragdrop-listener.factor similarity index 100% rename from extra/windows/dragdrop-listener/dragdrop-listener.factor rename to basis/windows/dragdrop-listener/dragdrop-listener.factor diff --git a/basis/windows/dragdrop-listener/tags.txt b/basis/windows/dragdrop-listener/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/dragdrop-listener/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/units/si/authors.txt b/basis/windows/errors/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/units/si/authors.txt rename to basis/windows/errors/authors.txt diff --git a/extra/windows/errors/errors.factor b/basis/windows/errors/errors.factor similarity index 100% rename from extra/windows/errors/errors.factor rename to basis/windows/errors/errors.factor diff --git a/basis/windows/errors/tags.txt b/basis/windows/errors/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/errors/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/advapi32/authors.txt b/basis/windows/gdi32/authors.txt similarity index 100% rename from extra/windows/advapi32/authors.txt rename to basis/windows/gdi32/authors.txt diff --git a/extra/windows/gdi32/gdi32.factor b/basis/windows/gdi32/gdi32.factor similarity index 100% rename from extra/windows/gdi32/gdi32.factor rename to basis/windows/gdi32/gdi32.factor diff --git a/basis/windows/gdi32/tags.txt b/basis/windows/gdi32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/gdi32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/ce/authors.txt b/basis/windows/kernel32/authors.txt similarity index 100% rename from extra/windows/ce/authors.txt rename to basis/windows/kernel32/authors.txt diff --git a/extra/windows/kernel32/kernel32.factor b/basis/windows/kernel32/kernel32.factor similarity index 100% rename from extra/windows/kernel32/kernel32.factor rename to basis/windows/kernel32/kernel32.factor diff --git a/basis/windows/kernel32/tags.txt b/basis/windows/kernel32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/kernel32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/errors/authors.txt b/basis/windows/messages/authors.txt similarity index 100% rename from extra/windows/errors/authors.txt rename to basis/windows/messages/authors.txt diff --git a/extra/windows/messages/messages.factor b/basis/windows/messages/messages.factor similarity index 100% rename from extra/windows/messages/messages.factor rename to basis/windows/messages/messages.factor diff --git a/basis/windows/messages/tags.txt b/basis/windows/messages/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/messages/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/gdi32/authors.txt b/basis/windows/nt/authors.txt similarity index 100% rename from extra/windows/gdi32/authors.txt rename to basis/windows/nt/authors.txt diff --git a/extra/windows/nt/nt.factor b/basis/windows/nt/nt.factor similarity index 100% rename from extra/windows/nt/nt.factor rename to basis/windows/nt/nt.factor diff --git a/basis/windows/nt/tags.txt b/basis/windows/nt/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/nt/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/ole32/authors.txt b/basis/windows/ole32/authors.txt similarity index 100% rename from extra/windows/ole32/authors.txt rename to basis/windows/ole32/authors.txt diff --git a/basis/windows/ole32/ole32-tests.factor b/basis/windows/ole32/ole32-tests.factor new file mode 100644 index 0000000000..ecd25738b1 --- /dev/null +++ b/basis/windows/ole32/ole32-tests.factor @@ -0,0 +1,36 @@ +USING: kernel tools.test windows.ole32 alien.c-types ; +IN: windows.ole32.tests + +[ t ] [ + "{01234567-89ab-cdef-0123-456789abcdef}" string>guid + "{01234567-89ab-cdef-0123-456789abcdef}" string>guid + guid= +] unit-test + +[ f ] [ + "{76543210-89ab-cdef-0123-456789abcdef}" string>guid + "{01234567-89ab-cdef-0123-456789abcdef}" string>guid + guid= +] unit-test + +[ f ] [ + "{01234567-89ab-cdef-0123-fedcba987654}" string>guid + "{01234567-89ab-cdef-0123-456789abcdef}" string>guid + guid= +] unit-test + +little-endian? +[ B{ + HEX: 67 HEX: 45 HEX: 23 HEX: 01 HEX: ab HEX: 89 HEX: ef HEX: cd + HEX: 01 HEX: 23 HEX: 45 HEX: 67 HEX: 89 HEX: ab HEX: cd HEX: ef +} ] +[ B{ + HEX: 01 HEX: 23 HEX: 45 HEX: 67 HEX: 89 HEX: ab HEX: cd HEX: ef + HEX: 01 HEX: 23 HEX: 45 HEX: 67 HEX: 89 HEX: ab HEX: cd HEX: ef +} ] ? +[ "{01234567-89ab-cdef-0123-456789abcdef}" string>guid ] +unit-test + +[ "{01234567-89ab-cdef-0123-456789abcdef}" ] +[ "{01234567-89ab-cdef-0123-456789abcdef}" string>guid guid>string ] +unit-test diff --git a/extra/windows/ole32/ole32.factor b/basis/windows/ole32/ole32.factor similarity index 72% rename from extra/windows/ole32/ole32.factor rename to basis/windows/ole32/ole32.factor index e33c2e2437..21b07f9a7d 100755 --- a/extra/windows/ole32/ole32.factor +++ b/basis/windows/ole32/ole32.factor @@ -1,6 +1,6 @@ USING: alien alien.syntax alien.c-types alien.strings math kernel sequences windows windows.types debugger io accessors -math.order ; +math.order namespaces math.parser windows.kernel32 combinators ; IN: windows.ole32 LIBRARY: ole32 @@ -128,14 +128,54 @@ M: ole32-error error. f OleInitialize ole32-error ; : guid= ( a b -- ? ) - IsEqualGUID c-bool> ; + [ 16 memory>byte-array ] bi@ = ; : GUID-STRING-LENGTH "{01234567-89ab-cdef-0123-456789abcdef}" length ; inline -: string>guid ( string -- guid ) - utf16n string>alien "GUID" <c-object> [ CLSIDFromString ole32-error ] keep ; -: guid>string ( guid -- string ) - GUID-STRING-LENGTH 1+ [ "ushort" <c-array> ] keep - [ StringFromGUID2 drop ] 2keep drop utf16n alien>string ; +: (guid-section>guid) ( guid string start end quot -- ) + [ roll subseq hex> swap ] dip call ; inline +: (guid-byte>guid) ( guid string start end byte -- ) + [ roll subseq hex> ] dip + rot GUID-Data4 set-uchar-nth ; inline + +: string>guid ( string -- guid ) + "GUID" <c-object> [ { + [ 1 9 [ set-GUID-Data1 ] (guid-section>guid) ] + + [ 10 14 [ set-GUID-Data2 ] (guid-section>guid) ] + + [ 15 19 [ set-GUID-Data3 ] (guid-section>guid) ] + + [ 20 22 0 (guid-byte>guid) ] + [ 22 24 1 (guid-byte>guid) ] + + [ 25 27 2 (guid-byte>guid) ] + [ 27 29 3 (guid-byte>guid) ] + [ 29 31 4 (guid-byte>guid) ] + [ 31 33 5 (guid-byte>guid) ] + [ 33 35 6 (guid-byte>guid) ] + [ 35 37 7 (guid-byte>guid) ] + } 2cleave ] keep ; + +: (guid-section%) ( guid quot len -- ) + [ call >hex ] dip CHAR: 0 pad-left % ; inline +: (guid-byte%) ( guid byte -- ) + swap GUID-Data4 uchar-nth >hex 2 + CHAR: 0 pad-left % ; inline + +: guid>string ( guid -- string ) + [ "{" % { + [ [ GUID-Data1 ] 8 (guid-section%) "-" % ] + [ [ GUID-Data2 ] 4 (guid-section%) "-" % ] + [ [ GUID-Data3 ] 4 (guid-section%) "-" % ] + [ 0 (guid-byte%) ] + [ 1 (guid-byte%) "-" % ] + [ 2 (guid-byte%) ] + [ 3 (guid-byte%) ] + [ 4 (guid-byte%) ] + [ 5 (guid-byte%) ] + [ 6 (guid-byte%) ] + [ 7 (guid-byte%) "}" % ] + } cleave ] "" make ; diff --git a/basis/windows/ole32/tags.txt b/basis/windows/ole32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/ole32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/kernel32/authors.txt b/basis/windows/opengl32/authors.txt similarity index 100% rename from extra/windows/kernel32/authors.txt rename to basis/windows/opengl32/authors.txt diff --git a/extra/windows/opengl32/opengl32.factor b/basis/windows/opengl32/opengl32.factor similarity index 100% rename from extra/windows/opengl32/opengl32.factor rename to basis/windows/opengl32/opengl32.factor diff --git a/basis/windows/opengl32/tags.txt b/basis/windows/opengl32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/opengl32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/messages/authors.txt b/basis/windows/shell32/authors.txt similarity index 100% rename from extra/windows/messages/authors.txt rename to basis/windows/shell32/authors.txt diff --git a/extra/windows/shell32/shell32.factor b/basis/windows/shell32/shell32.factor similarity index 100% rename from extra/windows/shell32/shell32.factor rename to basis/windows/shell32/shell32.factor diff --git a/basis/windows/shell32/tags.txt b/basis/windows/shell32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/shell32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/summary.txt b/basis/windows/summary.txt similarity index 100% rename from extra/windows/summary.txt rename to basis/windows/summary.txt diff --git a/basis/windows/tags.txt b/basis/windows/tags.txt new file mode 100644 index 0000000000..1431506222 --- /dev/null +++ b/basis/windows/tags.txt @@ -0,0 +1,3 @@ +unportable +windows +bindings diff --git a/extra/windows/nt/authors.txt b/basis/windows/time/authors.txt similarity index 100% rename from extra/windows/nt/authors.txt rename to basis/windows/time/authors.txt diff --git a/basis/windows/time/tags.txt b/basis/windows/time/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/time/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/time/time-tests.factor b/basis/windows/time/time-tests.factor similarity index 100% rename from extra/windows/time/time-tests.factor rename to basis/windows/time/time-tests.factor diff --git a/extra/windows/time/time.factor b/basis/windows/time/time.factor similarity index 100% rename from extra/windows/time/time.factor rename to basis/windows/time/time.factor diff --git a/extra/windows/opengl32/authors.txt b/basis/windows/types/authors.txt similarity index 100% rename from extra/windows/opengl32/authors.txt rename to basis/windows/types/authors.txt diff --git a/basis/windows/types/tags.txt b/basis/windows/types/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/types/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/types/types.factor b/basis/windows/types/types.factor similarity index 100% rename from extra/windows/types/types.factor rename to basis/windows/types/types.factor diff --git a/extra/windows/shell32/authors.txt b/basis/windows/user32/authors.txt similarity index 100% rename from extra/windows/shell32/authors.txt rename to basis/windows/user32/authors.txt diff --git a/basis/windows/user32/tags.txt b/basis/windows/user32/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/user32/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/user32/user32.factor b/basis/windows/user32/user32.factor similarity index 100% rename from extra/windows/user32/user32.factor rename to basis/windows/user32/user32.factor diff --git a/extra/windows/windows.factor b/basis/windows/windows.factor similarity index 100% rename from extra/windows/windows.factor rename to basis/windows/windows.factor diff --git a/extra/windows/time/authors.txt b/basis/windows/winsock/authors.txt similarity index 100% rename from extra/windows/time/authors.txt rename to basis/windows/winsock/authors.txt diff --git a/basis/windows/winsock/tags.txt b/basis/windows/winsock/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/windows/winsock/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/winsock/winsock.factor b/basis/windows/winsock/winsock.factor similarity index 100% rename from extra/windows/winsock/winsock.factor rename to basis/windows/winsock/winsock.factor diff --git a/extra/wrap/authors.txt b/basis/wrap/authors.txt similarity index 100% rename from extra/wrap/authors.txt rename to basis/wrap/authors.txt diff --git a/extra/wrap/summary.txt b/basis/wrap/summary.txt similarity index 100% rename from extra/wrap/summary.txt rename to basis/wrap/summary.txt diff --git a/extra/wrap/tags.txt b/basis/wrap/tags.txt similarity index 100% rename from extra/wrap/tags.txt rename to basis/wrap/tags.txt diff --git a/extra/wrap/wrap.factor b/basis/wrap/wrap.factor similarity index 100% rename from extra/wrap/wrap.factor rename to basis/wrap/wrap.factor diff --git a/extra/x11/clipboard/authors.txt b/basis/x11/clipboard/authors.txt similarity index 100% rename from extra/x11/clipboard/authors.txt rename to basis/x11/clipboard/authors.txt diff --git a/extra/x11/clipboard/clipboard.factor b/basis/x11/clipboard/clipboard.factor similarity index 100% rename from extra/x11/clipboard/clipboard.factor rename to basis/x11/clipboard/clipboard.factor diff --git a/extra/x11/clipboard/summary.txt b/basis/x11/clipboard/summary.txt similarity index 100% rename from extra/x11/clipboard/summary.txt rename to basis/x11/clipboard/summary.txt diff --git a/extra/x11/constants/authors.txt b/basis/x11/constants/authors.txt similarity index 100% rename from extra/x11/constants/authors.txt rename to basis/x11/constants/authors.txt diff --git a/extra/x11/constants/constants.factor b/basis/x11/constants/constants.factor similarity index 100% rename from extra/x11/constants/constants.factor rename to basis/x11/constants/constants.factor diff --git a/extra/x11/constants/summary.txt b/basis/x11/constants/summary.txt similarity index 100% rename from extra/x11/constants/summary.txt rename to basis/x11/constants/summary.txt diff --git a/extra/x11/events/authors.txt b/basis/x11/events/authors.txt similarity index 100% rename from extra/x11/events/authors.txt rename to basis/x11/events/authors.txt diff --git a/extra/x11/events/events.factor b/basis/x11/events/events.factor similarity index 100% rename from extra/x11/events/events.factor rename to basis/x11/events/events.factor diff --git a/extra/x11/events/summary.txt b/basis/x11/events/summary.txt similarity index 100% rename from extra/x11/events/summary.txt rename to basis/x11/events/summary.txt diff --git a/extra/x11/glx/authors.txt b/basis/x11/glx/authors.txt similarity index 100% rename from extra/x11/glx/authors.txt rename to basis/x11/glx/authors.txt diff --git a/extra/x11/glx/glx.factor b/basis/x11/glx/glx.factor similarity index 100% rename from extra/x11/glx/glx.factor rename to basis/x11/glx/glx.factor diff --git a/extra/x11/glx/summary.txt b/basis/x11/glx/summary.txt similarity index 100% rename from extra/x11/glx/summary.txt rename to basis/x11/glx/summary.txt diff --git a/extra/freetype/tags.txt b/basis/x11/glx/tags.txt similarity index 100% rename from extra/freetype/tags.txt rename to basis/x11/glx/tags.txt diff --git a/extra/x11/summary.txt b/basis/x11/summary.txt similarity index 100% rename from extra/x11/summary.txt rename to basis/x11/summary.txt diff --git a/extra/math/libm/tags.txt b/basis/x11/tags.txt similarity index 100% rename from extra/math/libm/tags.txt rename to basis/x11/tags.txt diff --git a/extra/x11/windows/authors.txt b/basis/x11/windows/authors.txt similarity index 100% rename from extra/x11/windows/authors.txt rename to basis/x11/windows/authors.txt diff --git a/extra/x11/windows/summary.txt b/basis/x11/windows/summary.txt similarity index 100% rename from extra/x11/windows/summary.txt rename to basis/x11/windows/summary.txt diff --git a/basis/x11/windows/tags.txt b/basis/x11/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/x11/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/x11/windows/windows.factor b/basis/x11/windows/windows.factor similarity index 100% rename from extra/x11/windows/windows.factor rename to basis/x11/windows/windows.factor diff --git a/extra/unix/bsd/authors.txt b/basis/x11/xim/authors.txt similarity index 100% rename from extra/unix/bsd/authors.txt rename to basis/x11/xim/authors.txt diff --git a/extra/x11/xim/summary.txt b/basis/x11/xim/summary.txt similarity index 100% rename from extra/x11/xim/summary.txt rename to basis/x11/xim/summary.txt diff --git a/extra/unix/tags.txt b/basis/x11/xim/tags.txt similarity index 100% rename from extra/unix/tags.txt rename to basis/x11/xim/tags.txt diff --git a/extra/x11/xim/xim.factor b/basis/x11/xim/xim.factor similarity index 100% rename from extra/x11/xim/xim.factor rename to basis/x11/xim/xim.factor diff --git a/extra/x11/xlib/authors.txt b/basis/x11/xlib/authors.txt similarity index 100% rename from extra/x11/xlib/authors.txt rename to basis/x11/xlib/authors.txt diff --git a/extra/x11/xlib/summary.txt b/basis/x11/xlib/summary.txt similarity index 100% rename from extra/x11/xlib/summary.txt rename to basis/x11/xlib/summary.txt diff --git a/extra/x11/glx/tags.txt b/basis/x11/xlib/tags.txt similarity index 100% rename from extra/x11/glx/tags.txt rename to basis/x11/xlib/tags.txt diff --git a/extra/x11/xlib/xlib.factor b/basis/x11/xlib/xlib.factor similarity index 100% rename from extra/x11/xlib/xlib.factor rename to basis/x11/xlib/xlib.factor diff --git a/extra/xml-rpc/authors.txt b/basis/xml-rpc/authors.txt similarity index 100% rename from extra/xml-rpc/authors.txt rename to basis/xml-rpc/authors.txt diff --git a/extra/xml-rpc/example.factor b/basis/xml-rpc/example.factor similarity index 100% rename from extra/xml-rpc/example.factor rename to basis/xml-rpc/example.factor diff --git a/extra/xml-rpc/summary.txt b/basis/xml-rpc/summary.txt similarity index 100% rename from extra/xml-rpc/summary.txt rename to basis/xml-rpc/summary.txt diff --git a/extra/xml-rpc/tags.txt b/basis/xml-rpc/tags.txt similarity index 100% rename from extra/xml-rpc/tags.txt rename to basis/xml-rpc/tags.txt diff --git a/extra/xml-rpc/xml-rpc-docs.factor b/basis/xml-rpc/xml-rpc-docs.factor similarity index 100% rename from extra/xml-rpc/xml-rpc-docs.factor rename to basis/xml-rpc/xml-rpc-docs.factor diff --git a/extra/xml-rpc/xml-rpc-tests.factor b/basis/xml-rpc/xml-rpc-tests.factor similarity index 100% rename from extra/xml-rpc/xml-rpc-tests.factor rename to basis/xml-rpc/xml-rpc-tests.factor diff --git a/extra/xml-rpc/xml-rpc.factor b/basis/xml-rpc/xml-rpc.factor similarity index 100% rename from extra/xml-rpc/xml-rpc.factor rename to basis/xml-rpc/xml-rpc.factor diff --git a/extra/xml/authors.txt b/basis/xml/authors.txt similarity index 100% rename from extra/xml/authors.txt rename to basis/xml/authors.txt diff --git a/extra/xml/backend/backend.factor b/basis/xml/backend/backend.factor similarity index 100% rename from extra/xml/backend/backend.factor rename to basis/xml/backend/backend.factor diff --git a/extra/xml/char-classes/authors.txt b/basis/xml/char-classes/authors.txt similarity index 100% rename from extra/xml/char-classes/authors.txt rename to basis/xml/char-classes/authors.txt diff --git a/extra/xml/char-classes/char-classes.factor b/basis/xml/char-classes/char-classes.factor similarity index 100% rename from extra/xml/char-classes/char-classes.factor rename to basis/xml/char-classes/char-classes.factor diff --git a/extra/xml/data/authors.txt b/basis/xml/data/authors.txt similarity index 100% rename from extra/xml/data/authors.txt rename to basis/xml/data/authors.txt diff --git a/extra/xml/data/data.factor b/basis/xml/data/data.factor similarity index 100% rename from extra/xml/data/data.factor rename to basis/xml/data/data.factor diff --git a/extra/xml/entities/authors.txt b/basis/xml/entities/authors.txt similarity index 100% rename from extra/xml/entities/authors.txt rename to basis/xml/entities/authors.txt diff --git a/extra/xml/entities/entities.factor b/basis/xml/entities/entities.factor similarity index 100% rename from extra/xml/entities/entities.factor rename to basis/xml/entities/entities.factor diff --git a/extra/xml/errors/authors.txt b/basis/xml/errors/authors.txt similarity index 100% rename from extra/xml/errors/authors.txt rename to basis/xml/errors/authors.txt diff --git a/extra/xml/errors/errors-tests.factor b/basis/xml/errors/errors-tests.factor similarity index 100% rename from extra/xml/errors/errors-tests.factor rename to basis/xml/errors/errors-tests.factor diff --git a/extra/xml/errors/errors.factor b/basis/xml/errors/errors.factor similarity index 100% rename from extra/xml/errors/errors.factor rename to basis/xml/errors/errors.factor diff --git a/extra/xml/generator/authors.txt b/basis/xml/generator/authors.txt similarity index 100% rename from extra/xml/generator/authors.txt rename to basis/xml/generator/authors.txt diff --git a/extra/xml/generator/generator-tests.factor b/basis/xml/generator/generator-tests.factor similarity index 100% rename from extra/xml/generator/generator-tests.factor rename to basis/xml/generator/generator-tests.factor diff --git a/extra/xml/generator/generator.factor b/basis/xml/generator/generator.factor similarity index 100% rename from extra/xml/generator/generator.factor rename to basis/xml/generator/generator.factor diff --git a/extra/xml/summary.txt b/basis/xml/summary.txt similarity index 100% rename from extra/xml/summary.txt rename to basis/xml/summary.txt diff --git a/extra/xml/tags.txt b/basis/xml/tags.txt similarity index 100% rename from extra/xml/tags.txt rename to basis/xml/tags.txt diff --git a/extra/xml/tests/arithmetic.factor b/basis/xml/tests/arithmetic.factor similarity index 100% rename from extra/xml/tests/arithmetic.factor rename to basis/xml/tests/arithmetic.factor diff --git a/extra/xml/tests/authors.txt b/basis/xml/tests/authors.txt similarity index 100% rename from extra/xml/tests/authors.txt rename to basis/xml/tests/authors.txt diff --git a/extra/xml/tests/soap.factor b/basis/xml/tests/soap.factor similarity index 88% rename from extra/xml/tests/soap.factor rename to basis/xml/tests/soap.factor index c7452bb079..d2568a24e1 100755 --- a/extra/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:extra/xml/tests/soap.xml" file>xml + "resource:basis/xml/tests/soap.xml" file>xml parse-result first first ] unit-test diff --git a/extra/xml/tests/soap.xml b/basis/xml/tests/soap.xml similarity index 100% rename from extra/xml/tests/soap.xml rename to basis/xml/tests/soap.xml diff --git a/extra/xml/tests/templating.factor b/basis/xml/tests/templating.factor similarity index 100% rename from extra/xml/tests/templating.factor rename to basis/xml/tests/templating.factor diff --git a/extra/xml/tests/test.factor b/basis/xml/tests/test.factor similarity index 98% rename from extra/xml/tests/test.factor rename to basis/xml/tests/test.factor index 7794930144..e3fc9d9bca 100644 --- a/extra/xml/tests/test.factor +++ b/basis/xml/tests/test.factor @@ -9,7 +9,7 @@ USING: kernel xml tools.test io namespaces sequences xml.errors xml.entities \ read-xml must-infer SYMBOL: xml-file -[ ] [ "resource:extra/xml/tests/test.xml" +[ ] [ "resource:basis/xml/tests/test.xml" [ file>xml ] with-html-entities xml-file set ] unit-test [ "1.0" ] [ xml-file get xml-prolog prolog-version ] unit-test [ f ] [ xml-file get xml-prolog prolog-standalone ] unit-test diff --git a/extra/xml/tests/test.xml b/basis/xml/tests/test.xml similarity index 100% rename from extra/xml/tests/test.xml rename to basis/xml/tests/test.xml diff --git a/extra/xml/tokenize/authors.txt b/basis/xml/tokenize/authors.txt similarity index 100% rename from extra/xml/tokenize/authors.txt rename to basis/xml/tokenize/authors.txt diff --git a/extra/xml/tokenize/tokenize.factor b/basis/xml/tokenize/tokenize.factor similarity index 100% rename from extra/xml/tokenize/tokenize.factor rename to basis/xml/tokenize/tokenize.factor diff --git a/extra/xml/utilities/authors.txt b/basis/xml/utilities/authors.txt similarity index 100% rename from extra/xml/utilities/authors.txt rename to basis/xml/utilities/authors.txt diff --git a/extra/xml/utilities/utilities-tests.factor b/basis/xml/utilities/utilities-tests.factor similarity index 100% rename from extra/xml/utilities/utilities-tests.factor rename to basis/xml/utilities/utilities-tests.factor diff --git a/extra/xml/utilities/utilities.factor b/basis/xml/utilities/utilities.factor similarity index 100% rename from extra/xml/utilities/utilities.factor rename to basis/xml/utilities/utilities.factor diff --git a/extra/xml/writer/authors.txt b/basis/xml/writer/authors.txt similarity index 100% rename from extra/xml/writer/authors.txt rename to basis/xml/writer/authors.txt diff --git a/extra/xml/writer/writer.factor b/basis/xml/writer/writer.factor similarity index 100% rename from extra/xml/writer/writer.factor rename to basis/xml/writer/writer.factor diff --git a/extra/xml/xml-docs.factor b/basis/xml/xml-docs.factor similarity index 100% rename from extra/xml/xml-docs.factor rename to basis/xml/xml-docs.factor diff --git a/extra/xml/xml.factor b/basis/xml/xml.factor similarity index 100% rename from extra/xml/xml.factor rename to basis/xml/xml.factor diff --git a/core/alien/alien-docs.factor b/core/alien/alien-docs.factor index 70e1d2b399..7eca2af858 100755 --- a/core/alien/alien-docs.factor +++ b/core/alien/alien-docs.factor @@ -1,7 +1,7 @@ USING: byte-arrays arrays help.syntax help.markup alien.syntax compiler definitions math libc debugger parser io io.backend system -alien.accessors ; +alien.accessors eval ; IN: alien HELP: alien diff --git a/core/bootstrap/primitives.factor b/core/bootstrap/primitives.factor index b512ea6380..5d7d5e0d2c 100755 --- a/core/bootstrap/primitives.factor +++ b/core/bootstrap/primitives.factor @@ -18,7 +18,7 @@ H{ } clone sub-primitives set "resource:core/bootstrap/syntax.factor" parse-file -"resource:core/cpu/" architecture get { +"resource:basis/cpu/" architecture get { { "x86.32" "x86/32" } { "x86.64" "x86/64" } { "linux-ppc" "ppc/linux" } diff --git a/core/bootstrap/stage1.factor b/core/bootstrap/stage1.factor index 9a0f8f9d1f..92558561d2 100755 --- a/core/bootstrap/stage1.factor +++ b/core/bootstrap/stage1.factor @@ -1,19 +1,18 @@ ! Copyright (C) 2004, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -IN: bootstrap.stage1 USING: arrays debugger generic hashtables io assocs kernel.private kernel math memory namespaces parser prettyprint sequences vectors words system splitting init io.files bootstrap.image bootstrap.image.private vocabs vocabs.loader system debugger continuations ; - -{ "resource:core" } vocab-roots set +IN: bootstrap.stage1 "Bootstrap stage 1..." print flush "resource:core/bootstrap/primitives.factor" run-file load-help? off +{ "resource:core" } vocab-roots set ! Create a boot quotation for the target [ @@ -33,9 +32,6 @@ load-help? off "math.floats" require "memory" require - ! this must add its init hook before io.backend does - "libc" require - "io.streams.c" require "vocabs.loader" require @@ -43,17 +39,9 @@ load-help? off "bootstrap.layouts" require [ - "resource:core/bootstrap/stage2.factor" + "resource:basis/bootstrap/stage2.factor" dup exists? [ - [ run-file ] - [ - :c - dup print-error flush - "listener" vocab - [ restarts. vocab-main execute ] - [ die ] if* - 1 exit - ] recover + run-file ] [ "Cannot find " write write "." print "Please move " write image write " to the same directory as the Factor sources," print diff --git a/core/classes/mixin/mixin-tests.factor b/core/classes/mixin/mixin-tests.factor index b455676c38..f6ca9184b2 100644 --- a/core/classes/mixin/mixin-tests.factor +++ b/core/classes/mixin/mixin-tests.factor @@ -3,7 +3,7 @@ kernel math namespaces parser prettyprint sequences strings tools.test vectors words quotations classes classes.private classes.union classes.mixin classes.predicate classes.algebra vectors definitions source-files -compiler.units kernel.private sorting vocabs ; +compiler.units kernel.private sorting vocabs eval ; IN: classes.mixin.tests ! Test mixins diff --git a/core/classes/tuple/parser/parser-tests.factor b/core/classes/tuple/parser/parser-tests.factor index 6f7d4af6bc..7b0cb998e4 100644 --- a/core/classes/tuple/parser/parser-tests.factor +++ b/core/classes/tuple/parser/parser-tests.factor @@ -1,7 +1,7 @@ IN: classes.tuple.parser.tests USING: accessors classes.tuple.parser lexer words classes sequences math kernel slots tools.test parser compiler.units -arrays classes.tuple ; +arrays classes.tuple eval ; TUPLE: test-1 ; diff --git a/core/classes/tuple/parser/parser.factor b/core/classes/tuple/parser/parser.factor index ded0ca2a72..47363378fa 100644 --- a/core/classes/tuple/parser/parser.factor +++ b/core/classes/tuple/parser/parser.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel sets namespaces sequences summary parser +USING: accessors kernel sets namespaces sequences parser lexer combinators words classes.parser classes.tuple arrays ; IN: classes.tuple.parser @@ -23,18 +23,12 @@ IN: classes.tuple.parser ERROR: duplicate-slot-names names ; -M: duplicate-slot-names summary - drop "Duplicate slot names" ; - : check-duplicate-slots ( slots -- ) slot-names duplicates dup empty? [ drop ] [ duplicate-slot-names ] if ; ERROR: invalid-slot-name name ; -M: invalid-slot-name summary - drop "Invalid slot name" ; - : parse-long-slot-name ( -- ) [ scan , \ } parse-until % ] { } make ; diff --git a/core/classes/tuple/tuple-tests.factor b/core/classes/tuple/tuple-tests.factor index 35d4149d37..dc83a15e9b 100755 --- a/core/classes/tuple/tuple-tests.factor +++ b/core/classes/tuple/tuple-tests.factor @@ -4,7 +4,7 @@ namespaces quotations sequences.private classes continuations generic.standard effects classes.tuple classes.tuple.private arrays vectors strings compiler.units accessors classes.algebra calendar prettyprint io.streams.string splitting summary -columns math.order classes.private slots slots.private ; +columns math.order classes.private slots slots.private eval ; IN: classes.tuple.tests TUPLE: rect x y w h ; diff --git a/core/classes/union/union-tests.factor b/core/classes/union/union-tests.factor index 4fd8cf643e..97baf08874 100644 --- a/core/classes/union/union-tests.factor +++ b/core/classes/union/union-tests.factor @@ -3,7 +3,8 @@ kernel math namespaces parser prettyprint sequences strings tools.test vectors words quotations classes classes.private classes.union classes.mixin classes.predicate classes.algebra vectors definitions source-files -compiler.units kernel.private sorting vocabs io.streams.string ; +compiler.units kernel.private sorting vocabs io.streams.string +eval ; IN: classes.union.tests ! DEFER: bah diff --git a/core/combinators/combinators-docs.factor b/core/combinators/combinators-docs.factor index 4f8efc499f..af79b92bea 100755 --- a/core/combinators/combinators-docs.factor +++ b/core/combinators/combinators-docs.factor @@ -25,9 +25,17 @@ $nl $nl "A combinator which can help with implementing methods on " { $link hashcode* } ":" { $subsection recursive-hashcode } +{ $subsection "assertions" } { $subsection "combinators-quot" } { $see-also "quotations" "dataflow" } ; +ARTICLE: "assertions" "Assertions" +"Some words to make assertions easier to enforce:" +{ $subsection assert } +{ $subsection assert= } +"Runtime stack depth checking:" +{ $subsection assert-depth } ; + ABOUT: "combinators" HELP: cleave @@ -145,3 +153,7 @@ HELP: dispatch ( n array -- ) { $values { "n" "a fixnum" } { "array" "an array of quotations" } } { $description "Calls the " { $snippet "n" } "th quotation in the array." } { $warning "This word is in the " { $vocab-link "kernel.private" } " vocabulary because it is an implementation detail used by the generic word system to accelerate method dispatch. It does not perform type or bounds checks, and user code should not need to call it directly." } ; + +HELP: assert-depth +{ $values { "quot" "a quotation" } } +{ $description "Runs a quotation. Throws an error if the total number of elements on the stack is not the same before and after the quotation runs." } ; diff --git a/core/combinators/combinators.factor b/core/combinators/combinators.factor index 1cc64432cc..188dcb3d11 100755 --- a/core/combinators/combinators.factor +++ b/core/combinators/combinators.factor @@ -138,6 +138,22 @@ ERROR: no-case ; [ drop linear-case-quot ] } cond ; +! assert-depth +: trim-datastacks ( seq1 seq2 -- seq1' seq2' ) + 2dup [ length ] bi@ min tuck tail >r tail r> ; + +ERROR: relative-underflow stack ; + +ERROR: relative-overflow stack ; + +: assert-depth ( quot -- ) + >r datastack r> dip >r datastack r> + 2dup [ length ] compare { + { +lt+ [ trim-datastacks nip relative-underflow ] } + { +eq+ [ 2drop ] } + { +gt+ [ trim-datastacks drop relative-overflow ] } + } case ; inline + ! recursive-hashcode : recursive-hashcode ( n obj quot -- code ) pick 0 <= [ 3drop 0 ] [ rot 1- -rot call ] if ; inline diff --git a/core/compiler/errors/errors.factor b/core/compiler/errors/errors.factor index 2bea6ad974..e21348fd19 100755 --- a/core/compiler/errors/errors.factor +++ b/core/compiler/errors/errors.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel namespaces assocs prettyprint io sequences -sorting continuations debugger math math.parser ; +USING: kernel namespaces assocs io sequences +sorting continuations math math.parser ; IN: compiler.errors SYMBOL: +error+ @@ -12,18 +12,14 @@ GENERIC: compiler-error-type ( error -- ? ) M: object compiler-error-type drop +error+ ; +GENERIC# compiler-error. 1 ( error word -- ) + <PRIVATE SYMBOL: compiler-errors SYMBOL: with-compiler-errors? -: compiler-error. ( error word -- ) - nl - "While compiling " write pprint ": " print - nl - print-error ; - : errors-of-type ( type -- assoc ) compiler-errors get-global swap [ >r nip compiler-error-type r> eq? ] curry @@ -53,18 +49,18 @@ SYMBOL: with-compiler-errors? PRIVATE> -: compiler-error ( error word -- ) - with-compiler-errors? get [ - compiler-errors get pick - [ set-at ] [ delete-at drop ] if - ] [ 2drop ] if ; - : :errors ( -- ) +error+ compiler-errors. ; : :warnings ( -- ) +warning+ compiler-errors. ; : :linkage ( -- ) +linkage+ compiler-errors. ; +: compiler-error ( error word -- ) + with-compiler-errors? get [ + compiler-errors get pick + [ set-at ] [ delete-at drop ] if + ] [ 2drop ] if ; + : with-compiler-errors ( quot -- ) with-compiler-errors? get "quiet" get or [ call ] [ [ diff --git a/core/continuations/continuations-docs.factor b/core/continuations/continuations-docs.factor index 332e8eea67..3949c4b566 100755 --- a/core/continuations/continuations-docs.factor +++ b/core/continuations/continuations-docs.factor @@ -209,5 +209,5 @@ HELP: with-datastack { $values { "stack" sequence } { "quot" quotation } { "newstack" sequence } } { $description "Executes the quotation with the given data stack contents, and outputs the new data stack after the word returns. The input sequence is not modified. Does not affect the data stack in surrounding code, other than consuming the two inputs and pushing the output." } { $examples - { $example "USING: combinators math prettyprint ;" "{ 3 7 } [ + ] with-datastack ." "{ 10 }" } + { $example "USING: continuations math prettyprint ;" "{ 3 7 } [ + ] with-datastack ." "{ 10 }" } } ; diff --git a/core/continuations/continuations-tests.factor b/core/continuations/continuations-tests.factor index c292cf7691..28658d67d7 100755 --- a/core/continuations/continuations-tests.factor +++ b/core/continuations/continuations-tests.factor @@ -1,6 +1,6 @@ USING: kernel math namespaces io tools.test sequences vectors continuations debugger parser memory arrays words -kernel.private accessors ; +kernel.private accessors eval ; IN: continuations.tests : (callcc1-test) diff --git a/core/continuations/continuations.factor b/core/continuations/continuations.factor index f2cc0f74ba..11162be4d3 100755 --- a/core/continuations/continuations.factor +++ b/core/continuations/continuations.factor @@ -184,3 +184,20 @@ M: condition compute-restarts [ condition-continuation [ <restart> ] curry ] bi { } assoc>map ] bi append ; + +<PRIVATE + +: init-error-handler ( -- ) + V{ } clone set-catchstack + ! VM calls on error + [ + ! 63 = self + 63 getenv error-thread set-global + continuation error-continuation set-global + rethrow + ] 5 setenv + ! VM adds this to kernel errors, so that user-space + ! can identify them + "kernel-error" 6 setenv ; + +PRIVATE> diff --git a/core/cpu/x86/64/tags.txt b/core/cpu/x86/64/tags.txt deleted file mode 100644 index 86a7c8e637..0000000000 --- a/core/cpu/x86/64/tags.txt +++ /dev/null @@ -1 +0,0 @@ -compiler diff --git a/core/effects/parser/parser.factor b/core/effects/parser/parser.factor index 93401d321c..77bcd7cad6 100644 --- a/core/effects/parser/parser.factor +++ b/core/effects/parser/parser.factor @@ -1,16 +1,13 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: lexer sets sequences kernel splitting effects summary -combinators debugger arrays parser ; +USING: lexer sets sequences kernel splitting effects +combinators arrays parser ; IN: effects.parser DEFER: parse-effect ERROR: bad-effect ; -M: bad-effect summary - drop "Bad stack effect declaration" ; - : parse-effect-token ( end -- token/f ) scan tuck = [ drop f ] [ dup { f "(" "((" } member? [ bad-effect ] [ diff --git a/core/generator/tags.txt b/core/generator/tags.txt deleted file mode 100644 index 86a7c8e637..0000000000 --- a/core/generator/tags.txt +++ /dev/null @@ -1 +0,0 @@ -compiler diff --git a/core/generic/generic-tests.factor b/core/generic/generic-tests.factor index f3c51506fb..5927927122 100755 --- a/core/generic/generic-tests.factor +++ b/core/generic/generic-tests.factor @@ -2,7 +2,7 @@ USING: accessors alien arrays definitions generic generic.standard generic.math assocs hashtables io kernel math namespaces parser prettyprint sequences strings tools.test vectors words quotations classes classes.algebra classes.tuple continuations -layouts classes.union sorting compiler.units ; +layouts classes.union sorting compiler.units eval ; IN: generic.tests GENERIC: foobar ( x -- y ) diff --git a/core/generic/parser/parser.factor b/core/generic/parser/parser.factor index 74ab769933..70f57f85e3 100644 --- a/core/generic/parser/parser.factor +++ b/core/generic/parser/parser.factor @@ -1,13 +1,10 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: parser kernel words generic namespaces summary ; +USING: parser kernel words generic namespaces ; IN: generic.parser ERROR: not-in-a-method-error ; -M: not-in-a-method-error summary - drop "call-next-method can only be called in a method definition" ; - : CREATE-GENERIC ( -- word ) CREATE dup reset-word ; : create-method-in ( class generic -- method ) diff --git a/core/init/init-tests.factor b/core/init/init-tests.factor deleted file mode 100644 index ce68a1d7ab..0000000000 --- a/core/init/init-tests.factor +++ /dev/null @@ -1,7 +0,0 @@ -IN: init.tests -USING: init namespaces sequences math tools.test kernel ; - -[ t ] [ - init-hooks get [ first "libc" = ] find drop - init-hooks get [ first "io.backend" = ] find drop < -] unit-test diff --git a/core/init/init.factor b/core/init/init.factor index 6ee11c76fc..953340b985 100755 --- a/core/init/init.factor +++ b/core/init/init.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2004, 2007 Slava Pestov. +! Copyright (C) 2004, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: continuations continuations.private kernel kernel.private sequences assocs namespaces namespaces.private ; @@ -15,7 +15,7 @@ init-hooks global [ drop V{ } clone ] cache drop dup init-hooks get at [ over call ] unless init-hooks get set-at ; -: boot ( -- ) init-namespaces init-catchstack ; +: boot ( -- ) init-namespaces init-catchstack init-error-handler ; : boot-quot ( -- quot ) 20 getenv ; diff --git a/core/io/encodings/encodings.factor b/core/io/encodings/encodings.factor index fc02d880f1..3df441ae03 100755 --- a/core/io/encodings/encodings.factor +++ b/core/io/encodings/encodings.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: math kernel sequences sbufs vectors namespaces growable strings io classes continuations destructors combinators -io.styles io.streams.plain splitting byte-arrays +io.streams.plain splitting byte-arrays sequences.private accessors ; IN: io.encodings diff --git a/core/io/files/files-docs.factor b/core/io/files/files-docs.factor index cac8a4c6c5..8e32c100e0 100755 --- a/core/io/files/files-docs.factor +++ b/core/io/files/files-docs.factor @@ -1,4 +1,4 @@ -USING: help.markup help.syntax io io.styles strings +USING: help.markup help.syntax io strings io.backend io.files.private quotations ; IN: io.files @@ -170,16 +170,16 @@ HELP: +symbolic-link+ { $description "A symbolic link file. This type is currently implemented on Unix platforms only. See " { $link "symbolic-links" } " for words operating on symbolic links." } ; HELP: +character-device+ -{ $description "A Unix character device file. This type exists on unix platforms only." } ; +{ $description "A Unix character device file. This type exists on Unix platforms only." } ; HELP: +block-device+ -{ $description "A Unix block device file. This type exists on unix platforms only." } ; +{ $description "A Unix block device file. This type exists on Unix platforms only." } ; HELP: +fifo+ -{ $description "A Unix fifo file. This type exists on unix platforms only." } ; +{ $description "A Unix fifo file. This type exists on Unix platforms only." } ; HELP: +socket+ -{ $description "A Unix socket file. This type exists on unix platforms only." } ; +{ $description "A Unix socket file. This type exists on Unix platforms only." } ; HELP: +unknown+ { $description "A unknown file type." } ; @@ -327,7 +327,7 @@ HELP: resource-path { $description "Resolve a path relative to the Factor source code location." } ; HELP: pathname -{ $class-description "Class of pathname presentations. Path name presentations can be created by calling " { $link <pathname> } ". Instances can be passed to " { $link write-object } " to output a clickable pathname." } ; +{ $class-description "Class of path name objects. Path name objects can be created by calling " { $link <pathname> } "." } ; HELP: normalize-directory { $values { "str" "a pathname string" } { "newstr" "a new pathname string" } } diff --git a/core/io/io-docs.factor b/core/io/io-docs.factor index 782d4044ae..b639696f57 100755 --- a/core/io/io-docs.factor +++ b/core/io/io-docs.factor @@ -87,7 +87,6 @@ $nl { $subsection bl } "Formatted output:" { $subsection format } -{ $subsection write-object } { $subsection with-style } { $subsection with-nesting } "Tabular output:" @@ -356,11 +355,6 @@ HELP: bl { $description "Outputs a space character (" { $snippet "\" \"" } ") to " { $link output-stream } "." } $io-error ; -HELP: write-object -{ $values { "str" string } { "obj" "an object" } } -{ $description "Writes a string to " { $link output-stream } ", associating it with the object. If formatted output is supported, the string will become a clickable presentation of the object, otherwise this word behaves like a call to " { $link write } "." } -$io-error ; - HELP: lines { $values { "stream" "an input stream" } { "seq" "a sequence of strings" } } { $description "Reads lines of text until the stream is exhausted, collecting them in a sequence of strings." } ; diff --git a/core/io/io.factor b/core/io/io.factor index da7585e7ea..a03aaac6d8 100755 --- a/core/io/io.factor +++ b/core/io/io.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2003, 2007 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: hashtables generic kernel math namespaces sequences -continuations destructors assocs io.styles ; +continuations destructors assocs ; IN: io GENERIC: stream-readln ( stream -- str/f ) @@ -96,9 +96,6 @@ SYMBOL: error-stream : bl ( -- ) " " write ; -: write-object ( str obj -- ) - presented associate format ; - : lines ( stream -- seq ) [ [ readln dup ] [ ] [ drop ] produce ] with-input-stream ; diff --git a/core/io/streams/nested/nested-tests.factor b/core/io/streams/nested/nested-tests.factor deleted file mode 100644 index 402cb19c3b..0000000000 --- a/core/io/streams/nested/nested-tests.factor +++ /dev/null @@ -1,3 +0,0 @@ -USING: io io.streams.string io.streams.nested kernel math -namespaces io.styles tools.test ; -IN: io.streams.nested.tests diff --git a/core/kernel/kernel-docs.factor b/core/kernel/kernel-docs.factor index a04a698965..3d210e0000 100755 --- a/core/kernel/kernel-docs.factor +++ b/core/kernel/kernel-docs.factor @@ -903,3 +903,8 @@ $nl "[ P ] [ Q ] [ ] while T" } "However, depending on the stack effects of " { $snippet "pred" } " and " { $snippet "quot" } ", the " { $snippet "tail" } " quotation might need to be non-empty in order to balance out the stack effect of branches for stack effect inference." } ; + +HELP: assert +{ $values { "got" "the obtained value" } { "expect" "the expected value" } } +{ $description "Throws an " { $link assert } " error." } +{ $error-description "Thrown when a unit test or other assertion fails." } ; diff --git a/core/kernel/kernel.factor b/core/kernel/kernel.factor index e8d3de4b11..47e0d76bf7 100755 --- a/core/kernel/kernel.factor +++ b/core/kernel/kernel.factor @@ -186,6 +186,10 @@ GENERIC: boa ( ... class -- tuple ) ! throw errors before continuations are loaded : throw ( error -- * ) 5 getenv [ die ] or 1 (throw) ; +ERROR: assert got expect ; + +: assert= ( a b -- ) 2dup = [ 2drop ] [ assert ] if ; + <PRIVATE : hi-tag ( obj -- n ) 0 slot ; inline diff --git a/core/lexer/lexer.factor b/core/lexer/lexer.factor index 48724e6009..397aef8e07 100644 --- a/core/lexer/lexer.factor +++ b/core/lexer/lexer.factor @@ -1,8 +1,7 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: kernel sequences accessors namespaces math words strings -debugger io vectors arrays math.parser combinators summary -continuations ; +io vectors arrays math.parser combinators continuations ; IN: lexer TUPLE: lexer text line line-text line-length column ; @@ -68,18 +67,6 @@ M: lexer skip-word ( lexer -- ) ERROR: unexpected want got ; -GENERIC: expected>string ( obj -- str ) - -M: f expected>string drop "end of input" ; -M: word expected>string name>> ; -M: string expected>string ; - -M: unexpected error. - "Expected " write - dup unexpected-want expected>string write - " but got " write - unexpected-got expected>string print ; - PREDICATE: unexpected-eof < unexpected unexpected-got not ; @@ -113,18 +100,6 @@ TUPLE: lexer-error line column line-text error ; pick length + CHAR: \s <string> [ write ] [ print ] [ write "^" print ] tri* ; -M: lexer-error error. - [ lexer-dump ] [ error>> error. ] bi ; - -M: lexer-error summary - error>> summary ; - -M: lexer-error compute-restarts - error>> compute-restarts ; - -M: lexer-error error-help - error>> error-help ; - : with-lexer ( lexer quot -- newquot ) [ lexer set ] dip [ <lexer-error> rethrow ] recover ; inline diff --git a/core/optimizer/tags.txt b/core/optimizer/tags.txt deleted file mode 100644 index 86a7c8e637..0000000000 --- a/core/optimizer/tags.txt +++ /dev/null @@ -1 +0,0 @@ -compiler diff --git a/core/parser/parser-docs.factor b/core/parser/parser-docs.factor index 9fe17af35b..1d8d1f0714 100755 --- a/core/parser/parser-docs.factor +++ b/core/parser/parser-docs.factor @@ -144,12 +144,6 @@ $nl "While the above words are useful for one-off experiments, real programs should be written to use the vocabulary system instead; see " { $link "vocabs.loader" } "." { $see-also "source-files" } ; -ARTICLE: "parser-usage" "Reflective parser usage" -"The parser can be called on a string:" -{ $subsection eval } -"The parser can also parse from a stream:" -{ $subsection parse-stream } ; - ARTICLE: "top-level-forms" "Top level forms" "Any code outside of a definition is known as a " { $emphasis "top-level form" } "; top-level forms are run after the entire source file has been parsed, regardless of their position in the file." $nl @@ -163,11 +157,12 @@ $nl "This section concerns itself with usage and extension of the parser. Standard syntax is described in " { $link "syntax" } "." { $subsection "vocabulary-search" } { $subsection "parser-files" } -{ $subsection "parser-usage" } { $subsection "top-level-forms" } "The parser can be extended." { $subsection "parsing-words" } { $subsection "parser-lexer" } +"The parser can be invoked reflectively;" +{ $subsection parse-stream } { $see-also "definitions" "definition-checking" } ; ABOUT: "parser" @@ -322,11 +317,6 @@ HELP: parse-fresh { $description "Parses Factor source code in a sequence of lines. The initial vocabulary search path is used (see " { $link with-file-vocabs } ")." } { $errors "Throws a parse error if the input is malformed." } ; -HELP: eval -{ $values { "str" string } } -{ $description "Parses Factor source code from a string, and calls the resulting quotation." } -{ $errors "Throws an error if the input is malformed, or if the evaluation itself throws an error." } ; - HELP: filter-moved { $values { "assoc1" assoc } { "assoc2" assoc } { "seq" "an seqence of definitions" } } { $description "Removes all definitions from " { $snippet "assoc2" } " which are in " { $snippet "assoc1" } " or are are no longer present in the current " { $link file } "." } ; @@ -358,10 +348,6 @@ HELP: ?run-file { $values { "path" "a pathname string" } } { $description "If the file exists, runs it with " { $link run-file } ", otherwise does nothing." } ; -HELP: eval>string -{ $values { "str" string } { "output" string } } -{ $description "Evaluates the Factor code in " { $snippet "str" } " with " { $link output-stream } " rebound to a string output stream, then outputs the resulting string." } ; - HELP: staging-violation { $values { "word" word } } { $description "Throws a " { $link staging-violation } " error." } diff --git a/core/parser/parser-tests.factor b/core/parser/parser-tests.factor index 074b3738ac..2d4073d107 100755 --- a/core/parser/parser-tests.factor +++ b/core/parser/parser-tests.factor @@ -2,7 +2,7 @@ USING: arrays math parser tools.test kernel generic words io.streams.string namespaces classes effects source-files assocs sequences strings io.files definitions continuations sorting classes.tuple compiler.units debugger vocabs -vocabs.loader accessors ; +vocabs.loader accessors eval combinators ; IN: parser.tests diff --git a/core/parser/parser.factor b/core/parser/parser.factor index 2e42c3a678..502d4c1eba 100755 --- a/core/parser/parser.factor +++ b/core/parser/parser.factor @@ -1,11 +1,11 @@ ! Copyright (C) 2005, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: arrays definitions generic assocs kernel math namespaces -prettyprint sequences strings vectors words quotations summary -io.styles io combinators sorting splitting math.parser effects -continuations debugger io.files io.streams.string vocabs -io.encodings.utf8 source-files classes hashtables -compiler.errors compiler.units accessors sets lexer ; +sequences strings vectors words quotations io +combinators sorting splitting math.parser effects continuations +io.files io.streams.string vocabs io.encodings.utf8 source-files +classes hashtables compiler.errors compiler.units accessors sets +lexer ; IN: parser : location ( -- loc ) @@ -24,7 +24,7 @@ t parser-notes set-global : note. ( str -- ) parser-notes? [ - file get [ file. ] when* + file get [ path>> write ] when* lexer get line>> number>string write ": " write "Note: " write dup print ] when drop ; @@ -54,9 +54,6 @@ M: parsing-word stack-effect drop (( parsed -- parsed )) ; ERROR: no-current-vocab ; -M: no-current-vocab summary ( obj -- ) - drop "Not in a vocabulary; IN: form required" ; - : current-vocab ( -- str ) in get [ no-current-vocab ] unless* ; @@ -69,14 +66,13 @@ M: no-current-vocab summary ( obj -- ) : word-restarts ( possibilities -- restarts ) natural-sort [ - [ "Use the word " swap summary append ] keep + [ + "Use the " swap vocabulary>> " vocabulary" 3append + ] keep ] { } map>assoc ; TUPLE: no-word-error name ; -M: no-word-error summary - drop "Word not found in current vocabulary search path" ; - : no-word ( name -- newword ) dup no-word-error boa swap words-named [ forward-reference? not ] filter @@ -105,10 +101,6 @@ M: no-word-error summary ERROR: staging-violation word ; -M: staging-violation summary - drop - "A parsing word cannot be used in the same file it is defined in." ; - : execute-parsing ( word -- ) dup changed-definitions get key? [ staging-violation ] when execute ; @@ -150,9 +142,6 @@ M: staging-violation summary ERROR: bad-number ; -M: bad-number summary - drop "Bad number literal" ; - : parse-base ( parsed base -- parsed ) scan swap base> [ bad-number ] unless* parsed ; @@ -221,7 +210,7 @@ SYMBOL: interactive-vocabs "quiet" get [ drop ] [ - "Loading " write <pathname> . flush + "Loading " write print flush ] if ; : filter-moved ( assoc1 assoc2 -- seq ) @@ -292,12 +281,3 @@ SYMBOL: interactive-vocabs : ?run-file ( path -- ) dup exists? [ run-file ] [ drop ] if ; - -: eval ( str -- ) - [ string-lines parse-fresh ] with-compilation-unit call ; - -: eval>string ( str -- output ) - [ - parser-notes off - [ [ eval ] keep ] try drop - ] with-string-writer ; diff --git a/core/slots/slots-tests.factor b/core/slots/slots-tests.factor index c1d2a5cf9b..4f4a0cadad 100644 --- a/core/slots/slots-tests.factor +++ b/core/slots/slots-tests.factor @@ -1,6 +1,6 @@ IN: slots.tests USING: math accessors slots strings generic.standard kernel -tools.test generic words parser ; +tools.test generic words parser eval ; TUPLE: r/w-test foo ; diff --git a/core/source-files/source-files.factor b/core/source-files/source-files.factor index abe1b8b661..50c79fc2c6 100755 --- a/core/source-files/source-files.factor +++ b/core/source-files/source-files.factor @@ -1,10 +1,10 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: arrays definitions generic assocs kernel math namespaces -prettyprint sequences strings vectors words quotations summary -io.styles io combinators sorting splitting math.parser effects -continuations debugger io.files checksums checksums.crc32 vocabs -hashtables graphs compiler.units io.encodings.utf8 accessors ; +sequences strings vectors words quotations io +combinators sorting splitting math.parser effects continuations +io.files checksums checksums.crc32 vocabs hashtables graphs +compiler.units io.encodings.utf8 accessors ; IN: source-files SYMBOL: source-files @@ -82,20 +82,6 @@ TUPLE: source-file-error file error ; file get >>file swap >>error ; -: file. ( file -- ) path>> <pathname> . ; - -M: source-file-error error. - [ file>> file. ] [ error>> error. ] bi ; - -M: source-file-error summary - error>> summary ; - -M: source-file-error compute-restarts - error>> compute-restarts ; - -M: source-file-error error-help - error>> error-help ; - : with-source-file ( name quot -- ) #! Should be called from inside with-compilation-unit. [ diff --git a/core/strings/parser/parser.factor b/core/strings/parser/parser.factor index 847fba9530..7304df2419 100644 --- a/core/strings/parser/parser.factor +++ b/core/strings/parser/parser.factor @@ -1,13 +1,11 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel summary assocs namespaces splitting sequences +USING: kernel assocs namespaces splitting sequences strings math.parser lexer ; IN: strings.parser ERROR: bad-escape ; -M: bad-escape summary drop "Bad escape code" ; - : escape ( escape -- ch ) H{ { CHAR: a CHAR: \a } diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 54df692895..ce84943328 100755 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -8,7 +8,7 @@ generic.standard generic.math generic.parser classes io.files vocabs classes.parser classes.union classes.intersection classes.mixin classes.predicate classes.singleton classes.tuple.parser compiler.units -combinators debugger effects.parser slots ; +combinators effects.parser slots ; IN: bootstrap.syntax ! These words are defined as a top-level form, instead of with diff --git a/core/vocabs/loader/loader-tests.factor b/core/vocabs/loader/loader-tests.factor index 5ed0b0a34c..b945126be4 100755 --- a/core/vocabs/loader/loader-tests.factor +++ b/core/vocabs/loader/loader-tests.factor @@ -3,7 +3,7 @@ IN: vocabs.loader.tests USING: vocabs.loader tools.test continuations vocabs math kernel arrays sequences namespaces io.streams.string parser source-files words assocs classes.tuple definitions -debugger compiler.units tools.vocabs accessors ; +debugger compiler.units tools.vocabs accessors eval ; ! This vocab should not exist, but just in case... [ ] [ diff --git a/core/vocabs/loader/loader.factor b/core/vocabs/loader/loader.factor index 51a82da96b..26a6e8ae7a 100755 --- a/core/vocabs/loader/loader.factor +++ b/core/vocabs/loader/loader.factor @@ -1,15 +1,16 @@ ! Copyright (C) 2007, 2008 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: namespaces sequences io.files kernel assocs words vocabs -definitions parser continuations summary debugger io io.styles -hashtables sorting prettyprint source-files arrays combinators -strings system math.parser compiler.errors splitting init ; +definitions parser continuations io hashtables sorting +source-files arrays combinators strings system math.parser +compiler.errors splitting init ; IN: vocabs.loader SYMBOL: vocab-roots V{ "resource:core" + "resource:basis" "resource:extra" "resource:work" } clone vocab-roots set-global diff --git a/core/vocabs/loader/test/a/tags.txt b/core/vocabs/loader/test/a/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/a/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/vocabs/loader/test/b/tags.txt b/core/vocabs/loader/test/b/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/b/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/vocabs/loader/test/c/tags.txt b/core/vocabs/loader/test/c/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/c/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/vocabs/loader/test/d/tags.txt b/core/vocabs/loader/test/d/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/core/vocabs/loader/test/d/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/core/words/words-tests.factor b/core/words/words-tests.factor index 3f8c492aff..09ebcb6b77 100755 --- a/core/words/words-tests.factor +++ b/core/words/words-tests.factor @@ -1,7 +1,7 @@ USING: arrays generic assocs kernel math namespaces sequences tools.test words definitions parser quotations vocabs continuations classes.tuple compiler.units -io.streams.string accessors ; +io.streams.string accessors eval ; IN: words.tests [ 4 ] [ diff --git a/extra/builder/util/util.factor b/extra/builder/util/util.factor index 47db4c52c9..32d1e45066 100644 --- a/extra/builder/util/util.factor +++ b/extra/builder/util/util.factor @@ -6,7 +6,7 @@ USING: kernel words namespaces classes parser continuations combinators sequences splitting quotations arrays strings tools.time sequences.deep accessors assocs.lib io.encodings.utf8 - combinators.cleave calendar calendar.format ; + combinators.cleave calendar calendar.format eval ; IN: builder.util diff --git a/extra/calendar/windows/tags.txt b/extra/calendar/windows/tags.txt deleted file mode 100644 index 8e1a55995e..0000000000 --- a/extra/calendar/windows/tags.txt +++ /dev/null @@ -1 +0,0 @@ -windows diff --git a/extra/game-input/backend/dinput/tags.txt b/extra/game-input/backend/dinput/tags.txt index 70912457cb..9098dfdba4 100755 --- a/extra/game-input/backend/dinput/tags.txt +++ b/extra/game-input/backend/dinput/tags.txt @@ -1,3 +1,4 @@ +unportable input gamepads joysticks diff --git a/extra/game-input/backend/iokit/tags.txt b/extra/game-input/backend/iokit/tags.txt index b3bc4f873b..704b10bc4c 100644 --- a/extra/game-input/backend/iokit/tags.txt +++ b/extra/game-input/backend/iokit/tags.txt @@ -1,3 +1,4 @@ +unportable gamepads joysticks mac diff --git a/extra/game-input/game-input.factor b/extra/game-input/game-input.factor index 5472eead9c..4d25b06ead 100755 --- a/extra/game-input/game-input.factor +++ b/extra/game-input/game-input.factor @@ -1,5 +1,5 @@ USING: arrays accessors continuations kernel symbols -combinators.lib sequences namespaces ; +combinators.lib sequences namespaces init ; IN: game-input SYMBOLS: game-input-backend game-input-opened ; @@ -10,6 +10,16 @@ HOOK: (close-game-input) game-input-backend ( -- ) : game-input-opened? ( -- ? ) game-input-opened get ; +<PRIVATE + +: reset-game-input ( -- ) + game-input-opened off ; + +[ reset-game-input ] "game-input" add-init-hook + +PRIVATE> + + : open-game-input ( -- ) game-input-opened? [ (open-game-input) @@ -18,7 +28,7 @@ HOOK: (close-game-input) game-input-backend ( -- ) : close-game-input ( -- ) game-input-opened? [ (close-game-input) - game-input-opened off + reset-game-input ] when ; : with-game-input ( quot -- ) diff --git a/extra/hardware-info/linux/tags.txt b/extra/hardware-info/linux/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/hardware-info/linux/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/hardware-info/macosx/tags.txt b/extra/hardware-info/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/hardware-info/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/hardware-info/windows/tags.txt b/extra/hardware-info/windows/tags.txt index 8e1a55995e..02ec70f741 100644 --- a/extra/hardware-info/windows/tags.txt +++ b/extra/hardware-info/windows/tags.txt @@ -1 +1,2 @@ +unportable windows diff --git a/extra/io/windows/tags.txt b/extra/io/windows/tags.txt deleted file mode 100644 index 8e1a55995e..0000000000 --- a/extra/io/windows/tags.txt +++ /dev/null @@ -1 +0,0 @@ -windows diff --git a/extra/micros/unix/tags.txt b/extra/micros/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/micros/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/micros/windows/tags.txt b/extra/micros/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/micros/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/money/money-tests.factor b/extra/money/money-tests.factor index b2ccdf93b7..78c168015f 100644 --- a/extra/money/money-tests.factor +++ b/extra/money/money-tests.factor @@ -1,4 +1,4 @@ -USING: money parser tools.test ; +USING: money parser tools.test eval ; IN: money.tests [ -1/10 ] [ DECIMAL: -.1 ] unit-test diff --git a/extra/openal/macosx/tags.txt b/extra/openal/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/openal/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/opengl/gl/macosx/tags.txt b/extra/opengl/gl/macosx/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/opengl/gl/macosx/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/opengl/gl/unix/tags.txt b/extra/opengl/gl/unix/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/opengl/gl/unix/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/opengl/gl/windows/tags.txt b/extra/opengl/gl/windows/tags.txt index 8e1a55995e..02ec70f741 100644 --- a/extra/opengl/gl/windows/tags.txt +++ b/extra/opengl/gl/windows/tags.txt @@ -1 +1,2 @@ +unportable windows diff --git a/extra/peg/ebnf/ebnf-tests.factor b/extra/peg/ebnf/ebnf-tests.factor index 45e1e9b218..47f19920c7 100644 --- a/extra/peg/ebnf/ebnf-tests.factor +++ b/extra/peg/ebnf/ebnf-tests.factor @@ -3,7 +3,7 @@ ! USING: kernel tools.test peg peg.ebnf words math math.parser sequences accessors peg.parsers parser namespaces arrays - strings ; + strings eval ; IN: peg.ebnf.tests { T{ ebnf-non-terminal f "abc" } } [ diff --git a/extra/random/windows/tags.txt b/extra/random/windows/tags.txt deleted file mode 100644 index 8e1a55995e..0000000000 --- a/extra/random/windows/tags.txt +++ /dev/null @@ -1 +0,0 @@ -windows diff --git a/extra/raptor/cron/tags.txt b/extra/raptor/cron/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/raptor/cron/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/raptor/tags.txt b/extra/raptor/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/raptor/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/shell/shell.factor b/extra/shell/shell.factor index e694b36007..0ed594602a 100644 --- a/extra/shell/shell.factor +++ b/extra/shell/shell.factor @@ -3,7 +3,7 @@ USING: kernel parser words continuations namespaces debugger sequences combinators splitting prettyprint system io io.files io.launcher io.encodings.utf8 io.pipes sequences.deep accessors multi-methods newfx shell.parser - combinators.short-circuit ; + combinators.short-circuit eval ; IN: shell diff --git a/extra/tools/time/tags.txt b/extra/tools/time/tags.txt deleted file mode 100644 index ef1aab0d0e..0000000000 --- a/extra/tools/time/tags.txt +++ /dev/null @@ -1 +0,0 @@ -tools diff --git a/extra/tools/vocabs/browser/tags.txt b/extra/tools/vocabs/browser/tags.txt deleted file mode 100644 index ef1aab0d0e..0000000000 --- a/extra/tools/vocabs/browser/tags.txt +++ /dev/null @@ -1 +0,0 @@ -tools diff --git a/extra/ui/cocoa/tags.txt b/extra/ui/cocoa/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/ui/cocoa/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/ui/cocoa/tools/tags.txt b/extra/ui/cocoa/tools/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/ui/cocoa/tools/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/ui/cocoa/tools/tools.factor b/extra/ui/cocoa/tools/tools.factor index 3ff34f677d..2b0792902b 100755 --- a/extra/ui/cocoa/tools/tools.factor +++ b/extra/ui/cocoa/tools/tools.factor @@ -4,7 +4,7 @@ USING: alien.syntax cocoa cocoa.nibs cocoa.application cocoa.classes cocoa.dialogs cocoa.pasteboard cocoa.subclassing core-foundation help.topics kernel memory namespaces parser system ui ui.tools.browser ui.tools.listener ui.tools.workspace -ui.cocoa ; +ui.cocoa eval ; IN: ui.cocoa.tools : finder-run-files ( alien -- ) diff --git a/extra/ui/cocoa/views/tags.txt b/extra/ui/cocoa/views/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/ui/cocoa/views/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/ui/gadgets/slots/slots.factor b/extra/ui/gadgets/slots/slots.factor index 0102876136..43e0c0bca9 100755 --- a/extra/ui/gadgets/slots/slots.factor +++ b/extra/ui/gadgets/slots/slots.factor @@ -4,7 +4,7 @@ USING: accessors namespaces kernel parser prettyprint sequences arrays io math definitions math.vectors assocs refs ui.gadgets ui.gestures ui.commands ui.gadgets.scrollers ui.gadgets.buttons ui.gadgets.borders ui.gadgets.tracks -ui.gadgets.editors ; +ui.gadgets.editors eval ; IN: ui.gadgets.slots TUPLE: update-object ; diff --git a/extra/ui/tools/tools-docs.factor b/extra/ui/tools/tools-docs.factor index 387f9742f0..7f7b012a35 100755 --- a/extra/ui/tools/tools-docs.factor +++ b/extra/ui/tools/tools-docs.factor @@ -1,10 +1,10 @@ -USING: editors help.markup help.syntax summary inspector io listener -parser prettyprint tools.profiler tools.walker ui.commands -ui.gadgets.editors ui.gadgets.panes ui.gadgets.presentations -ui.gadgets.slots ui.operations ui.tools.browser -ui.tools.interactor ui.tools.inspector ui.tools.listener -ui.tools.operations ui.tools.profiler ui.tools.walker -ui.tools.workspace vocabs ; +USING: editors help.markup help.syntax summary inspector io +io.styles listener parser prettyprint tools.profiler +tools.walker ui.commands ui.gadgets.editors ui.gadgets.panes +ui.gadgets.presentations ui.gadgets.slots ui.operations +ui.tools.browser ui.tools.interactor ui.tools.inspector +ui.tools.listener ui.tools.operations ui.tools.profiler +ui.tools.walker ui.tools.workspace vocabs ; IN: ui.tools ARTICLE: "ui-presentations" "Presentations in the UI" diff --git a/extra/ui/windows/tags.txt b/extra/ui/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/ui/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/ui/x11/tags.txt b/extra/ui/x11/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/extra/ui/x11/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/extra/windows/tags.txt b/extra/windows/tags.txt deleted file mode 100644 index 5aebfa6848..0000000000 --- a/extra/windows/tags.txt +++ /dev/null @@ -1,2 +0,0 @@ -windows -bindings diff --git a/extra/x11/tags.txt b/extra/x11/tags.txt deleted file mode 100644 index bb863cf9a0..0000000000 --- a/extra/x11/tags.txt +++ /dev/null @@ -1 +0,0 @@ -bindings diff --git a/extra/x11/xim/tags.txt b/extra/x11/xim/tags.txt deleted file mode 100644 index bb863cf9a0..0000000000 --- a/extra/x11/xim/tags.txt +++ /dev/null @@ -1 +0,0 @@ -bindings diff --git a/extra/x11/xlib/tags.txt b/extra/x11/xlib/tags.txt deleted file mode 100644 index bb863cf9a0..0000000000 --- a/extra/x11/xlib/tags.txt +++ /dev/null @@ -1 +0,0 @@ -bindings diff --git a/unfinished/compiler/tree/propagation/propagation-tests.factor b/unfinished/compiler/tree/propagation/propagation-tests.factor index 4da40f8a2d..7dd4835639 100644 --- a/unfinished/compiler/tree/propagation/propagation-tests.factor +++ b/unfinished/compiler/tree/propagation/propagation-tests.factor @@ -276,6 +276,14 @@ IN: compiler.tree.propagation.tests ] final-literals ] unit-test +[ V{ 27 } ] [ + [ + dup number? over sequence? and [ + dup 10 < over 8 <= not and [ 3 * ] [ "A" throw ] if + ] [ "B" throw ] if + ] final-literals +] unit-test + [ V{ string string } ] [ [ 2dup [ dup string? [ "Oops" throw ] unless ] bi@ 2drop diff --git a/unfinished/stack-checker/branches/branches.factor b/unfinished/stack-checker/branches/branches.factor index 711fb3f151..45c0b6541b 100644 --- a/unfinished/stack-checker/branches/branches.factor +++ b/unfinished/stack-checker/branches/branches.factor @@ -6,18 +6,24 @@ stack-checker.backend stack-checker.errors stack-checker.visitor ; IN: stack-checker.branches -: balanced? ( seq -- ? ) +: balanced? ( pairs -- ? ) [ second ] filter [ first2 length - ] map all-equal? ; -: phi-inputs ( seq -- newseq ) - dup empty? [ - dup [ length ] map supremum - '[ , f pad-left ] map flip - ] unless ; +: unify-inputs ( max-d-in d-in meta-d -- new-meta-d ) + dup [ [ - f <repetition> ] dip append ] [ 3drop f ] if ; + +: phi-inputs ( max-d-in pairs -- newseq ) + dup empty? [ nip ] [ + swap '[ , _ first2 unify-inputs ] map + dup [ length ] map supremum '[ , f pad-left ] map + flip + ] if ; : unify-values ( values -- phi-out ) - dup sift [ known ] map dup all-eq? - [ nip first make-known ] [ 2drop <value> ] if ; + sift dup empty? [ drop <value> ] [ + [ known ] map dup all-eq? + [ first make-known ] [ drop <value> ] if + ] if ; : phi-outputs ( phi-in -- stack ) [ unify-values ] map ; @@ -26,8 +32,8 @@ SYMBOL: quotations : unify-branches ( ins stacks -- in phi-in phi-out ) zip dup empty? [ drop 0 { } { } ] [ - dup balanced? - [ [ keys supremum ] [ values phi-inputs dup phi-outputs ] bi ] + [ keys supremum ] [ ] [ balanced? ] tri + [ dupd phi-inputs dup phi-outputs ] [ quotations get unbalanced-branches-error ] if ] if ; @@ -72,7 +78,7 @@ SYMBOL: quotations : infer-if ( -- ) 2 consume-d - dup [ known [ curry? ] [ composed? ] bi or ] contains? [ + dup [ known [ curried? ] [ composed? ] bi or ] contains? [ output-d [ rot [ drop call ] [ nip call ] if ] recursive-state get infer-quot diff --git a/unfinished/stack-checker/stack-checker-tests.factor b/unfinished/stack-checker/stack-checker-tests.factor index e6dfbbdf26..3fcbc2d023 100755 --- a/unfinished/stack-checker/stack-checker-tests.factor +++ b/unfinished/stack-checker/stack-checker-tests.factor @@ -9,6 +9,16 @@ threads.private io.streams.string io.timeouts io.thread sequences.private destructors combinators ; IN: stack-checker.tests +: short-effect ( effect -- pair ) + [ in>> length ] [ out>> length ] bi 2array ; + +: must-infer-as ( effect quot -- ) + >r 1quotation r> [ infer short-effect ] curry unit-test ; + +: must-infer ( word/quot -- ) + dup word? [ 1quotation ] when + [ infer drop ] curry [ ] swap unit-test ; + \ infer. must-infer { 0 2 } [ 2 "Hello" ] must-infer-as @@ -560,3 +570,6 @@ M: object inference-invalidation-d inference-invalidation-c 2drop ; : bad-recursion-6 ( quot: ( -- ) -- ) dup bad-recursion-6 call ; inline recursive [ [ [ drop f ] bad-recursion-6 ] infer ] must-fail + +{ 3 0 } [ [ 2drop "A" throw ] [ ] if 2drop ] must-infer-as +{ 2 0 } [ drop f f [ 2drop "A" throw ] [ ] if 2drop ] must-infer-as diff --git a/core/cpu/arm/4/4.factor b/unmaintained/arm/4/4.factor similarity index 100% rename from core/cpu/arm/4/4.factor rename to unmaintained/arm/4/4.factor diff --git a/extra/unix/kqueue/authors.txt b/unmaintained/arm/4/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/unix/kqueue/authors.txt rename to unmaintained/arm/4/authors.txt diff --git a/core/cpu/arm/4/summary.txt b/unmaintained/arm/4/summary.txt similarity index 100% rename from core/cpu/arm/4/summary.txt rename to unmaintained/arm/4/summary.txt diff --git a/core/cpu/arm/allot/allot.factor b/unmaintained/arm/allot/allot.factor similarity index 100% rename from core/cpu/arm/allot/allot.factor rename to unmaintained/arm/allot/allot.factor diff --git a/extra/unix/linux/authors.txt b/unmaintained/arm/allot/authors.txt similarity index 100% rename from extra/unix/linux/authors.txt rename to unmaintained/arm/allot/authors.txt diff --git a/core/cpu/arm/architecture/architecture.factor b/unmaintained/arm/architecture/architecture.factor similarity index 100% rename from core/cpu/arm/architecture/architecture.factor rename to unmaintained/arm/architecture/architecture.factor diff --git a/extra/unix/linux/epoll/authors.txt b/unmaintained/arm/architecture/authors.txt similarity index 100% rename from extra/unix/linux/epoll/authors.txt rename to unmaintained/arm/architecture/authors.txt diff --git a/core/cpu/arm/arm.factor b/unmaintained/arm/arm.factor similarity index 100% rename from core/cpu/arm/arm.factor rename to unmaintained/arm/arm.factor diff --git a/core/cpu/arm/assembler/assembler-tests.factor b/unmaintained/arm/assembler/assembler-tests.factor similarity index 100% rename from core/cpu/arm/assembler/assembler-tests.factor rename to unmaintained/arm/assembler/assembler-tests.factor diff --git a/core/cpu/arm/assembler/assembler.factor b/unmaintained/arm/assembler/assembler.factor similarity index 100% rename from core/cpu/arm/assembler/assembler.factor rename to unmaintained/arm/assembler/assembler.factor diff --git a/extra/unix/solaris/authors.txt b/unmaintained/arm/assembler/authors.txt similarity index 100% rename from extra/unix/solaris/authors.txt rename to unmaintained/arm/assembler/authors.txt diff --git a/extra/urls/authors.txt b/unmaintained/arm/authors.txt similarity index 100% rename from extra/urls/authors.txt rename to unmaintained/arm/authors.txt diff --git a/core/cpu/arm/bootstrap.factor b/unmaintained/arm/bootstrap.factor similarity index 100% rename from core/cpu/arm/bootstrap.factor rename to unmaintained/arm/bootstrap.factor diff --git a/extra/x11/xim/authors.txt b/unmaintained/arm/intrinsics/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/x11/xim/authors.txt rename to unmaintained/arm/intrinsics/authors.txt diff --git a/core/cpu/arm/intrinsics/intrinsics.factor b/unmaintained/arm/intrinsics/intrinsics.factor similarity index 100% rename from core/cpu/arm/intrinsics/intrinsics.factor rename to unmaintained/arm/intrinsics/intrinsics.factor diff --git a/core/cpu/arm/summary.txt b/unmaintained/arm/summary.txt similarity index 100% rename from core/cpu/arm/summary.txt rename to unmaintained/arm/summary.txt diff --git a/core/cpu/x86/32/tags.txt b/unmaintained/arm/tags.txt similarity index 100% rename from core/cpu/x86/32/tags.txt rename to unmaintained/arm/tags.txt diff --git a/extra/windows/types/authors.txt b/unmaintained/ce/authors.txt similarity index 100% rename from extra/windows/types/authors.txt rename to unmaintained/ce/authors.txt diff --git a/extra/io/windows/nt/sockets/authors.txt b/unmaintained/ce/backend/authors.txt similarity index 100% rename from extra/io/windows/nt/sockets/authors.txt rename to unmaintained/ce/backend/authors.txt diff --git a/extra/io/windows/ce/backend/backend.factor b/unmaintained/ce/backend/backend.factor similarity index 100% rename from extra/io/windows/ce/backend/backend.factor rename to unmaintained/ce/backend/backend.factor diff --git a/extra/io/windows/ce/ce.factor b/unmaintained/ce/ce.factor similarity index 100% rename from extra/io/windows/ce/ce.factor rename to unmaintained/ce/ce.factor diff --git a/extra/io/windows/ce/sockets/authors.txt b/unmaintained/ce/files/authors.txt similarity index 100% rename from extra/io/windows/ce/sockets/authors.txt rename to unmaintained/ce/files/authors.txt diff --git a/extra/io/windows/ce/files/files.factor b/unmaintained/ce/files/files.factor similarity index 100% rename from extra/io/windows/ce/files/files.factor rename to unmaintained/ce/files/files.factor diff --git a/extra/io/windows/ce/privileges/privileges.factor b/unmaintained/ce/privileges/privileges.factor similarity index 100% rename from extra/io/windows/ce/privileges/privileges.factor rename to unmaintained/ce/privileges/privileges.factor diff --git a/extra/io/windows/launcher/authors.txt b/unmaintained/ce/sockets/authors.txt similarity index 100% rename from extra/io/windows/launcher/authors.txt rename to unmaintained/ce/sockets/authors.txt diff --git a/extra/io/windows/ce/sockets/sockets.factor b/unmaintained/ce/sockets/sockets.factor similarity index 100% rename from extra/io/windows/ce/sockets/sockets.factor rename to unmaintained/ce/sockets/sockets.factor diff --git a/extra/io/windows/ce/summary.txt b/unmaintained/ce/summary.txt similarity index 100% rename from extra/io/windows/ce/summary.txt rename to unmaintained/ce/summary.txt diff --git a/extra/windows/user32/authors.txt b/unmaintained/headers/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/windows/user32/authors.txt rename to unmaintained/headers/authors.txt diff --git a/extra/windows/winsock/authors.txt b/unmaintained/headers/bsd/authors.txt old mode 100644 new mode 100755 similarity index 100% rename from extra/windows/winsock/authors.txt rename to unmaintained/headers/bsd/authors.txt diff --git a/extra/io/sockets/headers/bsd/bsd.factor b/unmaintained/headers/bsd/bsd.factor similarity index 100% rename from extra/io/sockets/headers/bsd/bsd.factor rename to unmaintained/headers/bsd/bsd.factor diff --git a/extra/io/sockets/headers/headers.factor b/unmaintained/headers/headers.factor similarity index 100% rename from extra/io/sockets/headers/headers.factor rename to unmaintained/headers/headers.factor