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..6c30489bb4 --- /dev/null +++ b/basis/bootstrap/threads/threads.factor @@ -0,0 +1,7 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +IN: bootstrap.threads + +USE: io.thread +USE: threads +USE: debugger.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 95% rename from extra/concurrency/mailboxes/mailboxes.factor rename to basis/concurrency/mailboxes/mailboxes.factor index b7d9e46aa8..11624ab473 100755 --- a/extra/concurrency/mailboxes/mailboxes.factor +++ b/basis/concurrency/mailboxes/mailboxes.factor @@ -4,7 +4,7 @@ IN: concurrency.mailboxes USING: dlists dequeues threads sequences continuations destructors namespaces random math quotations words kernel arrays assocs init system concurrency.conditions accessors -debugger ; +debugger debugger.threads ; TUPLE: mailbox threads data disposed ; 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 77% rename from core/debugger/debugger.factor rename to basis/debugger/debugger.factor index 151ef3b6e9..eacbd6a125 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 ; +classes compiler.units generic.standard vocabs init +kernel.private io.encodings accessors math.order +destructors source-files parser classes.tuple.parser +effects.parser lexer compiler.errors generic.parser +strings.parser ; 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 . ; @@ -264,33 +245,6 @@ M: no-compilation-unit error. M: no-vocab summary drop "Vocabulary does not exist" ; -M: bad-ptr summary - drop "Memory allocation failed" ; - -M: double-free summary - drop "Free failed since memory is not allocated" ; - -M: realloc-error summary - drop "Memory reallocation failed" ; - -: error-in-thread. ( thread -- ) - "Error in thread " write - [ - dup thread-id # - " (" % dup thread-name % - ", " % dup thread-quot unparse-short % ")" % - ] "" make swap write-object ":" print nl ; - -! Hooks -M: thread error-in-thread ( error thread -- ) - initial-thread get-global eq? [ - die drop - ] [ - global [ - error-thread get-global error-in-thread. print-error flush - ] bind - ] if ; - M: encode-error summary drop "Character encoding error" ; M: decode-error summary drop "Character decoding error" ; @@ -301,20 +255,73 @@ M: attempt-all-error summary drop "Nothing to attempt" ; M: already-disposed summary drop "Attempting to operate on disposed object" ; - +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>> . ; + +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: 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/basis/debugger/threads/threads.factor b/basis/debugger/threads/threads.factor new file mode 100644 index 0000000000..90d70f6754 --- /dev/null +++ b/basis/debugger/threads/threads.factor @@ -0,0 +1,22 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors debugger continuations threads threads.private +io io.styles prettyprint kernel math.parser namespaces ; +IN: debugger.threads + +: error-in-thread. ( thread -- ) + "Error in thread " write + [ + dup id>> # + " (" % dup name>> % + ", " % dup quot>> unparse-short % ")" % + ] "" make swap write-object ":" print nl ; + +M: thread error-in-thread ( error thread -- ) + initial-thread get-global eq? [ + die drop + ] [ + global [ + error-thread get-global error-in-thread. print-error flush + ] bind + ] if ; 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 [ peek-back ] [ empty-dlist? ] must-fail-with [ pop-front ] [ empty-dlist? ] must-fail-with [ pop-back ] [ empty-dlist? ] must-fail-with + +[ t ] [ 3 over push-front 4 over push-back 3 swap dequeue-member? ] unit-test + +[ f ] [ 3 over push-front 4 over push-back -1 swap dequeue-member? ] unit-test + +[ f ] [ 0 swap dequeue-member? ] unit-test diff --git a/core/dlists/dlists.factor b/basis/dlists/dlists.factor similarity index 97% rename from core/dlists/dlists.factor rename to basis/dlists/dlists.factor index 370ec4042f..91a5f610ad 100755 --- a/core/dlists/dlists.factor +++ b/basis/dlists/dlists.factor @@ -1,8 +1,8 @@ ! 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 +summary ; IN: dlists TUPLE: dlist front back length ; @@ -122,7 +122,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 ; : 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 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 ; + 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 ; [ ] [ - "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 + +: 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 -- ) - "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" [ 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" [ 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" [ 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" [ vm "-script" "env.factor" 3array >>command ascii 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" [ 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" [ 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" [ 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" [ vm "-script" "append.factor" 3array >>command "append-test" temp-file >>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 75% rename from core/libc/libc.factor rename to basis/libc/libc.factor index cda5260397..cf4e2fb722 100755 --- a/core/libc/libc.factor +++ b/basis/libc/libc.factor @@ -2,8 +2,8 @@ ! 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 -namespaces accessors sets ; +USING: alien assocs continuations destructors kernel +namespaces accessors sets summary ; IN: libc malloc-expiry set-global + H{ } clone dup \ mallocs set-global + ] [ + \ mallocs get-global + ] if ; PRIVATE> ERROR: bad-ptr ; +M: bad-ptr summary + drop "Memory allocation failed" ; + : check-ptr ( c-ptr -- c-ptr ) [ bad-ptr ] unless* ; ERROR: double-free ; +M: double-free summary + drop "Free failed since memory is not allocated" ; + ERROR: realloc-error ptr size ; +M: realloc-error summary + drop "Memory reallocation failed" ; + 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 97% rename from core/math/intervals/intervals.factor rename to basis/math/intervals/intervals.factor index 8afbee3478..6e50f42726 100755 --- a/core/math/intervals/intervals.factor +++ b/basis/math/intervals/intervals.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2007 Slava Pestov. +! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. ! Based on Slate's src/unfinished/interval.slate by Brian Rice. USING: accessors kernel sequences arrays math math.order @@ -76,9 +76,11 @@ TUPLE: interval { from read-only } { to read-only } ; [ from>> ] [ to>> ] bi ; : points>interval ( seq -- interval ) - dup first - [ [ endpoint-min ] reduce ] 2keep - [ endpoint-max ] reduce ; + dup [ first fp-nan? ] contains? [ drop [-inf,inf] ] [ + dup first + [ [ endpoint-min ] reduce ] 2keep + [ endpoint-max ] reduce + ] if ; : (interval-op) ( p1 p2 quot -- p3 ) [ [ first ] [ first ] [ ] tri* call ] 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 [ [ ] [ - "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 [ - "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 90% rename from extra/sequences/deep/deep.factor rename to basis/sequences/deep/deep.factor index 3ec793f458..2e50fa5411 100644 --- a/extra/sequences/deep/deep.factor +++ b/basis/sequences/deep/deep.factor @@ -5,10 +5,12 @@ IN: sequences.deep ! All traversal goes in postorder -: branch? ( object -- ? ) - dup sequence? [ - dup string? swap number? or not - ] [ drop f ] if ; +GENERIC: branch? ( object -- ? ) + +M: sequence branch? drop t ; +M: integer branch? drop f ; +M: string branch? drop f ; +M: object branch? drop f ; : deep-each ( obj quot: ( elt -- ) -- ) [ call ] 2keep over branch? 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 - >>continuation - [ ] >>exit-handler ; inline + >>continuation ; inline : ( quot name -- thread ) \ thread new-thread ; @@ -211,7 +216,7 @@ GENERIC: error-in-thread ( error thread -- ) 65 setenv 66 setenv initial-thread global - [ drop f "Initial" ] cache + [ drop [ ] "Initial" ] cache >>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..5ca63a254f 100755 --- a/extra/tools/deploy/deploy-tests.factor +++ b/basis/tools/deploy/deploy-tests.factor @@ -26,7 +26,7 @@ namespaces continuations layouts accessors ; [ t ] [ 1300000 small-enough? ] unit-test -[ "staging.math-compiler-ui-strip.image" ] [ +[ "staging.threads-math-compiler-ui-strip.image" ] [ "hello-ui" deploy-config [ bootstrap-profile staging-image-name file-name ] bind ] unit-test 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 96% rename from extra/tools/deploy/shaker/shaker.factor rename to basis/tools/deploy/shaker/shaker.factor index 0e20384839..eaa0342c25 100755 --- a/extra/tools/deploy/shaker/shaker.factor +++ b/basis/tools/deploy/shaker/shaker.factor @@ -16,12 +16,9 @@ QUALIFIED: init QUALIFIED: io.backend QUALIFIED: io.thread QUALIFIED: layouts -QUALIFIED: libc.private -QUALIFIED: libc.private QUALIFIED: listener QUALIFIED: prettyprint.config QUALIFIED: source-files -QUALIFIED: threads QUALIFIED: vocabs IN: tools.deploy.shaker @@ -45,21 +42,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 ; @@ -179,15 +176,16 @@ IN: tools.deploy.shaker listener:error-hook init:init-hooks io.thread:io-thread - libc.private:mallocs source-files:source-files input-stream output-stream error-stream } % + "mallocs" "libc.private" lookup , + 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 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 ! 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 ! 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 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" [ CLSIDFromString ole32-error ] keep ; -: guid>string ( guid -- string ) - GUID-STRING-LENGTH 1+ [ "ushort" ] 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" [ { + [ 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 -- ) + 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 [ ] curry ] bi { } assoc>map ] bi append ; + + 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/generic.factor b/core/generic/generic.factor index a621c7fa91..80cf790b23 100755 --- a/core/generic/generic.factor +++ b/core/generic/generic.factor @@ -39,7 +39,7 @@ GENERIC: effective-method ( generic -- method ) order [ class<= ] with filter reverse dup length 1 = [ drop f ] [ second ] if ; -: next-method ( class generic -- class/f ) +: next-method ( class generic -- method/f ) [ next-method-class ] keep method ; GENERIC: next-method-quot* ( class generic combination -- quot ) 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 } ". 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 } "." } ; 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 ; + 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 [ 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 [ 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 . 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>> . ; - -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/automata/ui/ui.factor b/extra/automata/ui/ui.factor index cfb0462877..037cf41118 100644 --- a/extra/automata/ui/ui.factor +++ b/extra/automata/ui/ui.factor @@ -30,7 +30,7 @@ IN: automata.ui : draw-bitmap ( bitmap -- ) GL_POINTS glBegin (draw-bitmap) glEnd ; -: display ( -- ) black gl-color bitmap> draw-bitmap ; +: display ( -- ) black set-color bitmap> draw-bitmap ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/extra/boids/boids.factor b/extra/boids/boids.factor index ab624a606b..8c045ee270 100644 --- a/extra/boids/boids.factor +++ b/extra/boids/boids.factor @@ -220,7 +220,7 @@ cond ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: init-boids ( -- ) 50 random-boids >boids ; +: init-boids ( -- ) 100 random-boids >boids ; : init-world-size ( -- ) { 100 100 } >world-size ; diff --git a/extra/boids/ui/ui.factor b/extra/boids/ui/ui.factor index 064eda841b..cd73c67a71 100755 --- a/extra/boids/ui/ui.factor +++ b/extra/boids/ui/ui.factor @@ -1,6 +1,7 @@ USING: combinators.short-circuit kernel namespaces math + math.trig math.functions math.vectors math.parser @@ -21,7 +22,8 @@ USING: combinators.short-circuit kernel namespaces ui.gestures assocs.lib vars rewrite-closures boids accessors math.geometry.rect - newfx ; + newfx + processing.shapes ; IN: boids.ui @@ -29,17 +31,21 @@ IN: boids.ui ! draw-boid ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: point-a ( boid -- a ) pos>> ; - -: point-b ( boid -- b ) [ pos>> ] [ vel>> normalize* 20 v*n ] bi v+ ; - -: boid-points ( boid -- point-a point-b ) [ point-a ] [ point-b ] bi ; - -: draw-boid ( boid -- ) boid-points gl-line ; +: draw-boid ( boid -- ) + glPushMatrix + dup pos>> gl-translate-2d + vel>> first2 rect> arg rad>deg 0 0 1 glRotated + { { 0 5 } { 0 -5 } { 20 0 } } triangle + fill-mode + glPopMatrix ; : draw-boids ( -- ) boids> [ draw-boid ] each ; -: display ( -- ) black gl-color draw-boids ; +: boid-color ( -- color ) T{ rgba f 1.0 0 0 0.3 } ; + +: display ( -- ) + boid-color >fill-color + draw-boids ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/extra/unix/kqueue/authors.txt b/extra/boolean-expr/authors.txt old mode 100755 new mode 100644 similarity index 100% rename from extra/unix/kqueue/authors.txt rename to extra/boolean-expr/authors.txt diff --git a/extra/boolean-expr/boolean-expr.factor b/extra/boolean-expr/boolean-expr.factor new file mode 100644 index 0000000000..5bf4bf3ad3 --- /dev/null +++ b/extra/boolean-expr/boolean-expr.factor @@ -0,0 +1,95 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors arrays classes kernel sequences sets +io prettyprint multi-methods symbols ; +IN: boolean-expr + +! Demonstrates the use of Unicode symbols in source files, and +! multi-method dispatch. + +TUPLE: ⋀ x y ; +TUPLE: ⋁ x y ; +TUPLE: ¬ x ; + +SINGLETONS: ⊤ ⊥ ; + +SINGLETONS: P Q R S T U V W X Y Z ; + +UNION: □ ⋀ ⋁ ¬ ⊤ ⊥ P Q R S T U V W X Y Z ; + +GENERIC: ⋀ ( x y -- expr ) + +METHOD: ⋀ { ⊤ □ } nip ; +METHOD: ⋀ { □ ⊤ } drop ; +METHOD: ⋀ { ⊥ □ } drop ; +METHOD: ⋀ { □ ⊥ } nip ; + +METHOD: ⋀ { ⋁ □ } [ [ x>> ] dip ⋀ ] [ [ y>> ] dip ⋀ ] 2bi ⋁ ; +METHOD: ⋀ { □ ⋁ } [ x>> ⋀ ] [ y>> ⋀ ] 2bi ⋁ ; + +METHOD: ⋀ { □ □ } \ ⋀ boa ; + +GENERIC: ⋁ ( x y -- expr ) + +METHOD: ⋁ { ⊤ □ } drop ; +METHOD: ⋁ { □ ⊤ } nip ; +METHOD: ⋁ { ⊥ □ } nip ; +METHOD: ⋁ { □ ⊥ } drop ; + +METHOD: ⋁ { □ □ } \ ⋁ boa ; + +GENERIC: ¬ ( x -- expr ) + +METHOD: ¬ { ⊤ } drop ⊥ ; +METHOD: ¬ { ⊥ } drop ⊤ ; + +METHOD: ¬ { ⋀ } [ x>> ¬ ] [ y>> ¬ ] bi ⋁ ; +METHOD: ¬ { ⋁ } [ x>> ¬ ] [ y>> ¬ ] bi ⋀ ; + +METHOD: ¬ { □ } \ ¬ boa ; + +: → ( x y -- expr ) ¬ ⋀ ; +: ⊕ ( x y -- expr ) [ ⋁ ] [ ⋀ ¬ ] 2bi ⋀ ; +: ≣ ( x y -- expr ) [ ⋀ ] [ [ ¬ ] bi@ ⋀ ] 2bi ⋁ ; + +GENERIC: (cnf) ( expr -- cnf ) + +METHOD: (cnf) { ⋀ } [ x>> (cnf) ] [ y>> (cnf) ] bi append ; +METHOD: (cnf) { □ } 1array ; + +GENERIC: cnf ( expr -- cnf ) + +METHOD: cnf { ⋁ } [ x>> cnf ] [ y>> cnf ] bi append ; +METHOD: cnf { □ } (cnf) 1array ; + +GENERIC: satisfiable? ( expr -- ? ) + +METHOD: satisfiable? { ⊤ } drop t ; +METHOD: satisfiable? { ⊥ } drop f ; + +: partition ( seq quot -- left right ) + [ [ not ] compose filter ] [ filter ] 2bi ; inline + +: (satisfiable?) ( seq -- ? ) + [ \ ¬ instance? ] partition [ x>> ] map intersect empty? ; + +METHOD: satisfiable? { □ } + cnf [ (satisfiable?) ] contains? ; + +GENERIC: (expr.) ( expr -- ) + +METHOD: (expr.) { □ } pprint ; + +: op. ( expr -- ) + "(" write + [ x>> (expr.) ] + [ bl class pprint bl ] + [ y>> (expr.) ] + tri + ")" write ; + +METHOD: (expr.) { ⋀ } op. ; +METHOD: (expr.) { ⋁ } op. ; +METHOD: (expr.) { ¬ } [ class pprint ] [ x>> (expr.) ] bi ; + +: expr. ( expr -- ) (expr.) nl ; diff --git a/extra/boolean-expr/summary.txt b/extra/boolean-expr/summary.txt new file mode 100644 index 0000000000..9b51186ca9 --- /dev/null +++ b/extra/boolean-expr/summary.txt @@ -0,0 +1 @@ +Simple boolean expression evaluator and simplifier diff --git a/extra/boolean-expr/tags.txt b/extra/boolean-expr/tags.txt new file mode 100644 index 0000000000..cb5fc203e1 --- /dev/null +++ b/extra/boolean-expr/tags.txt @@ -0,0 +1 @@ +demos diff --git a/extra/bubble-chamber/particle/axion/axion.factor b/extra/bubble-chamber/particle/axion/axion.factor index 54865894c6..2dafc36cde 100644 --- a/extra/bubble-chamber/particle/axion/axion.factor +++ b/extra/bubble-chamber/particle/axion/axion.factor @@ -1,7 +1,8 @@ USING: kernel sequences random accessors multi-methods math math.constants math.ranges math.points combinators.cleave - processing bubble-chamber.common bubble-chamber.particle ; + processing processing.shapes + bubble-chamber.common bubble-chamber.particle ; IN: bubble-chamber.particle.axion diff --git a/extra/bubble-chamber/particle/hadron/hadron.factor b/extra/bubble-chamber/particle/hadron/hadron.factor index 9eecf2dd93..910df97789 100644 --- a/extra/bubble-chamber/particle/hadron/hadron.factor +++ b/extra/bubble-chamber/particle/hadron/hadron.factor @@ -1,9 +1,8 @@ USING: kernel random math math.constants math.points accessors multi-methods - processing - processing.color + processing processing.shapes bubble-chamber.common - bubble-chamber.particle ; + bubble-chamber.particle colors ; IN: bubble-chamber.particle.hadron @@ -26,7 +25,7 @@ METHOD: collide { hadron } [ 0.00001 theta-dd-small? ] [ -0.001 0.001 random-theta-dd ] [ ] while - 0 1 0 >>myc + 0 1 0 1 rgba boa >>myc drop ; diff --git a/extra/bubble-chamber/particle/muon/colors/colors.factor b/extra/bubble-chamber/particle/muon/colors/colors.factor index e68fff5efd..644bed833b 100644 --- a/extra/bubble-chamber/particle/muon/colors/colors.factor +++ b/extra/bubble-chamber/particle/muon/colors/colors.factor @@ -1,7 +1,7 @@ USING: kernel sequences math math.constants math.order accessors processing - processing.color ; + colors ; IN: bubble-chamber.particle.muon.colors diff --git a/extra/bubble-chamber/particle/muon/muon.factor b/extra/bubble-chamber/particle/muon/muon.factor index a61526fdf7..c5ee71c1b0 100644 --- a/extra/bubble-chamber/particle/muon/muon.factor +++ b/extra/bubble-chamber/particle/muon/muon.factor @@ -7,6 +7,7 @@ USING: kernel arrays sequences random multi-methods accessors combinators.cleave processing + processing.shapes bubble-chamber.common bubble-chamber.particle bubble-chamber.particle.muon.colors ; diff --git a/extra/bubble-chamber/particle/particle.factor b/extra/bubble-chamber/particle/particle.factor index 755a414b71..8b13e9b4b7 100644 --- a/extra/bubble-chamber/particle/particle.factor +++ b/extra/bubble-chamber/particle/particle.factor @@ -1,8 +1,8 @@ USING: kernel sequences combinators math math.vectors math.functions multi-methods - accessors combinators.cleave processing processing.color - bubble-chamber.common ; + accessors combinators.cleave processing + bubble-chamber.common colors ; IN: bubble-chamber.particle @@ -28,8 +28,8 @@ TUPLE: particle pos vel speed speed-d theta theta-d theta-dd myc mya ; 0 >>theta-d 0 >>theta-dd - 0 0 0 1 >>myc - 0 0 0 1 >>mya ; + 0 0 0 1 rgba boa >>myc + 0 0 0 1 rgba boa >>mya ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/extra/bubble-chamber/particle/quark/quark.factor b/extra/bubble-chamber/particle/quark/quark.factor index 595c3b5329..194b97a9cd 100644 --- a/extra/bubble-chamber/particle/quark/quark.factor +++ b/extra/bubble-chamber/particle/quark/quark.factor @@ -1,6 +1,6 @@ USING: kernel arrays sequences random math accessors multi-methods - processing + processing processing.shapes bubble-chamber.common bubble-chamber.particle ; 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/colors/colors.factor b/extra/colors/colors.factor index 911f3d0b59..ae3695cf8b 100644 --- a/extra/colors/colors.factor +++ b/extra/colors/colors.factor @@ -1,17 +1,50 @@ -! Copyright (C) 2003, 2007 Slava Pestov. +! Copyright (C) 2003, 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. + +USING: kernel combinators sequences arrays classes.tuple accessors colors.hsv ; + IN: colors -: black { 0.0 0.0 0.0 1.0 } ; -: blue { 0.0 0.0 1.0 1.0 } ; -: cyan { 0 0.941 0.941 1 } ; -: gray { 0.6 0.6 0.6 1.0 } ; -: green { 0.0 1.0 0.0 1.0 } ; -: light-gray { 0.95 0.95 0.95 0.95 } ; -: light-purple { 0.8 0.8 1.0 1.0 } ; -: magenta { 0.941 0 0.941 1 } ; -: orange { 0.941 0.627 0 1 } ; -: purple { 0.627 0 0.941 1 } ; -: red { 1.0 0.0 0.0 1.0 } ; -: white { 1.0 1.0 1.0 1.0 } ; -: yellow { 1.0 1.0 0.0 1.0 } ; +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +TUPLE: color ; + +TUPLE: rgba < color red green blue alpha ; + +TUPLE: hsva < color hue saturation value alpha ; + +TUPLE: gray < color gray alpha ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +GENERIC: >rgba ( object -- rgba ) + +M: rgba >rgba ( rgba -- rgba ) ; + +M: hsva >rgba ( hsva -- rgba ) + { [ hue>> ] [ saturation>> ] [ value>> ] [ alpha>> ] } cleave 4array + [ hsv>rgb ] [ peek ] bi suffix first4 rgba boa ; + +M: gray >rgba ( gray -- rgba ) [ gray>> dup dup ] [ alpha>> ] bi rgba boa ; + +M: array >rgba ( array -- rgba ) first4 rgba boa ; + +M: color red>> ( color -- red ) >rgba red>> ; +M: color green>> ( color -- green ) >rgba green>> ; +M: color blue>> ( color -- blue ) >rgba blue>> ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: black T{ rgba f 0.0 0.0 0.0 1.0 } ; +: blue T{ rgba f 0.0 0.0 1.0 1.0 } ; +: cyan T{ rgba f 0 0.941 0.941 1 } ; +: gray T{ rgba f 0.6 0.6 0.6 1.0 } ; +: green T{ rgba f 0.0 1.0 0.0 1.0 } ; +: light-gray T{ rgba f 0.95 0.95 0.95 0.95 } ; +: light-purple T{ rgba f 0.8 0.8 1.0 1.0 } ; +: magenta T{ rgba f 0.941 0 0.941 1 } ; +: orange T{ rgba f 0.941 0.627 0 1 } ; +: purple T{ rgba f 0.627 0 0.941 1 } ; +: red T{ rgba f 1.0 0.0 0.0 1.0 } ; +: white T{ rgba f 1.0 1.0 1.0 1.0 } ; +: yellow T{ rgba f 1.0 1.0 0.0 1.0 } ; 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 ; + + + : 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/golden-section/golden-section.factor b/extra/golden-section/golden-section.factor index 8ae8bccc25..05e7f68d0a 100644 --- a/extra/golden-section/golden-section.factor +++ b/extra/golden-section/golden-section.factor @@ -1,21 +1,14 @@ -USING: kernel namespaces math math.constants math.functions arrays sequences +USING: kernel namespaces math math.constants math.functions math.order + arrays sequences opengl opengl.gl opengl.glu ui ui.render ui.gadgets ui.gadgets.theme - ui.gadgets.slate colors accessors combinators.cleave ; + ui.gadgets.cartesian colors accessors combinators.cleave + processing.shapes ; IN: golden-section ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: disk ( radius center -- ) - glPushMatrix - gl-translate - dup 0 glScalef - gluNewQuadric [ 0 1 20 20 gluDisk ] [ gluDeleteQuadric ] bi - glPopMatrix ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - ! omega(i) = 2*pi*i*(phi-1) ! x(i) = 0.5*i*cos(omega(i)) @@ -34,31 +27,29 @@ IN: golden-section : radius ( i -- radius ) pi * 720 / sin 10 * ; -: color ( i -- color ) 360.0 / dup 0.25 1 4array ; +: color ( i -- i ) dup 360.0 / dup 0.25 1 rgba boa >fill-color ; -: rim ( i -- ) [ drop black gl-color ] [ radius 1.5 * ] [ center ] tri disk ; -: inner ( i -- ) [ color gl-color ] [ radius ] [ center ] tri disk ; +: line-width ( i -- i ) dup radius 0.5 * 1 max glLineWidth ; -: dot ( i -- ) [ rim ] [ inner ] bi ; +: draw ( i -- ) [ center ] [ radius 1.5 * 2 * ] bi circle ; + +: dot ( i -- ) color line-width draw ; : golden-section ( -- ) 720 [ dot ] each ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: display ( -- ) - GL_PROJECTION glMatrixMode - glLoadIdentity - -400 400 -400 400 -1 1 glOrtho - GL_MODELVIEW glMatrixMode - glLoadIdentity - golden-section ; - : golden-section-window ( -- ) [ - [ display ] - { 600 600 } >>pdim + + { 600 600 } >>pdim + { -400 400 } x-range + { -400 400 } y-range + [ golden-section ] >>action "Golden Section" open-window ] with-ui ; +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + MAIN: golden-section-window 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/irc/client/client-tests.factor b/extra/irc/client/client-tests.factor index e021ff4ff4..1b338df442 100644 --- a/extra/irc/client/client-tests.factor +++ b/extra/irc/client/client-tests.factor @@ -160,7 +160,7 @@ IN: irc.client.tests } cleave ] unit-test -! Namelist notification +! Namelist change notification { T{ participant-changed f f f } } [ { ":ircserver.net 353 factorbot @ #factortest :@factorbot " ":ircserver.net 366 factorbot #factortest :End of /NAMES list." } make-client @@ -172,4 +172,19 @@ IN: irc.client.tests [ listeners>> [ "#factortest" ] dip at [ read-message drop ] [ read-message ] bi ] [ terminate-irc ] } cleave + ] unit-test + +{ T{ participant-changed f "somedude" +part+ } } [ + { ":somedude!n=user@isp.net QUIT" } make-client + { [ "factorbot" set-nick ] + [ listeners>> + [ "#factortest" [ + H{ { "somedude" +normal+ } } clone >>participants ] keep + ] dip set-at ] + [ connect-irc ] + [ drop 0.1 seconds sleep ] + [ listeners>> [ "#factortest" ] dip at + [ read-message drop ] [ read-message drop ] [ read-message ] tri ] + [ terminate-irc ] + } cleave ] unit-test \ No newline at end of file diff --git a/extra/irc/client/client.factor b/extra/irc/client/client.factor index 813de0f57c..99922b1fb5 100644 --- a/extra/irc/client/client.factor +++ b/extra/irc/client/client.factor @@ -88,10 +88,11 @@ SYMBOL: current-irc-client : irc-stream> ( -- stream ) irc> stream>> ; : irc-write ( s -- ) irc-stream> stream-write ; : irc-print ( s -- ) irc-stream> [ stream-print ] keep stream-flush ; +: irc-send ( irc-message -- ) irc> out-messages>> mailbox-put ; : listener> ( name -- listener/f ) irc> listeners>> at ; : maybe-mailbox-get ( mailbox quot: ( irc-message -- ) -- ) - [ dup mailbox-empty? [ drop yield ] ] dip '[ mailbox-get @ ] if ; inline + [ dup mailbox-empty? [ drop 0.1 sleep ] ] dip '[ mailbox-get @ ] if ; inline GENERIC: to-listener ( message obj -- ) @@ -147,24 +148,6 @@ DEFER: me? "JOIN " irc-write [ [ " :" ] dip 3append ] when* irc-print ; -: /PART ( channel text -- ) - [ "PART " irc-write irc-write ] dip - " :" irc-write irc-print ; - -: /KICK ( channel who -- ) - [ "KICK " irc-write irc-write ] dip - " " irc-write irc-print ; - -: /PRIVMSG ( nick line -- ) - [ "PRIVMSG " irc-write irc-write ] dip - " :" irc-write irc-print ; - -: /ACTION ( nick line -- ) - [ 1 , "ACTION " % % 1 , ] "" make /PRIVMSG ; - -: /QUIT ( text -- ) - "QUIT :" irc-write irc-print ; - : /PONG ( text -- ) "PONG " irc-write irc-print ; @@ -240,10 +223,14 @@ M: kick handle-incoming-irc ( kick -- ) M: quit handle-incoming-irc ( quit -- ) [ dup prefix>> parse-name listeners-with-participant [ to-listener ] with each ] - [ prefix>> parse-name remove-participant-from-all ] [ handle-participant-change ] + [ prefix>> parse-name remove-participant-from-all ] tri ; +! FIXME: implement this +! M: mode handle-incoming-irc ( mode -- ) call-next-method ; +! M: nick handle-incoming-irc ( nick -- ) call-next-method ; + : >nick/mode ( string -- nick mode ) dup first "+@" member? [ unclip ] [ 0 ] if participant-mode ; 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/opengl/opengl.factor b/extra/opengl/opengl.factor index be70b1e176..29c2e5400a 100755 --- a/extra/opengl/opengl.factor +++ b/extra/opengl/opengl.factor @@ -2,10 +2,12 @@ ! Portions copyright (C) 2007 Eduardo Cavazos. ! Portions copyright (C) 2008 Joe Groff. ! See http://factorcode.org/license.txt for BSD license. + USING: alien alien.c-types continuations kernel libc math macros -namespaces math.vectors math.constants math.functions -math.parser opengl.gl opengl.glu combinators arrays sequences -splitting words byte-arrays assocs ; + namespaces math.vectors math.constants math.functions + math.parser opengl.gl opengl.glu combinators arrays sequences + splitting words byte-arrays assocs colors accessors ; + IN: opengl : coordinates ( point1 point2 -- x1 y2 x2 y2 ) @@ -14,6 +16,8 @@ IN: opengl : fix-coordinates ( point1 point2 -- x1 y2 x2 y2 ) [ first2 [ >fixnum ] bi@ ] bi@ ; +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + : gl-color ( color -- ) first4 glColor4d ; inline : gl-clear-color ( color -- ) @@ -22,6 +26,14 @@ IN: opengl : gl-clear ( color -- ) gl-clear-color GL_COLOR_BUFFER_BIT glClear ; +: color>raw ( object -- r g b a ) + >rgba { [ red>> ] [ green>> ] [ blue>> ] [ alpha>> ] } cleave ; + +: set-color ( object -- ) color>raw glColor4d ; +: set-clear-color ( object -- ) color>raw glClearColor ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + : gl-error ( -- ) glGetError dup zero? [ "GL error: " over gluErrorString append throw @@ -112,7 +124,7 @@ MACRO: all-enabled-client-state ( seq quot -- ) GL_QUAD_STRIP [ swap >r prepare-gradient r> [ length dup 1- v/n ] keep [ - >r >r 2dup r> r> gl-color v*n + >r >r 2dup r> r> set-color v*n dup gl-vertex v+ gl-vertex ] 2each 2drop ] do-state ; 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/processing/gallery/trails/trails.factor b/extra/processing/gallery/trails/trails.factor index 5abe23bb90..a5b2b7b02a 100644 --- a/extra/processing/gallery/trails/trails.factor +++ b/extra/processing/gallery/trails/trails.factor @@ -1,6 +1,6 @@ USING: kernel arrays sequences math math.order qualified - sequences.lib circular processing ui newfx ; + sequences.lib circular processing ui newfx processing.shapes ; IN: processing.gallery.trails diff --git a/extra/processing/processing.factor b/extra/processing/processing.factor index f786628c79..07b92fa8fd 100644 --- a/extra/processing/processing.factor +++ b/extra/processing/processing.factor @@ -9,8 +9,9 @@ USING: kernel namespaces threads combinators sequences arrays combinators.lib combinators.cleave rewrite-closures fry accessors newfx - processing.color - processing.gadget math.geometry.rect ; + processing.gadget math.geometry.rect + processing.shapes + colors ; IN: processing @@ -36,53 +37,34 @@ IN: processing ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -VAR: fill-color -VAR: stroke-color +GENERIC: canonical-color-value ( obj -- color ) -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +METHOD: canonical-color-value { number } dup dup 1 rgba boa ; -GENERIC: set-color ( value -- ) - -METHOD: set-color { number } dup dup glColor3d ; - -METHOD: set-color { array } +METHOD: canonical-color-value { array } dup length { - { 2 [ first2 >r dup dup r> glColor4d ] } - { 3 [ first3 glColor3d ] } - { 4 [ first4 glColor4d ] } + { 2 [ first2 >r dup dup r> rgba boa ] } + { 3 [ first3 1 rgba boa ] } + { 4 [ first4 rgba boa ] } } case ; -METHOD: set-color { rgba } - { [ red>> ] [ green>> ] [ blue>> ] [ alpha>> ] } cleave glColor4d ; +! METHOD: canonical-color-value { rgba } +! { [ red>> ] [ green>> ] [ blue>> ] [ alpha>> ] } cleave 4array ; + +METHOD: canonical-color-value { color } ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: fill ( value -- ) >fill-color ; -: stroke ( value -- ) >stroke-color ; +: fill ( value -- ) canonical-color-value >fill-color ; +: stroke ( value -- ) canonical-color-value >stroke-color ; -: no-fill ( -- ) - fill-color> - { - { [ dup number? ] [ 0 2array fill ] } - { [ t ] - [ - [ drop 0 ] [ length 1- ] [ ] tri set-nth - ] } - } - cond ; +! : no-fill ( -- ) 0 fill-color> set-fourth ; +! : no-stroke ( -- ) 0 stroke-color> set-fourth ; -: no-stroke ( -- ) - stroke-color> - { - { [ dup number? ] [ 0 2array stroke ] } - { [ t ] - [ - [ drop 0 ] [ length 1- ] [ ] tri set-nth - ] } - } - cond ; +: no-fill ( -- ) fill-color> 0 >>alpha drop ; +: no-stroke ( -- ) stroke-color> 0 >>alpha drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -90,167 +72,93 @@ METHOD: set-color { rgba } ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: point* ( x y -- ) - stroke-color> set-color - GL_POINTS glBegin - glVertex2d - glEnd ; +! : quad-vertices ( x1 y1 x2 y2 x3 y3 x4 y4 -- ) +! GL_POLYGON glBegin +! glVertex2d +! glVertex2d +! glVertex2d +! glVertex2d +! glEnd ; -: point ( seq -- ) first2 point* ; +! : quad ( x1 y1 x2 y2 x3 y3 x4 y4 -- ) -: line ( x1 y1 x2 y2 -- ) - stroke-color> set-color - GL_LINES glBegin - glVertex2d - glVertex2d - glEnd ; +! 8 ndup -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! GL_FRONT_AND_BACK GL_FILL glPolygonMode +! fill-color> set-color -: triangle ( x1 y1 x2 y2 x3 y3 -- ) - - GL_FRONT_AND_BACK GL_FILL glPolygonMode - fill-color> set-color - - 6 ndup +! quad-vertices - GL_TRIANGLES glBegin - glVertex2d - glVertex2d - glVertex2d - glEnd +! GL_FRONT_AND_BACK GL_LINE glPolygonMode +! stroke-color> set-color - GL_FRONT_AND_BACK GL_LINE glPolygonMode - stroke-color> set-color - - GL_TRIANGLES glBegin - glVertex2d - glVertex2d - glVertex2d - glEnd ; +! quad-vertices ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: quad-vertices ( x1 y1 x2 y2 x3 y3 x4 y4 -- ) - GL_POLYGON glBegin - glVertex2d - glVertex2d - glVertex2d - glVertex2d - glEnd ; +! : ellipse-disk ( x y width height -- ) +! glPushMatrix +! >r >r +! 0 glTranslated +! r> r> 1 glScaled +! gluNewQuadric +! dup 0 0.5 20 1 gluDisk +! gluDeleteQuadric +! glPopMatrix ; -: quad ( x1 y1 x2 y2 x3 y3 x4 y4 -- ) +! : ellipse-center ( x y width height -- ) - 8 ndup +! 4dup - GL_FRONT_AND_BACK GL_FILL glPolygonMode - fill-color> set-color +! GL_FRONT_AND_BACK GL_FILL glPolygonMode +! stroke-color> set-color - quad-vertices - - GL_FRONT_AND_BACK GL_LINE glPolygonMode - stroke-color> set-color +! ellipse-disk - quad-vertices ; +! GL_FRONT_AND_BACK GL_FILL glPolygonMode +! fill-color> set-color + +! [ 2 - ] bi@ ! [ stroke-width 1+ - ] bi@ + +! ellipse-disk ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: rect-vertices ( x y width height -- ) - GL_POLYGON glBegin - [ 2drop glVertex2d ] 4keep - [ drop swap >r + 1- r> glVertex2d ] 4keep - [ >r swap >r + 1- r> r> + 1- glVertex2d ] 4keep - [ nip + 1- glVertex2d ] 4keep - 4drop - glEnd ; +! SYMBOL: CENTER +! SYMBOL: RADIUS +! SYMBOL: CORNER +! SYMBOL: CORNERS -: rect ( x y width height -- ) +! SYMBOL: ellipse-mode-value - 4dup +! : ellipse-mode ( val -- ) ellipse-mode-value set ; - GL_FRONT_AND_BACK GL_FILL glPolygonMode - fill-color> set-color +! : ellipse-radius ( x y hori vert -- ) [ 2 * ] bi@ ellipse-center ; - rect-vertices +! : ellipse-corner ( x y width height -- ) +! [ drop nip 2 / + ] 4keep +! [ nip rot drop 2 / + ] 4keep +! [ >r >r 2drop r> r> ] 4keep +! 4drop +! ellipse-center ; - GL_FRONT_AND_BACK GL_LINE glPolygonMode - stroke-color> set-color +! : ellipse-corners ( x1 y1 x2 y2 -- ) +! [ drop nip + 2 / ] 4keep +! [ nip rot drop + 2 / ] 4keep +! [ drop nip - abs 1+ ] 4keep +! [ nip rot drop - abs 1+ ] 4keep +! 4drop +! ellipse-center ; - rect-vertices ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: ellipse-disk ( x y width height -- ) - glPushMatrix - >r >r - 0 glTranslated - r> r> 1 glScaled - gluNewQuadric - dup 0 0.5 20 1 gluDisk - gluDeleteQuadric - glPopMatrix ; - -: ellipse-center ( x y width height -- ) - - 4dup - - GL_FRONT_AND_BACK GL_FILL glPolygonMode - stroke-color> set-color - - ellipse-disk - - GL_FRONT_AND_BACK GL_FILL glPolygonMode - fill-color> set-color - - [ 2 - ] bi@ ! [ stroke-width 1+ - ] bi@ - - ellipse-disk ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -SYMBOL: CENTER -SYMBOL: RADIUS -SYMBOL: CORNER -SYMBOL: CORNERS - -SYMBOL: ellipse-mode-value - -: ellipse-mode ( val -- ) ellipse-mode-value set ; - -: ellipse-radius ( x y hori vert -- ) [ 2 * ] bi@ ellipse-center ; - -: ellipse-corner ( x y width height -- ) - [ drop nip 2 / + ] 4keep - [ nip rot drop 2 / + ] 4keep - [ >r >r 2drop r> r> ] 4keep - 4drop - ellipse-center ; - -: ellipse-corners ( x1 y1 x2 y2 -- ) - [ drop nip + 2 / ] 4keep - [ nip rot drop + 2 / ] 4keep - [ drop nip - abs 1+ ] 4keep - [ nip rot drop - abs 1+ ] 4keep - 4drop - ellipse-center ; - -: ellipse ( a b c d -- ) - ellipse-mode-value get - { - { CENTER [ ellipse-center ] } - { RADIUS [ ellipse-radius ] } - { CORNER [ ellipse-corner ] } - { CORNERS [ ellipse-corners ] } - } - case ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: circle ( pos size -- ) [ first2 ] [ dup ] bi* ellipse ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -USING: multi-methods ; +! : ellipse ( a b c d -- ) +! ellipse-mode-value get +! { +! { CENTER [ ellipse-center ] } +! { RADIUS [ ellipse-radius ] } +! { CORNER [ ellipse-corner ] } +! { CORNERS [ ellipse-corners ] } +! } +! case ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -279,8 +187,8 @@ METHOD: background { array } : mouse ( -- point ) hand-loc get ; -: mouse-x mouse first ; -: mouse-y mouse second ; +: mouse-x ( -- x ) mouse first ; +: mouse-y ( -- y ) mouse second ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -296,9 +204,7 @@ VAR: loop-flag : defaults ( -- ) 0.8 background - 0 >stroke-color - 1 >fill-color - CENTER ellipse-mode + ! CENTER ellipse-mode 60 frame-rate ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/extra/processing/shapes/shapes.factor b/extra/processing/shapes/shapes.factor new file mode 100644 index 0000000000..f577010544 --- /dev/null +++ b/extra/processing/shapes/shapes.factor @@ -0,0 +1,116 @@ + +USING: kernel namespaces arrays sequences grouping + alien.c-types + math math.vectors math.geometry.rect + opengl.gl opengl.glu opengl generalizations vars + combinators.cleave colors ; + +IN: processing.shapes + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +VAR: fill-color +VAR: stroke-color + +T{ rgba f 0 0 0 1 } stroke-color set-global +T{ rgba f 1 1 1 1 } fill-color set-global + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: fill-mode ( -- ) + GL_FRONT_AND_BACK GL_FILL glPolygonMode + fill-color> set-color ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: stroke-mode ( -- ) + GL_FRONT_AND_BACK GL_LINE glPolygonMode + stroke-color> set-color ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: gl-vertex-2d ( vertex -- ) first2 glVertex2d ; + +: gl-vertices-2d ( vertices -- ) [ gl-vertex-2d ] each ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: point* ( x y -- ) stroke-mode GL_POINTS [ glVertex2d ] do-state ; +: point ( point -- ) stroke-mode GL_POINTS [ gl-vertex-2d ] do-state ; +: points ( points -- ) stroke-mode GL_POINTS [ gl-vertices-2d ] do-state ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: line** ( x y x y -- ) + stroke-mode GL_LINES [ glVertex2d glVertex2d ] do-state ; + +: line* ( a b -- ) stroke-mode GL_LINES [ [ gl-vertex-2d ] bi@ ] do-state ; + +: lines ( seq -- ) stroke-mode GL_LINES [ gl-vertices-2d ] do-state ; + +: line ( seq -- ) lines ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: line-strip ( seq -- ) stroke-mode GL_LINE_STRIP [ gl-vertices-2d ] do-state ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: triangles ( seq -- ) + [ fill-mode GL_TRIANGLES [ gl-vertices-2d ] do-state ] + [ stroke-mode GL_TRIANGLES [ gl-vertices-2d ] do-state ] bi ; + +: triangle ( seq -- ) triangles ; + +: triangle* ( a b c -- ) 3array triangles ; + +: triangle** ( x y x y x y -- ) 6 narray 2 group triangles ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: polygon ( seq -- ) + [ fill-mode GL_POLYGON [ gl-vertices-2d ] do-state ] + [ stroke-mode GL_POLYGON [ gl-vertices-2d ] do-state ] bi ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: rectangle ( loc dim -- ) + + { top-left top-right bottom-right bottom-left } + 1arr + polygon ; + +: rectangle* ( x y width height -- ) [ 2array ] 2bi@ rectangle ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: gl-translate-2d ( pos -- ) first2 0 glTranslated ; + +: gl-scale-2d ( xy -- ) first2 1 glScaled ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: gl-ellipse ( center dim -- ) + glPushMatrix + [ gl-translate-2d ] [ gl-scale-2d ] bi* + gluNewQuadric + dup 0 0.5 20 1 gluDisk + gluDeleteQuadric + glPopMatrix ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: gl-get-line-width ( -- width ) + GL_LINE_WIDTH 0 tuck glGetDoublev *double ; + +: ellipse ( center dim -- ) + GL_FRONT_AND_BACK GL_FILL glPolygonMode + [ stroke-color> set-color gl-ellipse ] + [ fill-color> set-color gl-get-line-width 2 * dup 2array v- gl-ellipse ] 2bi ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: circle ( center size -- ) dup 2array ellipse ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + 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/slides/slides.factor b/extra/slides/slides.factor index e73da15296..05aa6779f5 100755 --- a/extra/slides/slides.factor +++ b/extra/slides/slides.factor @@ -3,7 +3,7 @@ USING: arrays hashtables help.markup help.stylesheet io io.styles kernel math models namespaces sequences ui ui.gadgets ui.gadgets.books ui.gadgets.panes ui.gestures ui.render -parser accessors ; +parser accessors colors ; IN: slides : stylesheet @@ -23,14 +23,14 @@ IN: slides H{ { font "monospace" } { font-size 36 } - { page-color { 0.4 0.4 0.4 0.3 } } + { page-color T{ rgba f 0.4 0.4 0.4 0.3 } } } } { snippet-style H{ { font "monospace" } { font-size 36 } - { foreground { 0.1 0.1 0.4 1 } } + { foreground T{ rgba f 0.1 0.1 0.4 1 } } } } { table-content-style @@ -48,14 +48,19 @@ IN: slides : $divider ( -- ) [ - T{ gradient f { { 0.25 0.25 0.25 1.0 } { 1.0 1.0 1.0 0.0 } } } >>interior + T{ gradient f + { + T{ rgba f 0.25 0.25 0.25 1.0 } + T{ rgba f 1.0 1.0 1.0 0.0 } + } + } >>interior { 800 10 } >>dim { 1 0 } >>orientation gadget. ] ($block) ; : page-theme ( gadget -- ) - T{ gradient f { { 0.8 0.8 1.0 1.0 } { 0.8 1.0 1.0 1.0 } } } + T{ gradient f { T{ rgba f 0.8 0.8 1.0 1.0 } T{ rgba f 0.8 1.0 1.0 1.0 } } } swap set-gadget-interior ; : ( list -- gadget ) diff --git a/extra/springies/ui/ui.factor b/extra/springies/ui/ui.factor index f2248ba6f2..75d3087fe5 100644 --- a/extra/springies/ui/ui.factor +++ b/extra/springies/ui/ui.factor @@ -23,7 +23,9 @@ IN: springies.ui GL_MODELVIEW glMatrixMode glLoadIdentity ; -: display ( -- ) set-projection black gl-color draw-nodes draw-springs ; +! : display ( -- ) set-projection black gl-color draw-nodes draw-springs ; + +: display ( -- ) set-projection black set-color draw-nodes draw-springs ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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/buttons/buttons.factor b/extra/ui/gadgets/buttons/buttons.factor index e9475495bf..c5a5e8bad8 100755 --- a/extra/ui/gadgets/buttons/buttons.factor +++ b/extra/ui/gadgets/buttons/buttons.factor @@ -106,7 +106,7 @@ TUPLE: checkmark-paint color ; C: checkmark-paint M: checkmark-paint draw-interior - checkmark-paint-color gl-color + checkmark-paint-color set-color origin get [ rect-dim { 0 0 } over gl-line @@ -152,11 +152,11 @@ TUPLE: radio-paint color ; C: radio-paint M: radio-paint draw-interior - radio-paint-color gl-color + radio-paint-color set-color origin get { 4 4 } v+ swap rect-dim { 8 8 } v- 12 gl-fill-circle ; M: radio-paint draw-boundary - radio-paint-color gl-color + radio-paint-color set-color origin get { 1 1 } v+ swap rect-dim { 2 2 } v- 12 gl-circle ; : radio-knob-theme ( gadget -- ) diff --git a/extra/ui/gadgets/cartesian/cartesian.factor b/extra/ui/gadgets/cartesian/cartesian.factor new file mode 100644 index 0000000000..730b0f5b44 --- /dev/null +++ b/extra/ui/gadgets/cartesian/cartesian.factor @@ -0,0 +1,42 @@ + +USING: kernel combinators sequences opengl.gl + ui.render ui.gadgets ui.gadgets.slate + accessors ; + +IN: ui.gadgets.cartesian + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +TUPLE: cartesian < slate x-min x-max y-min y-max z-min z-max perspective ; + +: init-cartesian ( cartesian -- cartesian ) + init-slate + -10 >>x-min + 10 >>x-max + -10 >>y-min + 10 >>y-max + -1 >>z-min + 1 >>z-max ; + +: ( -- cartesian ) cartesian new init-cartesian ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +M: cartesian establish-coordinate-system ( cartesian -- cartesian ) + dup + { + [ x-min>> ] [ x-max>> ] + [ y-min>> ] [ y-max>> ] + [ z-min>> ] [ z-max>> ] + } + cleave + glOrtho ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: x-range ( cartesian range -- cartesian ) first2 [ >>x-min ] [ >>x-max ] bi* ; +: y-range ( cartesian range -- cartesian ) first2 [ >>y-min ] [ >>y-max ] bi* ; +: z-range ( cartesian range -- cartesian ) first2 [ >>z-min ] [ >>z-max ] bi* ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + diff --git a/extra/ui/gadgets/editors/editors.factor b/extra/ui/gadgets/editors/editors.factor index 8b0244900a..301121cdcc 100755 --- a/extra/ui/gadgets/editors/editors.factor +++ b/extra/ui/gadgets/editors/editors.factor @@ -129,7 +129,7 @@ M: editor ungraft* : draw-caret ( -- ) editor get editor-focused? [ editor get - dup editor-caret-color gl-color + dup editor-caret-color set-color dup caret-loc origin get v+ swap caret-dim over v+ [ { 0.5 -0.5 } v+ ] bi@ gl-line @@ -173,7 +173,7 @@ M: editor ungraft* : draw-lines ( -- ) \ first-visible-line get [ - editor get dup editor-color gl-color + editor get dup editor-color set-color dup visible-lines [ draw-line 1 translate-lines ] with each ] with-editor-translation ; @@ -192,7 +192,7 @@ M: editor ungraft* (draw-selection) ; : draw-selection ( -- ) - editor get editor-selection-color gl-color + editor get editor-selection-color set-color editor get selection-start/end over first [ 2dup [ diff --git a/extra/ui/gadgets/grid-lines/grid-lines.factor b/extra/ui/gadgets/grid-lines/grid-lines.factor index d0cedc985b..3f08425e95 100755 --- a/extra/ui/gadgets/grid-lines/grid-lines.factor +++ b/extra/ui/gadgets/grid-lines/grid-lines.factor @@ -25,7 +25,7 @@ SYMBOL: grid-dim M: grid-lines draw-boundary origin get [ -0.5 -0.5 0.0 glTranslated - grid-lines-color gl-color [ + grid-lines-color set-color [ dup grid set dup rect-dim half-gap v- grid-dim set compute-grid diff --git a/extra/ui/gadgets/labelled/labelled.factor b/extra/ui/gadgets/labelled/labelled.factor index bd775a2d39..dd5b1124e1 100755 --- a/extra/ui/gadgets/labelled/labelled.factor +++ b/extra/ui/gadgets/labelled/labelled.factor @@ -31,8 +31,8 @@ M: labelled-gadget focusable-child* labelled-gadget-content ; : title-theme ( gadget -- ) { 1 0 } over set-gadget-orientation T{ gradient f { - { 0.65 0.65 1.0 1.0 } - { 0.65 0.45 1.0 1.0 } + T{ rgba f 0.65 0.65 1.0 1.0 } + T{ rgba f 0.65 0.45 1.0 1.0 } } } swap set-gadget-interior ; : ( text -- label )