- bitfields in C structs\r
- SDL_Rect** type\r
- struct membres that are not *\r
-- float types\r
+- FFI float types\r
- compile word twice; no more 'cannot compile' error!\r
- perhaps /i should work with all numbers\r
- assembler opcodes dispatch on operand types\r
+ listener/plugin:\r
\r
- extract word in wrong place\r
-- twice in completion list\r
- accept multi-line input in listener\r
- don't show listener on certain commands\r
- NPE in ErrorHighlight\r
\r
+ kernel:\r
\r
-- save restore stacks between longjmp in case they are in registers\r
- profiler is inaccurate: wrong word on cs\r
- better i/o scheduler\r
- >lower, >upper for strings\r
\r
- alist -vs- assoc terminology\r
- jedit ==> jedit-word, jedit takes a file name\r
-- 'cascading' styles\r
- command line parsing cleanup\r
- nicer way to combine two paths\r
- :get &get\r
FactorWord w = (FactorWord)words.car;
if(w != null && w.name != null)
{
- if(anywhere)
+ if(!completions.contains(w))
{
- if(w.name.indexOf(word) != -1)
- completions.add(w);
- }
- else
- {
- if(w.name.startsWith(word))
- completions.add(w);
+ if(anywhere)
+ {
+ if(w.name.indexOf(word) != -1)
+ completions.add(w);
+ }
+ else
+ {
+ if(w.name.startsWith(word))
+ completions.add(w);
+ }
}
}
"/library/continuations.factor" run-resource ! continuations
"/library/errors.factor" run-resource ! errors
"/library/platform/jvm/vocabularies.factor" run-resource ! vocabularies
-"/library/vocabularies.factor" run-resource ! vocabularies
"/library/platform/jvm/words.factor" run-resource ! words
"/library/words.factor" run-resource ! words
"/library/format.factor" run-resource ! format
"/library/continuations.factor" run-resource ! continuations
"/library/errors.factor" run-resource ! errors
"/library/platform/jvm/vocabularies.factor" run-resource ! vocabularies
-"/library/vocabularies.factor" run-resource ! vocabularies
"/library/platform/jvm/words.factor" run-resource ! words
"/library/words.factor" run-resource ! words
"/library/format.factor" run-resource ! format
"/library/platform/native/words.factor"
"/library/words.factor"
"/library/platform/native/vocabularies.factor"
- "/library/vocabularies.factor"
"/library/platform/native/parse-numbers.factor"
"/library/platform/native/parser.factor"
"/library/platform/native/parse-syntax.factor"
"/library/platform/native/words.factor"
"/library/words.factor"
"/library/platform/native/vocabularies.factor"
- "/library/vocabularies.factor"
"/library/platform/native/parse-numbers.factor"
"/library/platform/native/parser.factor"
"/library/platform/native/parse-syntax.factor"
+++ /dev/null
-! :folding=indent:collapseFolds=1:
-
-! $Id$
-!
-! Copyright (C) 2003, 2004 Slava Pestov.
-!
-! Redistribution and use in source and binary forms, with or without
-! modification, are permitted provided that the following conditions are met:
-!
-! 1. Redistributions of source code must retain the above copyright notice,
-! this list of conditions and the following disclaimer.
-!
-! 2. Redistributions in binary form must reproduce the above copyright notice,
-! this list of conditions and the following disclaimer in the documentation
-! and/or other materials provided with the distribution.
-!
-! THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-! INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-! DEVELOPERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-! OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-! WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-! OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-! ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-IN: words
-USE: combinators
-USE: kernel
-USE: lists
-USE: namespaces
-USE: stack
-USE: strings
-
-: vocabs ( -- list )
- #! Push a list of vocabularies.
- global [ "vocabularies" get [ vars str-sort ] bind ] bind ;
-
-: vocab ( name -- vocab )
- #! Get a vocabulary.
- global [ "vocabularies" get get* ] bind ;
-
-: word-sort ( list -- list )
- #! Sort a list of words by name.
- [ swap word-name swap word-name str-lexi> ] sort ;
-
-: words ( vocab -- list )
- #! Push a list of all words in a vocabulary.
- #! Filter empty slots.
- vocab [ values ] bind [ ] subset word-sort ;
-
-: init-search-path ( -- )
- ! For files
- "scratchpad" "file-in" set
- [ "builtins" "syntax" "scratchpad" ] "file-use" set
- ! For interactive
- "scratchpad" "in" set
- [
- "user"
- "arithmetic"
- "builtins"
- "combinators"
- "compiler"
- "continuations"
- "debugger"
- "errors"
- "files"
- "hashtables"
- "inference"
- "inferior"
- "interpreter"
- "inspector"
- "jedit"
- "kernel"
- "listener"
- "lists"
- "logic"
- "math"
- "namespaces"
- "parser"
- "prettyprint"
- "processes"
- "profiler"
- "stack"
- "streams"
- "stdio"
- "strings"
- "syntax"
- "test"
- "threads"
- "unparser"
- "vectors"
- "vocabularies"
- "words"
- "scratchpad"
- ] "use" set ;
USE: logic
USE: namespaces
USE: stack
+USE: strings
: word-name ( word -- name )
"name" word-property ;
: word-vocabulary ( word -- vocab )
"vocabulary" word-property ;
+: vocabs ( -- list )
+ #! Push a list of vocabularies.
+ global [ "vocabularies" get [ vars str-sort ] bind ] bind ;
+
+: vocab ( name -- vocab )
+ #! Get a vocabulary.
+ global [ "vocabularies" get get* ] bind ;
+
+: word-sort ( list -- list )
+ #! Sort a list of words by name.
+ [ swap word-name swap word-name str-lexi> ] sort ;
+
+: words ( vocab -- list )
+ #! Push a list of all words in a vocabulary.
+ #! Filter empty slots.
+ vocab [ values ] bind [ ] subset word-sort ;
+
: each-word ( quot -- )
#! Apply a quotation to each word in the image.
vocabs [ words [ swap dup >r call r> ] each ] each drop ;
+
+: init-search-path ( -- )
+ ! For files
+ "scratchpad" "file-in" set
+ [ "builtins" "syntax" "scratchpad" ] "file-use" set
+ ! For interactive
+ "scratchpad" "in" set
+ [
+ "user"
+ "arithmetic"
+ "builtins"
+ "combinators"
+ "compiler"
+ "continuations"
+ "debugger"
+ "errors"
+ "files"
+ "hashtables"
+ "inference"
+ "inferior"
+ "interpreter"
+ "inspector"
+ "jedit"
+ "kernel"
+ "listener"
+ "lists"
+ "logic"
+ "math"
+ "namespaces"
+ "parser"
+ "prettyprint"
+ "processes"
+ "profiler"
+ "stack"
+ "streams"
+ "stdio"
+ "strings"
+ "syntax"
+ "test"
+ "threads"
+ "unparser"
+ "vectors"
+ "vocabularies"
+ "words"
+ "scratchpad"
+ ] "use" set ;