Module format change

slava 2006-10-21 06:40:38 +00:00
parent e4684cb219
commit 2a1167ecec
53 changed files with 201 additions and 144 deletions

View File

@ -1,4 +1,5 @@
PROVIDE: contrib/benchmark { } {
PROVIDE: contrib/benchmark
{ +tests+ {
"empty-loop.factor"
"fac.factor"
"fib.factor"
@ -10,4 +11,4 @@ PROVIDE: contrib/benchmark { } {
"vectors.factor"
"prettyprint.factor"
"iteration.factor"
} ;
} } ;

View File

@ -1,3 +1 @@
USING: alien ;
PROVIDE: contrib/cairo { "cairo.factor" } ;
PROVIDE: contrib/cairo { +files+ { "cairo.factor" } } ;

View File

@ -1,8 +1,9 @@
USE: kernel
PROVIDE: contrib/calendar {
PROVIDE: contrib/calendar
{ +files+ {
{ "os-unix.factor" [ unix? ] }
{ "os-win32.factor" [ windows? ] }
"calendar.factor"
} { "test/calendar.factor" } ;
} }
{ +tests+ { "test/calendar.factor" } } ;

View File

@ -3,9 +3,11 @@
!
REQUIRES: contrib/dlists contrib/serialize contrib/match ;
PROVIDE: contrib/concurrency {
PROVIDE: contrib/concurrency
{ +files+ {
"concurrency.factor"
"concurrency.facts"
} {
} }
{ +tests+ {
"concurrency-tests.factor"
} ;
} } ;

View File

@ -1,6 +1,7 @@
REQUIRES: contrib/math ;
PROVIDE: contrib/crypto {
PROVIDE: contrib/crypto
{ +files+ {
"common.factor"
"timing.factor"
@ -25,7 +26,8 @@ PROVIDE: contrib/crypto {
! Public key
"rsa.factor"
} {
} }
{ +tests+ {
"test/common.factor"
"test/md5.factor"
"test/sha1.factor"
@ -37,4 +39,4 @@ PROVIDE: contrib/crypto {
"test/barrett.factor"
"test/montgomery.factor"
"test/blum-blum-shub.factor"
} ;
} } ;

View File

@ -1,7 +1,7 @@
REQUIRES: contrib/process contrib/concurrency contrib/x11
contrib/vars ;
PROVIDE: contrib/factory { "factory.factor" } ;
PROVIDE: contrib/factory { +files+ { "factory.factor" } } ;
USE: factory

View File

@ -1,3 +1,4 @@
REQUIRES: contrib/furnace ;
PROVIDE: contrib/furnace-pastebin { "pastebin.factor" } ;
PROVIDE: contrib/furnace-pastebin
{ +files+ { "pastebin.factor" } } ;

View File

@ -1,11 +1,13 @@
REQUIRES: contrib/httpd ;
PROVIDE: contrib/furnace {
PROVIDE: contrib/furnace
{ +files+ {
"validator.factor"
"responder.factor"
"tools/help.factor"
"tools/browser.factor"
} {
} }
{ +tests+ {
"test/validator.factor"
"test/responder.factor"
} ;
} } ;

View File

@ -1,3 +1,3 @@
PROVIDE: contrib/gap-buffer
{ "circular.factor" "gap-buffer.factor" }
{ "circular-tests.factor" "gap-buffer-tests.factor" } ;
{ +files+ { "circular.factor" "gap-buffer.factor" } }
{ +tests+ { "circular-tests.factor" "gap-buffer-tests.factor" } } ;

View File

@ -1,5 +1,3 @@
PROVIDE: contrib/hexdump {
"hexdump.factor"
} {
"test/hexdump.factor"
} ;
PROVIDE: contrib/hexdump
{ +files+ { "hexdump.factor" } }
{ +tests+ { "test/hexdump.factor" } } ;

View File

@ -2,7 +2,8 @@ USING: io ;
REQUIRES: contrib/calendar contrib/http contrib/xml ;
PROVIDE: contrib/httpd {
PROVIDE: contrib/httpd
{ +files+ {
"mime.factor"
"html-tags.factor"
"responder.factor"
@ -14,12 +15,13 @@ PROVIDE: contrib/httpd {
"embedded.factor"
"file-responder.factor"
"default-responders.factor"
} {
} }
{ +tests+ {
"test/html.factor"
"test/http-client.factor"
"test/httpd.factor"
"test/url-encoding.factor"
} ;
} } ;
USE: httpd
MAIN: contrib/httpd 8888 httpd ;

View File

@ -1 +1,2 @@
PROVIDE: contrib/jedit { "jedit.factor" "jedit.facts" } { } ;
PROVIDE: contrib/jedit
{ +files+ { "jedit.factor" "jedit.facts" } } ;

View File

@ -22,9 +22,9 @@
! ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!
REQUIRES: contrib/parser-combinators ;
PROVIDE: contrib/json {
PROVIDE: contrib/json
{ +files+ {
"json-reader.factor"
"json-writer.factor"
"json.facts"
} {
} ;
} } ;

View File

@ -1,12 +1,14 @@
REQUIRES: contrib/lazy-lists contrib/parser-combinators ;
PROVIDE: contrib/lambda {
PROVIDE: contrib/lambda
{ +files+ {
"nodes.factor"
"parser.factor"
"core.factor"
"lambda.factor"
} {
} }
{ +tests+ {
"test/lambda.factor"
} ;
} } ;
USE: lambda
MAIN: contrib/lambda lambda ;

View File

@ -1,7 +1,8 @@
! Copyright (C) 2006 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
PROVIDE: contrib/lazy-lists {
PROVIDE: contrib/lazy-lists
{ +files+ {
"lists.factor"
"lists.facts"
"lazy.factor"
@ -9,6 +10,7 @@ PROVIDE: contrib/lazy-lists {
"lazy-io.factor"
"lazy-io.facts"
"examples.factor"
} {
} }
{ +tests+ {
"test/lists.factor"
} ;
} } ;

View File

@ -1 +1,2 @@
PROVIDE: contrib/lindenmayer { "lindenmayer.factor" } ;
PROVIDE: contrib/lindenmayer
{ +files+ { "lindenmayer.factor" } } ;

View File

@ -1,8 +1,10 @@
! Copyright (C) 2006 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
PROVIDE: contrib/match {
PROVIDE: contrib/match
{ +files+ {
"match.factor"
"match.facts"
} {
} }
{ +tests+ {
"tests.factor"
} ;
} } ;

View File

@ -1,5 +1,6 @@
REQUIRES: contrib/sequences ;
PROVIDE: contrib/math {
PROVIDE: contrib/math
{ +files+ {
"utils.factor"
"combinatorics.factor"
"analysis.factor"
@ -8,6 +9,7 @@ PROVIDE: contrib/math {
"matrices.factor"
"statistics.factor"
"numerical-integration.factor"
} {
} }
{ +tests+ {
"test.factor"
} ;
} } ;

View File

@ -1,6 +1,8 @@
REQUIRES: contrib/lazy-lists contrib/sequences ;
PROVIDE: contrib/parser-combinators {
PROVIDE: contrib/parser-combinators
{ +files+ {
"parser-combinators.factor"
} {
} }
{ +tests+ {
"tests.factor"
} ;
} } ;

View File

@ -1,3 +1,3 @@
PROVIDE: contrib/postgresql
{ "libpq.factor" "postgresql.factor" }
{ "postgresql-test.factor" } ;
{ +files+ { "libpq.factor" "postgresql.factor" } }
{ +tests+ { "postgresql-test.factor" } } ;

View File

@ -1,6 +1,6 @@
IN: process
USING: kernel ;
PROVIDE: contrib/process {
USE: kernel
PROVIDE: contrib/process
{ +files+ {
{ "os-unix.factor" [ unix? ] }
{ "os-windows.factor" [ windows? ] }
} ;
} } ;

View File

@ -1,5 +1,6 @@
PROVIDE: contrib/random-tester {
PROVIDE: contrib/random-tester
{ +files+ {
"utils.factor"
"random.factor"
"random-tester.factor"
} ;
} } ;

View File

@ -1,5 +1,6 @@
REQUIRES: contrib/http-client contrib/httpd contrib/sqlite ;
PROVIDE: contrib/rss {
PROVIDE: contrib/rss
{ +files+ {
"rss.factor"
"rss-reader.factor"
} { } ;
} } ;

View File

@ -1,6 +1,8 @@
PROVIDE: contrib/serialize {
PROVIDE: contrib/serialize
{ +files+ {
"serialize.factor"
"serialize.facts"
} {
} }
{ +tests+ {
"tests.factor"
} ;
} } ;

View File

@ -1 +1 @@
PROVIDE: contrib/slate { "slate.factor" } ;
PROVIDE: contrib/slate { +files+ { "slate.factor" } } ;

View File

@ -1,9 +1,10 @@
REQUIRES: contrib/parser-combinators contrib/concurrency ;
PROVIDE: contrib/space-invaders {
PROVIDE: contrib/space-invaders
{ +files+ {
"cpu-8080.factor"
"space-invaders.factor"
} { } ;
} } ;
USE: space-invaders

View File

@ -1,9 +1,11 @@
PROVIDE: contrib/sqlite {
PROVIDE: contrib/sqlite
{ +files+ {
"libsqlite.factor"
"sqlite.factor"
"sqlite.facts"
"tuple-db.factor"
"tuple-db.facts"
} {
} }
{ +tests+ {
"tuple-db-tests.factor"
} ;
} } ;

View File

@ -3,13 +3,21 @@
REQUIRES: contrib/lazy-lists ;
PROVIDE: contrib/tetris {
"tetris-colours.factor" "tetromino.factor" "tetris-piece.factor"
"tetris-board.factor" "tetris.factor" "tetris-gl.factor"
PROVIDE: contrib/tetris
{ +files+ {
"tetris-colours.factor"
"tetromino.factor"
"tetris-piece.factor"
"tetris-board.factor"
"tetris.factor"
"tetris-gl.factor"
"tetris-gadget.factor"
} {
"test/tetris-piece.factor" "test/tetris-board.factor" "test/tetris.factor"
} ;
} }
{ +tests+ {
"test/tetris-piece.factor"
"test/tetris-board.factor"
"test/tetris.factor"
} } ;
USE: tetris-gadget

View File

@ -1 +1 @@
PROVIDE: contrib/textmate { "textmate.factor" } { } ;
PROVIDE: contrib/textmate { +files+ { "textmate.factor" } } ;

View File

@ -1,13 +1,14 @@
PROVIDE: contrib/topology
{
{ +files+ {
"matrix.factor"
"linear.factor"
"simplex.factor"
"hopf.factor"
"laplacian.factor"
} {
} }
{ +tests+ {
"test/matrix.factor"
"test/simplex.factor"
"test/hopf.factor"
"test/laplacian.factor"
} ;
} } ;

View File

@ -1,7 +1,8 @@
PROVIDE: contrib/units
{
{ +files+ {
"dimensioned.factor" "si-units.factor" "constants.factor"
} {
} }
{ +tests+ {
"test/units.factor"
} ;
} } ;

View File

@ -2,12 +2,12 @@
! See http://factorcode.org/license.txt for BSD license.
USING: kernel ;
PROVIDE: contrib/usb {
PROVIDE: contrib/usb
{ +files+ {
"usb-common.factor"
{ "usb-unix.factor" [ unix? ] }
{ "usb-win32.factor" [ win32? ] }
{ "usb-macosx.factor" [ macosx? ] }
"usb.factor"
"usb.facts"
} {
} ;

View File

@ -1,6 +1,2 @@
REQUIRES: contrib/process ;
PROVIDE: contrib/vim {
"vim.factor"
"vim.facts"
} ;
PROVIDE: contrib/vim { +files+ { "vim.factor" "vim.facts" } } ;

View File

@ -1,9 +1,9 @@
USE: kernel
PROVIDE: library/compiler/alien/objc {
PROVIDE: library/compiler/alien/objc
{ +files+ {
{ "objc-x86.factor" [ cpu "x86" = ] }
{ "objc-ppc.factor" [ cpu "ppc" = ] }
"runtime.factor"
"utilities.factor"
"subclassing.factor"
} ;
} } ;

View File

@ -1,7 +1,7 @@
REQUIRES: library/compiler/x86 library/compiler/pentium4 ;
PROVIDE: library/compiler/amd64 {
PROVIDE: library/compiler/amd64
{ +files+ {
"architecture.factor"
"alien.factor"
"intrinsics.factor"
} ;
} } ;

View File

@ -1,4 +1,5 @@
PROVIDE: library/compiler {
PROVIDE: library/compiler
{ +files+ {
"inference/shuffle.factor"
"inference/dataflow.factor"
"inference/inference.factor"
@ -46,7 +47,8 @@ PROVIDE: library/compiler {
"inference/stack.facts"
"inference/words.facts"
"compiler.facts"
} {
} }
{ +tests+ {
"test/alien-objects.factor"
"test/simple.factor"
"test/templates.factor"
@ -60,4 +62,4 @@ PROVIDE: library/compiler {
"test/optimizer.factor"
"test/alien.factor"
"test/callbacks.factor"
} ;
} } ;

View File

@ -1,3 +1,4 @@
REQUIRES: library/compiler/x86 ;
PROVIDE: library/compiler/pentium4 { "intrinsics.factor" } ;
PROVIDE: library/compiler/pentium4
{ +files+ { "intrinsics.factor" } } ;

View File

@ -1,5 +1,6 @@
PROVIDE: library/compiler/ppc {
PROVIDE: library/compiler/ppc
{ +files+ {
"assembler.factor"
"architecture.factor"
"intrinsics.factor"
} ;
} } ;

View File

@ -1,5 +1,6 @@
PROVIDE: library/compiler/x86 {
PROVIDE: library/compiler/x86
{ +files+ {
"assembler.factor"
"architecture.factor"
"intrinsics.factor"
} ;
} } ;

View File

@ -1,6 +1,8 @@
PROVIDE: library/io/buffer {
PROVIDE: library/io/buffer
{ +files+ {
"buffer.factor"
"buffer.facts"
} {
} }
{ +tests+ {
"test/buffer.factor"
} ;
} } ;

View File

@ -2,7 +2,8 @@ USE: kernel
REQUIRES: library/io/buffer ;
PROVIDE: library/io/unix {
PROVIDE: library/io/unix
{ +files+ {
"types.factor"
{ "syscalls-freebsd.factor" [ os "freebsd" = ] }
{ "syscalls-linux.factor" [ os "linux" = ] }
@ -12,4 +13,4 @@ PROVIDE: library/io/unix {
"io.factor"
"sockets.factor"
"files.factor"
} ;
} } ;

View File

@ -1,9 +1,10 @@
REQUIRES: library/windows library/io/buffer ;
PROVIDE: library/io/windows {
PROVIDE: library/io/windows
{ +files+ {
"errors.factor"
"io-internals.factor"
"stream.factor"
"server.factor"
"io.factor"
} ;
} } ;

View File

@ -1,4 +1,5 @@
PROVIDE: library {
PROVIDE: library
{ +files+ {
"version.factor"
"generic/early-generic.factor"
@ -188,9 +189,8 @@ PROVIDE: library {
"tools/listener.facts"
"tools/memory.facts"
"tools/test.facts"
}
! Test files
{
} }
{ +tests+ {
"test/annotate.factor"
"test/binary.factor"
"test/collections/hashtables.factor"
@ -234,4 +234,4 @@ PROVIDE: library {
"test/tuple.factor"
"test/words.factor"
"test/tools.factor"
} ;
} } ;

View File

@ -19,7 +19,8 @@ TUPLE: module name files tests main ;
: prefix-paths ( name seq -- newseq )
[ path+ "resource:" swap append ] map-with ;
C: module ( name files tests -- module )
C: module ( name files tests help -- module )
nip ! [ set-module-help ] keep
[ >r >r over r> prefix-paths r> set-module-tests ] keep
[ >r dupd prefix-paths r> set-module-files ] keep
[ set-module-name ] keep ;
@ -47,9 +48,12 @@ C: module ( name files tests -- module )
modules get [ first = ] find-with nip
[ modules get delete ] when* ;
: provide ( name files tests -- )
pick remove-module
[ process-files ] 2apply <module>
: provide ( name hash -- )
over remove-module [
+files+ get process-files
+tests+ get process-files
+help+ get
] bind <module>
[ module-files run-files ] keep
add-module ;

View File

@ -32,8 +32,8 @@ $terpri
{ $notes "Module definitions should use the " { $link POSTPONE: REQUIRES: } " parsing word instead. In the listener, the " { $link require } " word might be more useful since it recompiles new words after loading the module." } ;
HELP: provide
{ $values { "name" "a string" } { "files" "a sequence of strings" } { "tests" "a sequence of strings" } }
{ $description "Registers a module definition and loads its source files. Usually instead of calling this word, module definitions use the parsing word " { $link POSTPONE: PROVIDE: } " instead." } ;
{ $values { "name" "a string" } { "hash" "a hashtable" } }
{ $description "Registers a module definition and loads its source files. The possible hashtable are documented in the " { $link POSTPONE: PROVIDE: } " word. Usually instead of calling this word, module definitions use the parsing word " { $link POSTPONE: PROVIDE: } " instead." } ;
HELP: test-module
{ $values { "name" "a module name string" } }

View File

@ -73,7 +73,7 @@ DEFER: !PRIMITIVE: parsing
: !FORGET: scan use get hash-stack [ forget ] when* ; parsing
: !PROVIDE:
scan [ { { } { } } append first2 provide ] f ; parsing
scan [ alist>hash provide ] f ; parsing
: !REQUIRES:
string-mode on [
@ -90,3 +90,7 @@ DEFER: !PRIMITIVE: parsing
] [
drop
] if* ; parsing
SYMBOL: !+files+
SYMBOL: !+tests+
SYMBOL: !+help+

View File

@ -2,7 +2,8 @@ USING: compiler io parser sequences words ;
REQUIRES: library/compiler/alien/objc ;
PROVIDE: library/ui/cocoa {
PROVIDE: library/ui/cocoa
{ +files+ {
"core-foundation.factor"
"types.factor"
"init-cocoa.factor"
@ -13,9 +14,10 @@ PROVIDE: library/ui/cocoa {
"dialogs.factor"
"services.factor"
"ui.factor"
} {
} }
{ +tests+ {
"test/cocoa.factor"
} ;
} } ;
"Compiling Cocoa bindings..." print
{ "cocoa" "objc" "objc-classes" "gadgets" } compile-vocabs

View File

@ -1,6 +1,7 @@
REQUIRES: library/ui/opengl ;
PROVIDE: library/ui/freetype {
PROVIDE: library/ui/freetype
{ +files+ {
"freetype.factor"
"freetype-gl.factor"
} ;
} } ;

View File

@ -1,6 +1,7 @@
REQUIRES: library/ui/opengl library/ui/freetype ;
PROVIDE: library/ui {
PROVIDE: library/ui
{ +files+ {
"models.factor"
"backend.factor"
"timers.factor"
@ -48,7 +49,8 @@ PROVIDE: library/ui {
"tools/workspace.factor"
"tools/operations.factor"
"text/editor.facts"
} {
} }
{ +tests+ {
"test/editor.factor"
"test/gadgets.factor"
"test/models.factor"
@ -62,4 +64,4 @@ PROVIDE: library/ui {
"test/search.factor"
"test/sliders.factor"
"test/tracks.factor"
} ;
} } ;

View File

@ -1,5 +1,6 @@
PROVIDE: library/ui/opengl {
PROVIDE: library/ui/opengl
{ +files+ {
"gl.factor"
"glu.factor"
"opengl-utils.factor"
} ;
} } ;

View File

@ -1,9 +1,9 @@
REQUIRES: library/windows ;
PROVIDE: library/ui/windows {
PROVIDE: library/ui/windows { +files+ {
"clipboard.factor"
"ui.factor"
} ;
} } ;
IN: command-line
: default-shell "ui" ;

View File

@ -1,7 +1,8 @@
! Copyright (C) 2005, 2006 Eduardo Cavazos
! See http://factorcode.org/license.txt for BSD license.
PROVIDE: library/ui/x11 {
PROVIDE: library/ui/x11
{ +files+ {
"xlib.factor"
"glx.factor"
"constants.factor"
@ -11,4 +12,4 @@ PROVIDE: library/ui/x11 {
"windows.factor"
"clipboard.factor"
"ui.factor"
} ;
} } ;

View File

@ -1,4 +1,5 @@
PROVIDE: library/windows {
PROVIDE: library/windows
{ +files+ {
"windows-messages.factor"
"types.factor"
"gdi32-constants.factor"
@ -14,7 +15,7 @@ PROVIDE: library/windows {
"winsock.factor"
"opengl32.factor"
"utils.factor"
} ;
} } ;
IN: command-line
: default-shell "tty" ;