diff --git a/extra/benchmark/knucleotide/authors.txt b/extra/benchmark/knucleotide/authors.txt new file mode 100644 index 0000000000..16e1588016 --- /dev/null +++ b/extra/benchmark/knucleotide/authors.txt @@ -0,0 +1 @@ +Eric Mertens diff --git a/extra/benchmark/knucleotide/knucleotide.factor b/extra/benchmark/knucleotide/knucleotide.factor index 327439015d..f036a644ae 100644 --- a/extra/benchmark/knucleotide/knucleotide.factor +++ b/extra/benchmark/knucleotide/knucleotide.factor @@ -4,38 +4,32 @@ USING: kernel io io.files splitting strings IN: benchmark.knucleotide - : float>string ( float places -- string ) swap >float number>string "." split1 rot over length over < [ CHAR: 0 pad-right ] - [ head ] if "." swap 3append -; + [ head ] if "." swap 3append ; : discard-lines ( -- ) readln - [ ">THREE" head? [ discard-lines ] unless ] when* -; + [ ">THREE" head? [ discard-lines ] unless ] when* ; : read-input ( -- input ) discard-lines ">" read-until drop - CHAR: \n swap remove >upper -; + CHAR: \n swap remove >upper ; : tally ( x exemplar -- b ) clone tuck [ [ [ 1+ ] [ 1 ] if* ] change-at - ] curry each -; + ] curry each ; : small-groups ( x n -- b ) swap [ length swap - 1+ ] 2keep - [ >r over + r> subseq ] 2curry map -; + [ >r over + r> subseq ] 2curry map ; : handle-table ( inputs n -- ) small-groups @@ -46,29 +40,25 @@ IN: benchmark.knucleotide dup first write bl second 100 * over / 3 float>string print ] each - drop -; + drop ; : handle-n ( inputs x -- ) tuck length small-groups H{ } tally at [ 0 ] unless* - number>string 8 CHAR: \s pad-right write -; + number>string 8 CHAR: \s pad-right write ; : process-input ( input -- ) dup 1 handle-table nl dup 2 handle-table nl { "GGT" "GGTA" "GGTATT" "GGTATTTTAATT" "GGTATTTTAATTTATAGT" } [ [ dupd handle-n ] keep print ] each - drop -; + drop ; : knucleotide ( -- ) "extra/benchmark/knucleotide/knucleotide-input.txt" resource-path [ read-input ] with-stream - process-input -; + process-input ; MAIN: knucleotide diff --git a/extra/benchmark/knucleotide/summary.txt b/extra/benchmark/knucleotide/summary.txt new file mode 100644 index 0000000000..c7346d4b0a --- /dev/null +++ b/extra/benchmark/knucleotide/summary.txt @@ -0,0 +1,2 @@ +The Great Computer Language Shootout's knucleotide benchmark to test +hashtables. diff --git a/extra/benchmark/mandel/mandel.factor b/extra/benchmark/mandel/mandel.factor index 0ad7c5e26d..7f1da8c71a 100644 --- a/extra/benchmark/mandel/mandel.factor +++ b/extra/benchmark/mandel/mandel.factor @@ -64,7 +64,7 @@ SYMBOL: cols building get >string ] with-scope ; -: mandel-main ( file -- ) +: mandel-main ( -- ) "mandel.ppm" resource-path [ mandel write ] with-stream ; diff --git a/extra/benchmark/spectral-norm/spectral-norm.factor b/extra/benchmark/spectral-norm/spectral-norm.factor index e67359e70c..42bae7d0d1 100644 --- a/extra/benchmark/spectral-norm/spectral-norm.factor +++ b/extra/benchmark/spectral-norm/spectral-norm.factor @@ -49,7 +49,7 @@ IN: benchmark.spectral-norm HINTS: spectral-norm fixnum ; -: spectral-norm-main ( n -- ) +: spectral-norm-main ( -- ) 2000 spectral-norm . ; MAIN: spectral-norm-main diff --git a/extra/benchmark/sum-file/sum-file.factor b/extra/benchmark/sum-file/sum-file.factor index 0e64e80f4c..14166feb5b 100644 --- a/extra/benchmark/sum-file/sum-file.factor +++ b/extra/benchmark/sum-file/sum-file.factor @@ -4,7 +4,7 @@ IN: benchmark.sum-file : sum-file-loop ( n -- n' ) readln [ string>number + sum-file-loop ] when* ; -: sum-file ( file -- n ) +: sum-file ( file -- ) [ 0 sum-file-loop ] with-stream . ; : sum-file-main ( -- ) diff --git a/extra/editors/gvim/gvim.factor b/extra/editors/gvim/gvim.factor index d26bd70209..024f5cfffa 100644 --- a/extra/editors/gvim/gvim.factor +++ b/extra/editors/gvim/gvim.factor @@ -4,11 +4,7 @@ IN: editors.gvim TUPLE: gvim ; M: gvim vim-command ( file line -- string ) - [ - "\"" % vim-path get % "\"" % - vim-switches get [ % ] when* - "+" % # " \"" % % "\"" % - ] "" make ; + [ "\"" % vim-path get % "\" \"" % swap % "\" +" % # ] "" make ; T{ gvim } vim-editor set-global "gvim" vim-path set-global