]> gitweb.factorcode.org Git - factor.git/commitdiff
unicode: make this the API for all unicode things.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 31 Mar 2016 06:29:48 +0000 (23:29 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 31 Mar 2016 06:29:48 +0000 (23:29 -0700)
120 files changed:
basis/alien/libraries/finder/linux/linux.factor
basis/csv/csv.factor
basis/db/postgresql/postgresql-tests.factor
basis/db/sqlite/sqlite-tests.factor
basis/documents/elements/elements.factor
basis/english/english.factor
basis/farkup/farkup.factor
basis/formatting/formatting.factor
basis/ftp/server/server.factor
basis/globs/globs.factor
basis/help/apropos/apropos.factor
basis/help/lint/checks/checks.factor
basis/help/search/search.factor
basis/help/tutorial/tutorial.factor
basis/html/templates/chloe/syntax/syntax.factor
basis/http/server/dispatchers/dispatchers.factor
basis/http/server/server.factor
basis/images/loader/gtk/gtk.factor
basis/io/directories/search/search.factor
basis/io/sockets/secure/openssl/openssl.factor
basis/io/standard-paths/windows/windows.factor
basis/math/statistics/statistics-docs.factor
basis/models/search/search.factor
basis/peg/ebnf/ebnf-tests.factor
basis/peg/ebnf/ebnf.factor
basis/peg/parsers/parsers-docs.factor
basis/peg/parsers/parsers.factor
basis/peg/peg.factor
basis/regexp/classes/classes.factor
basis/regexp/compiler/compiler.factor
basis/regexp/dfa/dfa.factor
basis/regexp/disambiguate/disambiguate.factor
basis/regexp/minimize/minimize.factor
basis/regexp/negation/negation.factor
basis/regexp/nfa/nfa.factor
basis/regexp/parser/parser.factor
basis/regexp/transition-tables/transition-tables.factor
basis/roman/roman.factor
basis/sequences/parser/parser-tests.factor
basis/sequences/parser/parser.factor
basis/sorting/human/human.factor
basis/sorting/title/title.factor
basis/tools/completion/completion.factor
basis/tools/files/unix/unix.factor
basis/tools/scaffold/scaffold-tests.factor
basis/tools/scaffold/scaffold.factor
basis/tools/test/test.factor
basis/ui/backend/cocoa/views/views.factor
basis/ui/commands/commands.factor
basis/ui/gadgets/editors/editors.factor
basis/unicode/breaks/breaks-docs.factor
basis/unicode/breaks/breaks.factor
basis/unicode/case/case-docs.factor
basis/unicode/case/case.factor
basis/unicode/categories/categories-docs.factor
basis/unicode/categories/categories-tests.factor
basis/unicode/categories/categories.factor
basis/unicode/categories/summary.txt
basis/unicode/categories/syntax/authors.txt [deleted file]
basis/unicode/categories/syntax/summary.txt [deleted file]
basis/unicode/categories/syntax/syntax-docs.factor [deleted file]
basis/unicode/categories/syntax/syntax-tests.factor [deleted file]
basis/unicode/categories/syntax/syntax.factor [deleted file]
basis/unicode/categories/syntax/tags.txt [deleted file]
basis/unicode/collation/collation-docs.factor
basis/unicode/collation/collation.factor
basis/unicode/data/data-docs.factor
basis/unicode/data/data.factor
basis/unicode/normalize/normalize-docs.factor
basis/unicode/normalize/normalize.factor
basis/unicode/script/script-docs.factor
basis/unicode/script/script.factor
basis/unicode/unicode-docs.factor
basis/unicode/unicode.factor
basis/uuid/uuid.factor
basis/validators/validators.factor
basis/windows/errors/errors.factor
basis/xml/char-classes/char-classes.factor
basis/xml/elements/elements.factor
basis/xml/syntax/inverse/inverse.factor
basis/xml/syntax/syntax.factor
basis/xml/writer/writer.factor
basis/xmode/catalog/catalog.factor
basis/xmode/keyword-map/keyword-map.factor
basis/xmode/rules/rules.factor
extra/benchmark/unicode/unicode.factor
extra/c/lexer/lexer.factor
extra/c/preprocessor/preprocessor.factor
extra/cgi/cgi.factor
extra/codebook/codebook.factor
extra/game/models/loader/loader.factor
extra/geobytes/geobytes.factor
extra/gml/ui/ui.factor
extra/graphviz/render/render.factor
extra/html/parser/analyzer/analyzer.factor
extra/html/parser/parser.factor
extra/html/parser/printer/printer.factor
extra/id3/id3.factor
extra/managed-server/chat/chat.factor
extra/parser-combinators/parser-combinators-tests.factor
extra/parser-combinators/parser-combinators.factor
extra/parser-combinators/simple/simple.factor
extra/pdf/wrap/wrap.factor
extra/project-euler/common/common.factor
extra/python/syntax/syntax-tests.factor
extra/resolv-conf/resolv-conf.factor
extra/robots/robots.factor
extra/rosetta-code/odd-word/odd-word.factor
extra/rosetta-code/ordered-words/ordered-words.factor
extra/sequences/inserters/inserters-tests.factor
extra/talks/google-tech-talk/google-tech-talk.factor
extra/tools/which/which.factor
extra/txon/txon.factor
extra/webapps/help/help.factor
extra/zoneinfo/zoneinfo.factor
unmaintained/dns/cache/nx/nx.factor
unmaintained/dns/cache/rr/rr.factor
unmaintained/dns/server/server.factor
unmaintained/irc-ui/ui.factor
unmaintained/persistency/persistency.factor

index 406cb9a41e582199006760829e8839099a5c6b4c..d21b1b0dd12b33e111205473c1398109b70093ef 100644 (file)
@@ -3,7 +3,7 @@
 USING: alien.libraries.finder arrays assocs
 combinators.short-circuit io io.encodings.utf8 io.files
 io.files.info io.launcher kernel sequences sets splitting system
-unicode.categories ;
+unicode ;
 IN: alien.libraries.finder.linux
 
 <PRIVATE
index 008c0b2e386f8ffa58bbedc618f44948d42af2d5..7eba910e1b123b8f65f9fc26cd126799dc8341bb 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: combinators fry io io.files io.streams.string kernel
 make math memoize namespaces sbufs sequences sequences.private
-unicode.categories ;
+unicode ;
 IN: csv
 
 SYMBOL: delimiter
index 57bb401854fbbe2b1c1f256c62334db498df8ce6..833a44512ae4ab02b65de7dcc00a3e9fb0f01813 100644 (file)
@@ -1,6 +1,6 @@
 USING: accessors alien continuations db db.errors db.queries db.postgresql
 db.private db.tester db.tuples db.types io classes kernel math namespaces
-prettyprint sequences system tools.test unicode.case ;
+prettyprint sequences system tools.test unicode ;
 IN: db.postgresql.tests
 
 : nonexistant-db ( -- db )
index 46ce17bfdefd70ac43156bb23253edc50ae5b958..660f33171caaa3438ea5c955a5a1f37801b40ab5 100644 (file)
@@ -1,6 +1,6 @@
 USING: io io.files io.files.temp io.directories io.launcher
 kernel namespaces prettyprint tools.test db.sqlite db sequences
-continuations db.types db.tuples unicode.case accessors arrays
+continuations db.types db.tuples unicode accessors arrays
 sorting layouts math.parser ;
 IN: db.sqlite.tests
 
index 7ba3cb8a6eddf866f6a61e69d461c911f616958a..3d6538aa36adeb2819261dc7dca2205ef4425993 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2006, 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays combinators documents fry kernel math sequences
-accessors unicode.categories unicode.breaks combinators.short-circuit ;
+accessors unicode combinators.short-circuit ;
 IN: documents.elements
 
 GENERIC: prev-elt ( loc document elt -- newloc )
index a8abe56b33b75f1dd8e6a1f9b03287a25a65140f..488e34af1a56291881ea4f53b28c556235137439 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2015 John Benediktsson
 ! See http://factorcode.org/license.txt for BSD license
 USING: assocs assocs.extras combinators formatting kernel literals
-locals math math.parser sequences splitting unicode.case ;
+locals math math.parser sequences splitting unicode ;
 
 IN: english
 
index cf505aa7c54e78d6953cd8313ec57c06468b43b4..a3d79adfb3b5cfe1539fa2d924ef0fcf978baa89 100644 (file)
@@ -3,7 +3,7 @@
 USING: sequences kernel splitting lists fry accessors assocs math.order
 math combinators namespaces urls.encoding xml.syntax xmode.code2html
 xml.data arrays strings vectors xml.writer io.streams.string locals
-unicode.categories ;
+unicode ;
 IN: farkup
 
 SYMBOL: relative-link-prefix
index bdb81c1338b1ac8d6aadcd969721feb285613674..09f67f363bc8f01f645ab64ebb82e721a0f4d928 100644 (file)
@@ -4,8 +4,7 @@ USING: accessors arrays assocs calendar combinators
 combinators.smart fry generalizations io io.streams.string
 kernel macros math math.functions math.parser namespaces
 peg.ebnf present prettyprint quotations sequences
-sequences.generalizations strings unicode.case
-unicode.categories vectors ;
+sequences.generalizations strings unicode vectors ;
 FROM: math.parser.private => format-float ;
 IN: formatting
 
index 5d10a125ffcefd75552bacc67e70283b9b53bf7d..55b8218e74008e4d1c26c2480aed9a44ea6a0867 100644 (file)
@@ -8,7 +8,7 @@ io.files io.files.info io.files.types io.pathnames
 io.servers io.sockets io.streams.string io.timeouts
 kernel logging math math.bitwise math.parser namespaces
 sequences simple-tokenizer splitting strings threads
-tools.files unicode.case ;
+tools.files unicode ;
 IN: ftp.server
 
 SYMBOL: server
index 285578073d88c3842620a41f393b23947cdefae3..7e86708ba40716831f421ec9f4f105e5b6f6c3d8 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors arrays combinators combinators.short-circuit
 io.directories io.files io.files.info io.pathnames kernel locals
 make peg.ebnf regexp regexp.combinators sequences splitting
-strings system unicode.case ;
+strings system unicode ;
 IN: globs
 
 : not-path-separator ( -- sep )
index 6c4804153713c31d5d3887f903175984ac04842d..1e79727130b2692287f1e0355a9c863ebfac9aed 100644 (file)
@@ -3,8 +3,7 @@
 USING: accessors arrays assocs fry help.markup help.topics io
 kernel make math math.parser namespaces sequences sorting
 summary tools.completion vocabs.hierarchy help.vocabs
-vocabs words unicode.case help unicode.categories
-combinators locals ;
+vocabs words unicode help combinators locals ;
 IN: help.apropos
 
 : $completions ( seq -- )
index 0133e3b7c8cef4bf55cd57ad5798f92347b90e16..f4db83d67dcc5dc0f1e7375858370463e7dde57f 100644 (file)
@@ -5,8 +5,8 @@ classes.tuple combinators combinators.short-circuit debugger
 definitions effects eval formatting fry grouping help
 help.markup help.topics io io.streams.string kernel macros math
 namespaces sequences sequences.deep sets splitting strings
-summary tools.destructors unicode.categories vocabs
-vocabs.loader words words.constant words.symbol ;
+summary tools.destructors unicode vocabs vocabs.loader words
+words.constant words.symbol ;
 IN: help.lint.checks
 
 ERROR: simple-lint-error message ;
index 9d6ff601070ad9a9b7482f885db67f1554152595..87db04467f5b77987ce0c8ce8e5790b973e73b7a 100644 (file)
@@ -4,8 +4,8 @@
 USING: arrays assocs combinators combinators.short-circuit fry
 help help.apropos help.markup help.stylesheet help.topics io
 io.streams.string io.styles kernel math memoize namespaces
-sequences sequences.deep sorting splitting strings unicode.case
-unicode.categories words ;
+sequences sequences.deep sorting splitting strings unicode
+words ;
 
 IN: help.search
 
index 6e9b40bf0702c38991994f43ab776ed00abdc10e..7d4611867b3b6edd42b66154c166d08904b44a9a 100644 (file)
@@ -1,7 +1,6 @@
 USING: help.markup help.syntax ui.commands ui.operations
 editors vocabs.loader kernel sequences prettyprint tools.test
-vocabs.refresh strings unicode.categories unicode.case
-ui.tools.browser ui.tools.common ;
+vocabs.refresh strings unicode ui.tools.browser ui.tools.common ;
 IN: help.tutorial
 
 ARTICLE: "first-program-start" "Creating a vocabulary for your first program"
index 264559e2d8c04b296e56adef7e80b3a1dc08a1f6..5d02982610dc3fe4e1e470d71c61e807d1a5ec26 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors sequences combinators kernel namespaces classes.tuple
 assocs splitting words arrays memoize parser lexer io io.files
-io.encodings.utf8 io.streams.string unicode.case mirrors fry math urls
+io.encodings.utf8 io.streams.string unicode mirrors fry math urls
 multiline xml xml.data xml.writer xml.syntax html.components
 html.templates ;
 IN: html.templates.chloe.syntax
index 405d96d1f5070b50f663a455e0259f0c4048dd65..1534a5a8cd8b97baf919c6579c3bc81170d15dc6 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel namespaces sequences assocs accessors splitting
-unicode.case urls http http.server http.server.responses ;
+unicode urls http http.server http.server.responses ;
 IN: http.server.dispatchers
 
 TUPLE: dispatcher default responders ;
index d074fe4fcded5fbbb3bd79a099f9531de8e13faa..583920c49b4ae636554a5abd4fe0f59575000bf3 100644 (file)
@@ -19,7 +19,7 @@ io.servers
 io.timeouts
 io.crlf
 fry logging logging.insomniac calendar urls
-unicode.categories
+unicode
 http
 http.server.requests
 http.server.responses
index fbdab99f479303a250b79b57ecb0f3fa80d3373c..f0bf3ac03ce37333f4151c074af8a06812c6a10d 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors alien.c-types alien.data alien.syntax arrays assocs
 combinators destructors gdk.pixbuf.ffi glib.ffi gobject.ffi grouping images
 images.loader io kernel locals math sequences system
-specialized-arrays unicode.case ;
+specialized-arrays unicode ;
 IN: images.loader.gtk
 SPECIALIZED-ARRAY: uchar
 
index e0df575bf0bf124042c40addceabf96cce984d92..79e2d9cd204ca46f1765a378b6982439e232cf70 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors arrays assocs continuations deques dlists fry
 io.backend io.directories io.files.info io.pathnames kernel
 kernel.private locals math sequences sequences.extras sorting
-strings system unicode.case vocabs ;
+strings system unicode vocabs ;
 IN: io.directories.search
 
 : qualified-directory-entries ( path -- seq )
index d5346f01b41b39a590dd5b7ff750583ce2f1ccce..21d026bd1460af7bbcf805f5e222123791bdcc35 100644 (file)
@@ -7,7 +7,7 @@ io.binary io.buffers io.encodings.8-bit.latin1 io.encodings.utf8
 io.files io.pathnames io.ports io.sockets io.sockets.secure
 io.timeouts kernel libc locals math math.functions math.order
 math.parser memoize namespaces openssl openssl.libcrypto
-openssl.libssl random sequences sets splitting unicode.case ;
+openssl.libssl random sequences sets splitting unicode ;
 IN: io.sockets.secure.openssl
 
 GENERIC: ssl-method ( symbol -- method )
index 29547d43f2dfde77d54c4db9a8ccd66cf3373afb..b0870c22d2e9b92be28a2afa42b2a94f1690c0a7 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: environment fry io.directories.search.windows io.files
 io.pathnames io.standard-paths kernel sequences splitting
-system unicode.case ;
+system unicode ;
 IN: io.standard-paths.windows
 
 M: windows find-in-applications
index df4a8c4d376c4cef66424bae6d6f8d47d7e91ea7..156877f32960eaacc0363c73275b056bbbc6ad4e 100644 (file)
@@ -105,7 +105,7 @@ HELP: histogram-by
 { $description "Returns a hashtable where the keys are the elements of the sequence binned by being passed through " { $snippet "quot" } ", and the values are the number of times members of each bin appeared in that sequence." }
 { $examples
     { $unchecked-example "! Count the number of times letters and non-letters appear in a sequence."
-               "USING: prettyprint math.statistics unicode.categories ;"
+               "USING: prettyprint math.statistics unicode ;"
                "\"aaa123bc\" [ letter? ] histogram-by ."
                "H{ { t 5 } { f 3 } }"
     }
index 5ecb0fa34ada9a88cf9a3ac944fe6cb7bd7687e7..061acc7d9cffc3fd2747200a9f25a13e50fa9304 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008, 2009 Slava Pestov
 ! See http://factorcode.org/license.txt for BSD license.
-USING: fry kernel models.arrow.smart sequences unicode.case ;
+USING: fry kernel models.arrow.smart sequences unicode ;
 IN: models.search
 
 : <search> ( values search quot -- model )
index c0c7568913408e7f725ffa62a5bb28815bb133a8..84311bc24e1ade19e49097671f92c5d74266be19 100644 (file)
@@ -3,7 +3,7 @@
 !
 USING: kernel tools.test peg peg.ebnf peg.ebnf.private words
 math math.parser sequences accessors peg.parsers parser
-namespaces arrays strings eval unicode.data multiline ;
+namespaces arrays strings eval unicode multiline ;
 IN: peg.ebnf.tests
 
 { T{ ebnf-non-terminal f "abc" } } [
index 601804cfdab0914bf108d2666060b12ef2a85d19..78639595eba3c0ccecf823689cf49d75c355aa7e 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs combinators combinators.short-circuit
 effects kernel make math math.parser multiline namespaces parser
 peg peg.parsers quotations sequences sequences.deep splitting
-stack-checker strings strings.parser summary unicode.categories
+stack-checker strings strings.parser summary unicode
 vocabs.parser words ;
 FROM: vocabs.parser => search ;
 FROM: peg.search => replace ;
index adac0cf65b958563caff4b36718c464f88e48ae8..af308399ec74882ef78ef1bc5c7cf78319963474 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Chris Double, Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: help.markup help.syntax kernel math sequences
-unicode.categories strings ;
+unicode strings ;
 IN: peg.parsers
 
 HELP: 1token
index 3feddd3447fe3942ae9495194e9c98913068fd49..23b262568df5bfbcaeae9c5dc6070490d3fa3149 100644 (file)
@@ -1,8 +1,7 @@
 ! Copyright (C) 2007, 2008 Chris Double, Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences strings namespaces make math assocs
-vectors arrays math.parser accessors unicode.categories
-sequences.deep peg peg.private peg.search math.ranges words ;
+USING: accessors kernel make math math.parser math.ranges peg
+peg.private peg.search sequences strings unicode vectors ;
 IN: peg.parsers
 
 TUPLE: just-parser p1 ;
index 1ac261494b372218c3b743b9121dae5ce78417e2..f0545a17a37944497b8a5b3de015ce7288a5d054 100644 (file)
@@ -3,8 +3,7 @@
 USING: accessors arrays assocs classes combinators
 combinators.short-circuit compiler.units effects.parser fry
 generalizations kernel locals make math math.order namespaces
-quotations sequences sets splitting unicode.categories vectors
-words ;
+quotations sequences sets splitting unicode vectors words ;
 IN: peg
 
 TUPLE: parse-result remaining ast ;
index 71e70c60d9944c458e377edebdbbe5019c94e267..e50d7bfccba710110a1ea3c75ae2dd8920929ae8 100644 (file)
@@ -1,9 +1,8 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel math math.order words combinators
-combinators.smart combinators.short-circuit locals
-unicode.categories sequences fry macros arrays assocs sets
-classes unicode.script unicode.data ;
+USING: accessors arrays assocs classes combinators
+combinators.short-circuit combinators.smart fry kernel locals
+math math.order sequences sets unicode unicode.data ;
 FROM: ascii => ascii? ;
 IN: regexp.classes
 
index 45e17306de5719698cbd6188ac0039fedd5cf4a1..274b9a579799a4f091ebd18bd26ba6e18b75455c 100644 (file)
@@ -1,10 +1,9 @@
 ! Copyright (C) 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: regexp.classes kernel sequences regexp.negation
-quotations assocs fry math locals combinators sets
-accessors words compiler.units kernel.private strings
-sequences.private arrays namespaces unicode.breaks
-regexp.transition-tables combinators.short-circuit ;
+USING: accessors assocs combinators combinators.short-circuit
+fry kernel kernel.private locals math namespaces regexp.classes
+regexp.transition-tables sequences sequences.private sets
+strings unicode words ;
 IN: regexp.compiler
 
 GENERIC: question>quot ( question -- quot )
index 5c77741032499c70d8967074a5ba88f96cf00c8e..c65ae25a7a3d79683ea0582e4a5e4b713876ac73 100644 (file)
@@ -1,8 +1,7 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs combinators fry kernel locals
-math math.order regexp.nfa regexp.transition-tables sequences
-sets sorting vectors regexp.ast regexp.classes ;
+USING: accessors arrays assocs fry kernel locals regexp.ast
+regexp.classes regexp.transition-tables sequences sets vectors ;
 IN: regexp.dfa
 
 : find-delta ( states transition nfa -- new-states )
index f985b0e2346bff51195a25d3de809e32d03d4412..84864a2510dce41113f08f375918d74b2beef411 100644 (file)
@@ -1,8 +1,8 @@
 ! Copyright (C) 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors regexp.classes math.bits assocs sequences
-arrays sets regexp.dfa math fry regexp.minimize regexp.ast
-locals regexp.transition-tables ;
+USING: accessors arrays assocs fry kernel locals math math.bits
+regexp.ast regexp.classes regexp.transition-tables sequences
+sets ;
 IN: regexp.disambiguate
 
 TUPLE: parts in out ;
index b2d636a4980723108ec809b36ad66a52c3fc1370..65830ac7202ce079a26f35671c6df868c02ceff2 100644 (file)
@@ -1,8 +1,8 @@
 ! Copyright (C) 2009 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences regexp.transition-tables fry assocs
-accessors locals math sorting arrays sets hashtables regexp.dfa
-combinators.short-circuit regexp.classes ;
+USING: accessors arrays assocs combinators.short-circuit fry
+hashtables kernel locals math regexp.classes
+regexp.transition-tables sequences sets sorting ;
 IN: regexp.minimize
 
 : table>state-numbers ( table -- assoc )
index 81ac83da0bd65bd0acf6abfe070f12f3eed56ad5..85b7741a52eaf99dd454e51e55b495dfa7938aa3 100644 (file)
@@ -1,9 +1,9 @@
 ! Copyright (C) 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: regexp.nfa regexp.disambiguate kernel sequences
-assocs regexp.classes hashtables accessors fry vectors
-regexp.ast regexp.transition-tables regexp.minimize
-regexp.dfa namespaces sets ;
+USING: accessors assocs fry hashtables kernel namespaces
+regexp.ast regexp.classes regexp.dfa regexp.disambiguate
+regexp.minimize regexp.nfa regexp.transition-tables sequences
+sets vectors ;
 IN: regexp.negation
 
 CONSTANT: fail-state -1
index 864a1fedba3b3b5e38509110222ca64f9915b41e..5cac3c229d13bc7282aa73f40670e19c4b74cfe7 100644 (file)
@@ -1,13 +1,11 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs grouping kernel locals math namespaces
-sequences fry quotations math.order math.ranges vectors
-unicode.categories regexp.transition-tables words sets hashtables
-combinators.short-circuit unicode.data regexp.ast
-regexp.classes memoize ;
+USING: accessors arrays assocs combinators.short-circuit fry
+kernel locals math memoize namespaces regexp.ast regexp.classes
+regexp.transition-tables sequences sets unicode vectors ;
 IN: regexp.nfa
 
-! This uses unicode.data for ch>upper and ch>lower
+! This uses unicode for ch>upper and ch>lower
 ! but case-insensitive matching should be done by case-folding everything
 ! before processing starts
 
index 01cff989018f80ce0580acc25dba5127adf67f4a..e919ff6d2d2d9e627cef75788922cae6553aad65 100644 (file)
@@ -1,10 +1,9 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: peg.ebnf kernel math.parser sequences assocs arrays fry math
-combinators regexp.classes strings splitting peg locals accessors
-regexp.ast unicode.case unicode.script.private unicode.categories
-memoize interval-maps sets unicode.data combinators.short-circuit
-namespaces ;
+USING: accessors arrays assocs combinators
+combinators.short-circuit interval-maps kernel locals
+math.parser memoize peg.ebnf regexp.ast regexp.classes sequences
+sets splitting strings unicode unicode.data unicode.script ;
 IN: regexp.parser
 
 : allowed-char? ( ch -- ? )
index b548b883b2a953da98f6263d775c69c3d3cf3f12..4352ba997900d486ccac80ad350bed030c4c44e5 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs fry hashtables kernel sequences
-vectors locals regexp.classes sets ;
+USING: accessors arrays assocs fry hashtables kernel locals
+regexp.classes sequences sets vectors ;
 IN: regexp.transition-tables
 
 TUPLE: transition-table transitions start-state final-states ;
index 346226bf4e7cb5659e873b66cdc77ece722f4f2d..fe227963468a3df8778648af333d2d8c56bdb84f 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors arrays assocs combinators.smart effects
 effects.parser fry generalizations grouping kernel lexer macros
 math math.order math.vectors namespaces parser quotations
 sequences sequences.private splitting.monotonic stack-checker
-strings unicode.case words ;
+strings unicode words ;
 IN: roman
 
 <PRIVATE
index 620732dbdbd27a6e278245419bebafa002e50520..50ae22b3dd9770b91852cdfac361df1e52c2e0c7 100644 (file)
@@ -1,5 +1,4 @@
-USING: tools.test sequences.parser unicode.categories kernel
-accessors ;
+USING: tools.test sequences.parser unicode kernel accessors ;
 IN: sequences.parser.tests
 
 { "hello" }
index 1df344e22ae66a0ffd71e8342259529074d92b0f..6f139cbeeb9a2589b0ba829361ef1f71ce330fd6 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors circular combinators.short-circuit fry io
 kernel locals math math.order sequences sorting.functor
-sorting.slots unicode.categories sequences.private ;
+sorting.slots unicode sequences.private ;
 IN: sequences.parser
 
 TUPLE: sequence-parser sequence n ;
index b5048e45b0237c17813818243b3763e3b5ee2c92..a6eaf52bd49b660fadd4a5b3daa17e99923ee88c 100644 (file)
@@ -1,8 +1,7 @@
 ! Copyright (C) 2008, 2010 Doug Coleman, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors fry kernel make math math.order math.parser
-sequences sorting.functor strings unicode.case
-unicode.categories unicode.collation ;
+sequences sorting.functor strings unicode ;
 IN: sorting.human
 
 : cut-find ( sequence pred -- before after )
index b9a46c41fcca37da47c49b1a99f2b27711e6bd8b..7925287cb58266cd80aec5658e7f9c50db236097 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: sorting.functor regexp kernel accessors sequences
-unicode.case ;
+unicode ;
 IN: sorting.title
 
 << "title" [
index 8c53878ae3d27b5383f4e8562f8cc837d1babca2..0b53f0defd49bc30660524d9ba4e937618c89f98 100644 (file)
@@ -4,8 +4,8 @@ USING: accessors arrays assocs colors.constants combinators
 combinators.short-circuit fry io.directories io.files
 io.files.info io.pathnames kernel locals make math math.order
 sequences sequences.private sorting splitting
-splitting.monotonic unicode.categories unicode.data vectors
-vocabs vocabs.hierarchy ;
+splitting.monotonic unicode unicode.data vectors vocabs
+vocabs.hierarchy ;
 IN: tools.completion
 
 <PRIVATE
index d5fdd6c88909d530ff5f295bbbc31fe77675b946..2ff3ae8f8daba6e5dbd5cb9e69bde42c0ff24778 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors combinators kernel system unicode.case io.files
+USING: accessors combinators kernel system unicode io.files
 io.files.info io.files.info.unix generalizations
 strings arrays sequences math.parser unix.groups unix.users
 tools.files.private unix.stat math fry macros combinators.smart
index 704163be998e2ceb7caeb5e7d072b989767025c0..17f1f02df12e7d35b990f50a0fb052bba9c8d6e1 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: help.markup io.streams.string kernel sequences
-tools.scaffold tools.scaffold.private tools.test unicode.case ;
+tools.scaffold tools.scaffold.private tools.test unicode ;
 IN: tools.scaffold.tests
 
 : undocumented-word ( obj1 obj2 -- obj3 obj4 )
index 1eb40445fe167cefa731bcfb471074793d511726..00cf2297b5fd3e88d8137cd30089d9786a4cff38 100644 (file)
@@ -5,7 +5,7 @@ classes combinators combinators.short-circuit fry hashtables
 help.markup interpolate io io.directories io.encodings.utf8
 io.files io.pathnames io.streams.string kernel math math.parser
 namespaces prettyprint quotations sequences sets sorting
-splitting strings system timers unicode.categories urls vocabs
+splitting strings system timers unicode urls vocabs
 vocabs.loader vocabs.metadata words words.symbol ;
 IN: tools.scaffold
 
index 5722a64ce0296efb3dbf16e9e297a4f097f7db04..825e893473d55b6bf29d70e7542a32e3ae9e7977 100644 (file)
@@ -5,7 +5,7 @@ compiler.units continuations debugger effects fry
 generalizations io kernel lexer locals macros namespaces parser
 prettyprint quotations sequences sequences.generalizations
 source-files source-files.errors source-files.errors.debugger
-splitting stack-checker summary tools.errors unicode.case vocabs
+splitting stack-checker summary tools.errors unicode vocabs
 vocabs.files vocabs.metadata vocabs.parser words ;
 FROM: vocabs.hierarchy => load ;
 IN: tools.test
index 2f8bcbd8720e4203b2140e55187a2155065bf2ec..565c5acbaa545dcf92102daffccb287e1a961114 100644 (file)
@@ -7,7 +7,7 @@ cocoa.views combinators core-foundation.strings core-graphics
 core-graphics.types core-text io.encodings.utf8 kernel literals
 locals math math.rectangles namespaces opengl sequences threads
 ui.gadgets ui.gadgets.private ui.gadgets.worlds ui.gestures
-ui.private unicode.case ;
+ui.private unicode ;
 IN: ui.backend.cocoa.views
 
 : send-mouse-moved ( view event -- )
index 713a3b1204ffee76d25dc0d2be8915d6935cfd71..3497f677c08fda3c191afa59766eb29c0ee2ce2e 100644 (file)
@@ -1,8 +1,7 @@
 ! Copyright (C) 2006, 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs fry help.markup kernel make quotations
-sequences splitting tr ui.gestures unicode.case unicode.categories
-words ;
+sequences splitting tr ui.gestures unicode words ;
 IN: ui.commands
 
 SYMBOL: +nullary+
index 0a2caefd328d551e59e7bbd75b2e6cbd8bb16c3e..f040136c8bf4e083a173e2c218f8713c7c324a99 100644 (file)
@@ -9,7 +9,7 @@ sorting splitting timers ui.baseline-alignment ui.clipboards
 ui.commands ui.gadgets ui.gadgets.borders
 ui.gadgets.line-support ui.gadgets.menus ui.gadgets.scrollers
 ui.gadgets.theme ui.gestures ui.pens.solid ui.render ui.text
-unicode.categories ;
+unicode ;
 EXCLUDE: fonts => selection ;
 IN: ui.gadgets.editors
 
index eb8c2eb00c6bff29e0bb76dfa712f92cd3298a6a..b9d5dbb70948dc6cf0ef0e6bd970499d914311dc 100644 (file)
@@ -1,4 +1,4 @@
-USING: help.syntax help.markup strings ;
+USING: help.syntax help.markup strings unicode ;
 IN: unicode.breaks
 
 ABOUT: "unicode.breaks"
index 2bb0f98ba4140921ccfd23271f9355c9ec317c36..1aa5ec3000059ea6591c5dbc870aa47cf9e53de3 100644 (file)
@@ -1,11 +1,8 @@
 ! Copyright (C) 2008 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien.syntax arrays assocs combinators
-combinators.short-circuit compiler.units fry interval-maps io
-io.encodings.ascii io.files kernel literals locals make math
-math.parser math.ranges memoize namespaces parser sequences
-sets simple-flat-file splitting unicode.categories
-unicode.categories.syntax unicode.data unicode.normalize
+USING: accessors arrays assocs combinators fry interval-maps
+kernel literals locals math namespaces parser sequences
+simple-flat-file unicode.categories unicode.data
 unicode.normalize.private words words.constant ;
 IN: unicode.breaks
 
@@ -105,38 +102,6 @@ define-constant
 : grapheme-break? ( class1 class2 -- ? )
     grapheme-table nth nth not ;
 
-PRIVATE>
-
-: first-grapheme ( str -- i )
-    unclip-slice grapheme-class over
-    [ grapheme-class [ nip ] [ grapheme-break? ] 2bi ] find drop
-    nip swap length or 1 + ;
-
-: first-grapheme-from ( start str -- i )
-    over tail-slice first-grapheme + ;
-
-: last-grapheme ( str -- i )
-    unclip-last-slice grapheme-class swap
-    [ grapheme-class dup rot grapheme-break? ] find-last drop ?1+ nip ;
-
-: last-grapheme-from ( end str -- i )
-    swap head-slice last-grapheme ;
-
-<PRIVATE
-
-: >pieces ( str quot: ( str -- i ) -- graphemes )
-    [ dup empty? not ] swap '[ dup @ cut-slice swap ] produce nip ; inline
-
-PRIVATE>
-
-: >graphemes ( str -- graphemes )
-    [ first-grapheme ] >pieces ;
-
-: string-reverse ( str -- rts )
-    >graphemes reverse! concat ;
-
-<PRIVATE
-
 ! Word breaks
 <<
 CONSTANT: wOther 0
@@ -253,37 +218,3 @@ define-constant
     ] if ;
 
 PRIVATE>
-
- : first-word ( str -- i )
-    [ [ length ] [ first word-break-prop ] bi ] keep
-    1 swap dup '[ _ word-break-next ] find-index-from
-    drop nip swap or ;
-
-: >words ( str -- words )
-    [ first-word ] >pieces ;
-
-<PRIVATE
-
-: nth-next ( i str -- str[i-1] str[i] )
-    [ [ 1 - ] keep ] dip '[ _ nth ] bi@ ;
-
-PRIVATE>
-
-: word-break-at? ( i str -- ? )
-    {
-        [ drop zero? ]
-        [ length = ]
-        [
-            [ nth-next [ word-break-prop ] dip ] 2keep
-            word-break-next nip
-        ]
-    } 2|| ;
-
-: first-word-from ( start str -- i )
-    over tail-slice first-word + ;
-
-: last-word ( str -- i )
-    [ length iota ] keep '[ _ word-break-at? ] find-last drop 0 or ;
-
-: last-word-from ( end str -- i )
-    swap head-slice last-word ;
index 845eadc84a602119664830b4cbb0b18bfe71968d..e1ea0757eb2771be4b66fe8b920a522660626447 100644 (file)
@@ -1,4 +1,4 @@
-USING: help.syntax help.markup kernel strings ;
+USING: help.syntax help.markup kernel strings unicode ;
 IN: unicode.case
 
 ABOUT: "unicode.case"
index c8ed8b2d0f3caa1acdaaf6d5f8c7ad5398812639..011913097d0585e9bfd54e237c9444a7c67c1aee 100644 (file)
@@ -1,9 +1,7 @@
 ! Copyright (C) 2008, 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: unicode.data sequences namespaces
-sbufs make unicode.normalize math hints
-unicode.categories combinators assocs combinators.short-circuit
-strings splitting kernel accessors unicode.breaks fry locals ;
+USING: combinators.short-circuit kernel locals namespaces sbufs
+sequences splitting unicode.categories unicode.data ;
 QUALIFIED: ascii
 IN: unicode.case
 
@@ -52,10 +50,13 @@ SYMBOL: locale ! Just casing locale, or overall?
         [ 1 head* CHAR: greek-small-letter-final-sigma suffix ] when
     ] if-empty ; inline
 
+! this duplicate unicode to prevent dependencies
+CATEGORY-NOT: (uncased) Lu Ll Lt Lm Mn Me ;
+
 : sigma-map ( string -- string )
     { CHAR: greek-capital-letter-sigma } split [ [
         [ { CHAR: greek-small-letter-sigma } ] [
-            dup first uncased?
+            dup first (uncased)?
             CHAR: greek-small-letter-final-sigma
             CHAR: greek-small-letter-sigma ? prefix
         ] if-empty
@@ -85,43 +86,3 @@ SYMBOL: locale ! Just casing locale, or overall?
     [ lithuanian? [ lithuanian>upper ] when ] bi ;
 
 PRIVATE>
-
-: >lower ( string -- lower )
-    locale>lower final-sigma
-    [ lower>> ] [ ch>lower ] map-case ;
-
-HINTS: >lower string ;
-
-: >upper ( string -- upper )
-    locale>upper
-    [ upper>> ] [ ch>upper ] map-case ;
-
-HINTS: >upper string ;
-
-<PRIVATE
-
-: (>title) ( string -- title )
-    locale>upper
-    [ title>> ] [ ch>title ] map-case ; inline
-
-PRIVATE>
-
-: capitalize ( string -- title )
-    unclip-slice 1string [ >lower ] [ (>title) ] bi*
-    "" prepend-as ; inline
-
-: >title ( string -- title )
-    final-sigma >words [ capitalize ] map! concat ;
-
-HINTS: >title string ;
-
-: >case-fold ( string -- fold )
-    >upper >lower ;
-
-: lower? ( string -- ? ) dup >lower = ;
-
-: upper? ( string -- ? ) dup >upper = ;
-
-: title? ( string -- ? ) dup >title = ;
-
-: case-fold? ( string -- ? ) dup >case-fold = ;
index 47e3f6f541de60a5cc04b9bb44ca5d5548e5e721..9aae8f069e7a63f12de86c910c55855c171923b5 100644 (file)
@@ -1,66 +1,21 @@
-! Copyright (C) 2009 Daniel Ehrenberg
+! Copyright (C) 2008 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax kernel ;
+USING: help.syntax help.markup ;
 IN: unicode.categories
 
-HELP: LETTER
-{ $class-description "The class of upper cased letters." } ;
-
-HELP: Letter
-{ $class-description "The class of letters." } ;
-
-HELP: alpha
-{ $class-description "The class of alphanumeric characters." } ;
-
-HELP: math
-{ $class-description "The class of Unicode math characters." } ;
-
-HELP: blank
-{ $class-description "The class of whitespace characters." } ;
-
-HELP: character
-{ $class-description "The class of pre-defined Unicode code points." } ;
-
-HELP: control
-{ $class-description "The class of control characters." } ;
-
-HELP: digit
-{ $class-description "The class of digits." } ;
-
-HELP: letter
-{ $class-description "The class of lower-cased letters." } ;
-
-HELP: printable
-{ $class-description "The class of characters which are printable, as opposed to being control or formatting characters." } ;
-
-HELP: uncased
-{ $class-description "The class of letters which don't have a case." } ;
+ABOUT: "unicode.categories"
 
-ARTICLE: "unicode.categories" "Character classes"
-"The " { $vocab-link "unicode.categories" } " vocabulary implements predicates for determining if a code point has a particular property, for example being a lower cased letter. These should be used in preference to the " { $vocab-link "ascii" } " equivalents in most cases. Each character class has an associated predicate word."
+ARTICLE: "unicode.categories" "Unicode category syntax"
+"There is special syntax sugar for making predicate classes which are unions of Unicode general categories, plus some other code."
 { $subsections
-    blank
-    blank?
-    letter
-    letter?
-    LETTER
-    LETTER?
-    Letter
-    Letter?
-    digit
-    digit?
-    printable
-    printable?
-    alpha
-    alpha?
-    control
-    control?
-    uncased
-    uncased?
-    character
-    character?
-    math
-    math?
+    POSTPONE: CATEGORY:
+    POSTPONE: CATEGORY-NOT:
 } ;
 
-ABOUT: "unicode.categories"
+HELP: CATEGORY:
+{ $syntax "CATEGORY: foo Nl Pd Lu | \"Diacritic\" property? ;" }
+{ $description "This defines a predicate class which is a subset of code points. In this example, " { $snippet "foo" } " is the class of characters which are in the general category Nl or Pd or Lu, or which have the Diacritic property." } ;
+
+HELP: CATEGORY-NOT:
+{ $syntax "CATEGORY-NOT: foo Nl Pd Lu | \"Diacritic\" property? ;" }
+{ $description "This defines a predicate class which is a subset of code points, the complement of what " { $link POSTPONE: CATEGORY: } " would define. In this example, " { $snippet "foo" } " is the class of characters which are neither in the general category Nl or Pd or Lu, nor have the Diacritic property." } ;
index 52ade759446e67c0c33729f36b7c12ff87ed1253..536c0e947cda3eec36a469386297a30dbb2fe535 100644 (file)
@@ -1,19 +1,2 @@
-! Copyright (C) 2008 Daniel Ehrenberg.
+! Copyright (C) 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: tools.test kernel unicode.categories words sequences unicode.data ;
-IN: unicode.categories.tests
-
-{ { f f t t f t t f f t } } [ CHAR: A {
-    blank? letter? LETTER? Letter? digit?
-    printable? alpha? control? uncased? character?
-} [ execute ] with map ] unit-test
-{ "Nd" } [ CHAR: 3 category ] unit-test
-{ "Lo" } [ 0x3400 category ] unit-test
-{ "Lo" } [ 0x3450 category ] unit-test
-{ "Lo" } [ 0x4DB5 category ] unit-test
-{ "Cs" } [ 0xDD00 category ] unit-test
-{ t } [ CHAR: \t blank? ] unit-test
-{ t } [ CHAR: \s blank? ] unit-test
-{ t } [ CHAR: \r blank? ] unit-test
-{ t } [ CHAR: \n blank? ] unit-test
-{ f } [ CHAR: a blank? ] unit-test
index 1e6a7b3a9909c23bf6cdc22201fe65d724a5e486..291e2d6499e1c9a4de5ac01719742dc3438f91b4 100644 (file)
@@ -1,16 +1,34 @@
 ! Copyright (C) 2008 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: unicode.categories.syntax sequences unicode.data ;
+USING: accessors assocs classes.parser classes.predicate fry
+kernel math parser sequences splitting unicode.data
+unicode.data.private ;
 IN: unicode.categories
 
-CATEGORY: blank Zs Zl Zp | "\r\n\t" member? ;
-CATEGORY: letter Ll | "Other_Lowercase" property? ;
-CATEGORY: LETTER Lu | "Other_Uppercase" property? ;
-CATEGORY: Letter Lu Ll Lt Lm Lo Nl ;
-CATEGORY: digit Nd Nl No ;
-CATEGORY-NOT: printable Cc Cf Cs Co Cn ;
-CATEGORY: alpha Lu Ll Lt Lm Lo Nd Nl No | "Other_Alphabetic" property? ;
-CATEGORY: control Cc ;
-CATEGORY-NOT: uncased Lu Ll Lt Lm Mn Me ;
-CATEGORY-NOT: character Cn ;
-CATEGORY: math Sm | "Other_Math" property? ;
+! For use in CATEGORY:
+SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs Zl Zp Cc Cf Cs Co | ;
+
+<PRIVATE
+
+: [category] ( categories code -- quot )
+    '[ integer>fixnum-strict dup category# _ member? [ drop t ] _ if ] ;
+
+: integer-predicate-class ( word predicate -- )
+    integer swap define-predicate-class ;
+
+: define-category ( word categories code -- )
+    [category] integer-predicate-class ;
+
+: define-not-category ( word categories code -- )
+    [category] [ not ] compose integer-predicate-class ;
+
+: parse-category ( -- word tokens quot )
+    scan-new-class \ ; parse-until { | } split1
+    [ [ name>> categories-map at ] B{ } map-as ]
+    [ [ [ ] like ] [ [ drop f ] ] if* ] bi* ;
+
+PRIVATE>
+
+SYNTAX: CATEGORY: parse-category define-category ;
+
+SYNTAX: CATEGORY-NOT: parse-category define-not-category ;
index 7efad41e84c06ab2785c566591fba77a35241890..651d51c34cc595743d604624ac9548647274c8a9 100644 (file)
@@ -1 +1 @@
-Unicode character categories
+Parsing words used by Unicode implementation
diff --git a/basis/unicode/categories/syntax/authors.txt b/basis/unicode/categories/syntax/authors.txt
deleted file mode 100644 (file)
index f990dd0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Daniel Ehrenberg
diff --git a/basis/unicode/categories/syntax/summary.txt b/basis/unicode/categories/syntax/summary.txt
deleted file mode 100644 (file)
index 651d51c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Parsing words used by Unicode implementation
diff --git a/basis/unicode/categories/syntax/syntax-docs.factor b/basis/unicode/categories/syntax/syntax-docs.factor
deleted file mode 100644 (file)
index 89c8d35..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-! Copyright (C) 2008 Daniel Ehrenberg.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help.syntax help.markup ;
-IN: unicode.categories.syntax
-
-ABOUT: "unicode.categories.syntax"
-
-ARTICLE: "unicode.categories.syntax" "Unicode category syntax"
-"There is special syntax sugar for making predicate classes which are unions of Unicode general categories, plus some other code."
-{ $subsections
-    POSTPONE: CATEGORY:
-    POSTPONE: CATEGORY-NOT:
-} ;
-
-HELP: CATEGORY:
-{ $syntax "CATEGORY: foo Nl Pd Lu | \"Diacritic\" property? ;" }
-{ $description "This defines a predicate class which is a subset of code points. In this example, " { $snippet "foo" } " is the class of characters which are in the general category Nl or Pd or Lu, or which have the Diacritic property." } ;
-
-HELP: CATEGORY-NOT:
-{ $syntax "CATEGORY-NOT: foo Nl Pd Lu | \"Diacritic\" property? ;" }
-{ $description "This defines a predicate class which is a subset of code points, the complement of what " { $link POSTPONE: CATEGORY: } " would define. In this example, " { $snippet "foo" } " is the class of characters which are neither in the general category Nl or Pd or Lu, nor have the Diacritic property." } ;
diff --git a/basis/unicode/categories/syntax/syntax-tests.factor b/basis/unicode/categories/syntax/syntax-tests.factor
deleted file mode 100644 (file)
index 536c0e9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-! Copyright (C) 2009 Daniel Ehrenberg.
-! See http://factorcode.org/license.txt for BSD license.
diff --git a/basis/unicode/categories/syntax/syntax.factor b/basis/unicode/categories/syntax/syntax.factor
deleted file mode 100644 (file)
index acb3fbd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-! Copyright (C) 2008, 2009 Daniel Ehrenberg.
-! See http://factorcode.org/license.txt for BSD license.
-USING: unicode.data kernel math sequences parser unicode.data.private
-bit-arrays namespaces sequences.private arrays classes.parser
-assocs classes.predicate sets fry splitting accessors ;
-IN: unicode.categories.syntax
-
-! For use in CATEGORY:
-SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs Zl Zp Cc Cf Cs Co | ;
-
-<PRIVATE
-
-: [category] ( categories code -- quot )
-    '[ integer>fixnum-strict dup category# _ member? [ drop t ] _ if ] ;
-
-: integer-predicate-class ( word predicate -- )
-    integer swap define-predicate-class ;
-
-: define-category ( word categories code -- )
-    [category] integer-predicate-class ;
-
-: define-not-category ( word categories code -- )
-    [category] [ not ] compose integer-predicate-class ;
-
-: parse-category ( -- word tokens quot )
-    scan-new-class \ ; parse-until { | } split1
-    [ [ name>> categories-map at ] B{ } map-as ]
-    [ [ [ ] like ] [ [ drop f ] ] if* ] bi* ;
-
-PRIVATE>
-
-SYNTAX: CATEGORY: parse-category define-category ;
-
-SYNTAX: CATEGORY-NOT: parse-category define-not-category ;
diff --git a/basis/unicode/categories/syntax/tags.txt b/basis/unicode/categories/syntax/tags.txt
deleted file mode 100644 (file)
index 8e27be7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-text
index 33b6f2f72fbd19d5c1f972da32db95dc993cae72..79379d57a9075041f6223c8526a7cd32a2598e35 100644 (file)
@@ -1,5 +1,5 @@
 USING: byte-arrays help.syntax help.markup kernel math.order
-strings ;
+strings unicode ;
 IN: unicode.collation
 
 ARTICLE: "unicode.collation" "Collation and weak comparison"
index 02d813afcea18b45fdc6003bccb4f71ba7f756ae..be82f697cdd9ac0204292f7514259c504dd06ae4 100644 (file)
@@ -1,13 +1,13 @@
 ! Copyright (C) 2008 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: sequences io.files io.encodings.ascii kernel splitting
-accessors math.parser ascii io assocs strings math namespaces make
-sorting combinators math.order arrays unicode.normalize unicode.data
-locals macros sequences.deep words unicode.breaks quotations
-combinators.short-circuit simple-flat-file ;
+USING: accessors arrays assocs combinators
+combinators.short-circuit kernel locals make math math.order
+math.parser namespaces sequences simple-flat-file splitting
+strings unicode.data ;
 IN: unicode.collation
 
 <PRIVATE
+
 SYMBOL: ducet
 
 TUPLE: weight primary secondary tertiary ignorable? ;
@@ -112,6 +112,7 @@ ducet get-global insert-helpers
             [ [ variable-weight ] each ]
         } cleave
     ] { } make ;
+
 PRIVATE>
 
 : completely-ignorable? ( weight -- ? )
@@ -124,36 +125,3 @@ PRIVATE>
         [ swap ignorable?>> or ]
         [ swap completely-ignorable? or not ] 2bi
     ] filter nip ;
-
-: collation-key ( string -- key )
-    nfd string>graphemes graphemes>weights
-    filter-ignorable weights>bytes ;
-
-<PRIVATE
-: insensitive= ( str1 str2 levels-removed -- ? )
-    [
-        [ collation-key ] dip
-        [ [ 0 = not ] trim-tail but-last ] times
-    ] curry same? ;
-PRIVATE>
-
-: primary= ( str1 str2 -- ? )
-    3 insensitive= ;
-
-: secondary= ( str1 str2 -- ? )
-    2 insensitive= ;
-
-: tertiary= ( str1 str2 -- ? )
-    1 insensitive= ;
-
-: quaternary= ( str1 str2 -- ? )
-    0 insensitive= ;
-
-: w/collation-key ( str -- {str,key} )
-    [ collation-key ] keep 2array ;
-
-: sort-strings ( strings -- sorted )
-    [ w/collation-key ] map natural-sort values ;
-
-: string<=> ( str1 str2 -- <=> )
-    [ w/collation-key ] compare ;
index edfa81d0a34dae56527b6107732fa84101f69565..eb7e519f73dba26e441d3e9f133c097fa6563d36 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2009 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: help.syntax help.markup kernel math strings ;
+USING: help.syntax help.markup kernel math strings unicode ;
 IN: unicode.data
 
 ABOUT: "unicode.data"
index ebc3f6d9ef03b4898949f1f4ea61904f92d16033..0a759c625e975dfbc0892f8a8365a6d264aa1a7d 100644 (file)
@@ -28,17 +28,12 @@ PRIVATE>
 CONSTANT: name-map H{ }
 
 : canonical-entry ( char -- seq ) canonical-map at ; inline
-: combine-chars ( a b -- char/f ) >2ch combine-map at ; inline
 : compatibility-entry ( char -- seq ) compatibility-map at ; inline
+: combine-chars ( a b -- char/f ) >2ch combine-map at ; inline
 : combining-class ( char -- n ) class-map at ; inline
 : non-starter? ( char -- ? ) combining-class { 0 f } member? not ; inline
-: name>char ( name -- char ) name-map at ; inline
-: char>name ( char -- name ) name-map value-at ; inline
 : property ( property -- interval-map ) properties at ; foldable
 : property? ( char property -- ? ) property interval-sets:in? ; inline
-: ch>lower ( ch -- lower ) simple-lower ?at drop ; inline
-: ch>upper ( ch -- upper ) simple-upper ?at drop ; inline
-: ch>title ( ch -- title ) simple-title ?at drop ; inline
 : special-case ( ch -- casing-tuple ) special-casing at ; inline
 
 ! For non-existent characters, use Cn
@@ -143,7 +138,7 @@ PRIVATE>
     name-map sort-values keys
     [ { [ "first>" tail? ] [ "last>" tail? ] } 1|| ] filter
     2 group [
-        [ name>char ] bi@ [ [a,b] ] [ table ?nth ] bi
+        [ name-map at ] bi@ [ [a,b] ] [ table ?nth ] bi
         [ swap table ?set-nth ] curry each
     ] assoc-each table ;
 
@@ -208,14 +203,15 @@ load-data {
 } cleave
 
 combine-map keys [ 2ch> nip ] map
-[ combining-class ] reject
+[ class-map at ] reject
 [ 0 swap class-map set-at ] each
 
 load-special-casing special-casing swap assoc-union! drop
 
 load-properties properties swap assoc-union! drop
 
-[ name>char [ "Invalid character" throw ] unless* ]
-name>char-hook set-global
-
 PRIVATE>
+
+[
+    name-map at [ "Invalid character" throw ] unless*
+] name>char-hook set-global
index 58f381446e74a50b1aa5b43eabf3a2c8db1f2bb2..fb71b614b2acf54b99e5bbd2be24cc851820d45b 100644 (file)
@@ -1,4 +1,4 @@
-USING: help.syntax help.markup strings ;
+USING: help.syntax help.markup strings unicode ;
 IN: unicode.normalize
 
 ABOUT: "unicode.normalize"
index ee9e1dcad35fb70171fc74f1bdf2f25be92589b4..5c9065dc91e3e28b5dfd7121a23ef907fa6a0bf5 100644 (file)
@@ -89,23 +89,6 @@ HINTS: (nfd) string ;
 
 HINTS: (nfkd) string ;
 
-PRIVATE>
-
-: nfd ( string -- nfd )
-    [ (nfd) ] with-string ;
-
-: nfkd ( string -- nfkd )
-    [ (nfkd) ] with-string ;
-
-: string-append ( s1 s2 -- string )
-    [ append ] keep
-    0 over ?nth non-starter?
-    [ length dupd reorder-back ] [ drop ] if ;
-
-HINTS: string-append string string ;
-
-<PRIVATE
-
 ! Normalization -- Composition
 
 : initial-medial? ( str i -- ? )
@@ -189,9 +172,3 @@ DEFER: compose-iter
 HINTS: combine string ;
 
 PRIVATE>
-
-: nfc ( string -- nfc )
-    [ (nfd) combine ] with-string ;
-
-: nfkc ( string -- nfkc )
-    [ (nfkd) combine ] with-string ;
index ed255cc803b5778b2fb03f056505b947e0e817c5..5bdffbb2335d5a7982a625f98db996c84000e3c1 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2009 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: help.syntax help.markup strings ;
+USING: help.syntax help.markup strings unicode ;
 IN: unicode.script
 
 ABOUT: "unicode.script"
index 278199e63b98885bd47fbcd248e5fdb44ca0a847..7d9a0f0bd71d621c0cb7b69654274966d3fd2dc4 100644 (file)
@@ -4,15 +4,8 @@ USING: interval-maps namespaces parser simple-flat-file
 words.constant ;
 IN: unicode.script
 
-<PRIVATE
-
 <<
 "script-table" create-word-in
 "vocab:unicode/script/Scripts.txt" load-interval-file
 define-constant
 >>
-
-PRIVATE>
-
-: script-of ( char -- script )
-    script-table interval-at ;
index 24cf64f9e028cb820d716b59ea6e840bb37dcbcb..9d49fc9dbb83a172aaeb9179a91d631d6af2dd56 100644 (file)
@@ -15,7 +15,7 @@ $nl
 { $vocab-subsection "Word and grapheme breaks" "unicode.breaks" }
 { $vocab-subsection "Unicode normalization" "unicode.normalize" }
 "The following are mostly for internal use:"
-{ $vocab-subsection "Unicode category syntax" "unicode.categories.syntax" }
+{ $vocab-subsection "Unicode category syntax" "unicode.categories" }
 { $vocab-subsection "Unicode data tables" "unicode.data" }
 { $see-also "ascii" "io.encodings" } ;
 
index 32adb961d4e156a391b5c16ff366a0bc4efac0ac..97d1f20e267443da02ab9f2e118422c78e5503de 100644 (file)
@@ -1 +1,200 @@
+
+USING: accessors arrays assocs combinators.short-circuit fry
+hints interval-maps kernel math math.order sequences sorting
+strings unicode.breaks.private unicode.case.private
+unicode.categories unicode.collation unicode.collation.private
+unicode.data unicode.data.private unicode.normalize.private
+unicode.script ;
+
 IN: unicode
+
+CATEGORY: blank Zs Zl Zp | "\r\n\t" member? ;
+
+CATEGORY: letter Ll | "Other_Lowercase" property? ;
+
+CATEGORY: LETTER Lu | "Other_Uppercase" property? ;
+
+CATEGORY: Letter Lu Ll Lt Lm Lo Nl ;
+
+CATEGORY: digit Nd Nl No ;
+
+CATEGORY-NOT: printable Cc Cf Cs Co Cn ;
+
+CATEGORY: alpha Lu Ll Lt Lm Lo Nd Nl No | "Other_Alphabetic" property? ;
+
+CATEGORY: control Cc ;
+
+CATEGORY-NOT: uncased Lu Ll Lt Lm Mn Me ;
+
+CATEGORY-NOT: character Cn ;
+
+CATEGORY: math Sm | "Other_Math" property? ;
+
+: script-of ( char -- script )
+    script-table interval-at ;
+
+: name>char ( name -- char ) name-map at ; inline
+
+: char>name ( char -- name ) name-map value-at ; inline
+
+: ch>lower ( ch -- lower ) simple-lower ?at drop ; inline
+
+: ch>upper ( ch -- upper ) simple-upper ?at drop ; inline
+
+: ch>title ( ch -- title ) simple-title ?at drop ; inline
+
+: first-grapheme ( str -- i )
+    unclip-slice grapheme-class over
+    [ grapheme-class [ nip ] [ grapheme-break? ] 2bi ] find drop
+    nip swap length or 1 + ;
+
+: first-grapheme-from ( start str -- i )
+    over tail-slice first-grapheme + ;
+
+: last-grapheme ( str -- i )
+    unclip-last-slice grapheme-class swap
+    [ grapheme-class dup rot grapheme-break? ] find-last drop ?1+ nip ;
+
+: last-grapheme-from ( end str -- i )
+    swap head-slice last-grapheme ;
+
+<PRIVATE
+
+: >pieces ( str quot: ( str -- i ) -- graphemes )
+    [ dup empty? not ] swap '[ dup @ cut-slice swap ] produce nip ; inline
+
+PRIVATE>
+
+: >graphemes ( str -- graphemes )
+    [ first-grapheme ] >pieces ;
+
+: string-reverse ( str -- rts )
+    >graphemes reverse! concat ;
+
+: first-word ( str -- i )
+    [ [ length ] [ first word-break-prop ] bi ] keep
+    1 swap dup '[ _ word-break-next ] find-index-from
+    drop nip swap or ;
+
+: >words ( str -- words )
+    [ first-word ] >pieces ;
+
+<PRIVATE
+
+: nth-next ( i str -- str[i-1] str[i] )
+    [ [ 1 - ] keep ] dip '[ _ nth ] bi@ ;
+
+PRIVATE>
+
+: word-break-at? ( i str -- ? )
+    {
+        [ drop zero? ]
+        [ length = ]
+        [
+            [ nth-next [ word-break-prop ] dip ] 2keep
+            word-break-next nip
+        ]
+    } 2|| ;
+
+: first-word-from ( start str -- i )
+    over tail-slice first-word + ;
+
+: last-word ( str -- i )
+    [ length iota ] keep '[ _ word-break-at? ] find-last drop 0 or ;
+
+: last-word-from ( end str -- i )
+    swap head-slice last-word ;
+
+: >lower ( string -- lower )
+    locale>lower final-sigma
+    [ lower>> ] [ ch>lower ] map-case ;
+
+HINTS: >lower string ;
+
+: >upper ( string -- upper )
+    locale>upper
+    [ upper>> ] [ ch>upper ] map-case ;
+
+HINTS: >upper string ;
+
+<PRIVATE
+
+: (>title) ( string -- title )
+    locale>upper
+    [ title>> ] [ ch>title ] map-case ; inline
+
+PRIVATE>
+
+: capitalize ( string -- title )
+    unclip-slice 1string [ >lower ] [ (>title) ] bi*
+    "" prepend-as ; inline
+
+: >title ( string -- title )
+    final-sigma >words [ capitalize ] map! concat ;
+
+HINTS: >title string ;
+
+: >case-fold ( string -- fold )
+    >upper >lower ;
+
+: lower? ( string -- ? ) dup >lower = ;
+
+: upper? ( string -- ? ) dup >upper = ;
+
+: title? ( string -- ? ) dup >title = ;
+
+: case-fold? ( string -- ? ) dup >case-fold = ;
+
+: nfd ( string -- nfd )
+    [ (nfd) ] with-string ;
+
+: nfkd ( string -- nfkd )
+    [ (nfkd) ] with-string ;
+
+: string-append ( s1 s2 -- string )
+    [ append ] keep
+    0 over ?nth non-starter?
+    [ length dupd reorder-back ] [ drop ] if ;
+
+HINTS: string-append string string ;
+
+: nfc ( string -- nfc )
+    [ (nfd) combine ] with-string ;
+
+: nfkc ( string -- nfkc )
+    [ (nfkd) combine ] with-string ;
+
+: collation-key ( string -- key )
+    nfd string>graphemes graphemes>weights
+    filter-ignorable weights>bytes ;
+
+<PRIVATE
+
+: insensitive= ( str1 str2 levels-removed -- ? )
+    [
+        [ collation-key ] dip
+        [ [ 0 = not ] trim-tail but-last ] times
+    ] curry same? ;
+
+PRIVATE>
+
+: primary= ( str1 str2 -- ? )
+    3 insensitive= ;
+
+: secondary= ( str1 str2 -- ? )
+    2 insensitive= ;
+
+: tertiary= ( str1 str2 -- ? )
+    1 insensitive= ;
+
+: quaternary= ( str1 str2 -- ? )
+    0 insensitive= ;
+
+: w/collation-key ( str -- {str,key} )
+    [ collation-key ] keep 2array ;
+
+: sort-strings ( strings -- sorted )
+    [ w/collation-key ] map natural-sort values ;
+
+: string<=> ( str1 str2 -- <=> )
+    [ w/collation-key ] compare ;
index 35338bfd2214ac862c771ef5230f27ae4b1261f0..21b60feffc139d0fcdcc960adcf9f2382379a5f7 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license
 USING: byte-arrays calendar checksums checksums.md5
 checksums.sha io.binary kernel math math.parser math.ranges
-random sequences strings system unicode.case ;
+random sequences strings system unicode ;
 IN: uuid
 
 <PRIVATE
index 2488f87ea70246bd50a35055d309f47d1dfd872e..c3b800ae57d800dc4343e786008a4206400879d0 100644 (file)
@@ -2,8 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays assocs classes continuations hashtables kernel
 make math math.functions math.parser math.ranges namespaces
-quotations regexp sequences sets unicode.case unicode.categories
-words xmode.catalog ;
+quotations regexp sequences sets unicode words xmode.catalog ;
 IN: validators
 
 : v-checkbox ( str -- ? )
index fca62c85bef4dc366277822144dc0fece5facb15..83a8df0148f663173bbd8731f828fba2b30a7eb2 100755 (executable)
@@ -1,5 +1,5 @@
 USING: alien.data kernel locals math math.bitwise
-windows.kernel32 sequences byte-arrays unicode.categories
+windows.kernel32 sequences byte-arrays unicode
 io.encodings.string alien.strings arrays literals
 windows.types specialized-arrays math.parser ;
 SPECIALIZED-ARRAY: TCHAR
index a117b3cec88efd55d88fd174fabad5c0c819c999..1654d4f898eb3c81d6ce5a34d6ac5051cb414080 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2005, 2009 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences unicode.categories.syntax math math.order
+USING: kernel sequences unicode.categories math math.order
 combinators hints combinators.short-circuit ;
 IN: xml.char-classes
 
index bdd33ed5913c5e5208a832814b7387bd786512c6..04aee4d69e95b23dd2b54aa5aaa76b61da29cd8d 100644 (file)
@@ -3,7 +3,7 @@
 USING: kernel namespaces xml.tokenize xml.state xml.name
 xml.data accessors arrays make xml.char-classes fry assocs sequences
 math xml.errors sets combinators io.encodings io.encodings.iana
-unicode.case xml.dtd strings xml.entities unicode.categories ;
+unicode xml.dtd strings xml.entities ;
 IN: xml.elements
 
 : take-interpolated ( quot -- interpolated )
index 9e5dfc9ecaf4913313621e0b8fcc55cf4b8b125f..dba6469b7da81e69e2c6699840c8cffe67d62b36 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors arrays assocs combinators
 combinators.short-circuit fry generalizations inverse kernel
 namespaces sequences sequences.generalizations sorting strings
-unicode.categories xml.data xml.syntax xml.syntax.private ;
+unicode xml.data xml.syntax xml.syntax.private ;
 IN: xml.syntax.inverse
 
 : remove-blanks ( seq -- newseq )
index d43c127e1f056dc8dbd2f7aef787c40c00a31338..8bea35c615f09dc04fd5732104ab3f0c3ec33314 100644 (file)
@@ -5,7 +5,7 @@ effects.parser sequences summary lexer splitting combinators
 locals memoize sequences.deep xml.data xml.state xml namespaces
 present arrays generalizations sequences.generalizations strings
 make math macros multiline combinators.short-circuit sorting fry
-unicode.categories effects ;
+unicode effects ;
 IN: xml.syntax
 
 <PRIVATE
index 0f7b339f38cb7b7527b0b7ddb38495bd149a16b0..a32d2560ac1504b433d4897ca45a60ffd240316f 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: hashtables kernel math namespaces sequences strings
 assocs combinators io io.streams.string accessors
-xml.data wrap.strings xml.entities unicode.categories fry ;
+xml.data wrap.strings xml.entities unicode fry ;
 IN: xml.writer
 
 SYMBOL: sensitive-tags
index 473d5305eaba74d7809c2281b1708944fa5c53ae..89bc0a6e93a71c5e2d6194789c524acc8115989a 100644 (file)
@@ -1,6 +1,6 @@
 USING: accessors assocs globs io.pathnames kernel memoize
 namespaces regexp sequences sorting splitting strings
-unicode.case xml xml.data xml.syntax xml.traversal xmode.loader
+unicode xml xml.data xml.syntax xml.traversal xmode.loader
 xmode.rules xmode.utilities ;
 IN: xmode.catalog
 
index 663e6c7f362104c1cd5dd36fa59ceaa9c3681e23..6cf8dd930a74be79a81f3fe0170ad5732e9065b1 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2007, 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors kernel strings assocs sequences hashtables
-sorting unicode.case unicode.categories sets ;
+sorting unicode sets ;
 IN: xmode.keyword-map
 
 ! Based on org.gjt.sp.jedit.syntax.KeywordMap
index 7a67dc9f9b0b2e8bcb3046180681d59a978632dd..704c83a5189281c2ee20c62309e9303845e1b81c 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors xmode.tokens xmode.keyword-map kernel
-sequences vectors assocs strings memoize unicode.case
+sequences vectors assocs strings memoize unicode
 regexp ;
 IN: xmode.rules
 
index 8b793f8fe19306293a4b02263f4d0482e7cc57e7..80c552add1ffd618f223e625eb38c41ac784309f 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2012 John Benediktsson
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math random sequences strings unicode.case ;
+USING: kernel math random sequences strings unicode ;
 IN: benchmark.unicode
 
 : crazy-unicode-string ( -- string )
index a42c422bb8be58f5a8a20871d5cbe8cf00a564b1..f20ba0f17d468888b8ae97998acfb4450285c7b8 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors combinators combinators.short-circuit
 generalizations kernel locals math.order math.ranges
 sequences.parser sequences sequences.generalizations
-sorting.functor sorting.slots unicode.categories ;
+sorting.functor sorting.slots unicode ;
 IN: c.lexer
 
 : take-c-comment ( sequence-parser -- seq/f )
index 0ccdf462b1f7da190d057cf3b4a8b13e02af5c14..6abd4c5a443b26790a4c94245fb9f321b0a1c00a 100644 (file)
@@ -3,8 +3,8 @@
 USING: sequences.parser io io.encodings.utf8 io.files
 io.streams.string kernel combinators accessors io.pathnames
 fry sequences arrays locals namespaces io.directories
-assocs math splitting make unicode.categories
-combinators.short-circuit c.lexer ;
+assocs math splitting make unicode combinators.short-circuit
+c.lexer ;
 IN: c.preprocessor
 
 : initial-library-paths ( -- seq )
index 5ca78bc6df6bb37ff80b06b436081cb1d8505052..585051f0fefee833787a4973465d9d81bb013fc4 100644 (file)
@@ -3,7 +3,7 @@
 
 USING: arrays assocs combinators environment io kernel
 linked-assocs math.parser regexp sequences splitting strings
-unicode.case urls.encoding ;
+unicode urls.encoding ;
 
 IN: cgi
 
index 0ab139c7a524afc2b20d4b963b8a662c0d0cb1be..4f25ae752052ef92326736e2fa274e4c0636d233 100644 (file)
@@ -5,7 +5,7 @@ io.directories io.directories.hierarchy io.encodings.binary
 io.encodings.detect io.encodings.utf8 io.files io.files.info
 io.files.temp io.files.types io.files.unique io.launcher
 io.pathnames kernel locals math math.parser namespaces sequences
-sorting strings system unicode.categories xml.syntax xml.writer
+sorting strings system unicode xml.syntax xml.writer
 xmode.catalog xmode.marker xmode.tokens ;
 IN: codebook
 
index d566c512b11b7607de8499797d43b782739e783c..b065bd843d629b2483b2f726ccf65ab55512dd31 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs byte-arrays combinators game.models
 io.encodings.ascii io.files io.pathnames io.streams.byte-array
 kernel namespaces sequences splitting
-strings unicode.case arrays io.encodings ;
+strings unicode arrays io.encodings ;
 IN: game.models.loader
 
 ERROR: unknown-models-extension extension ;
index cb366672c5131c85518025ee4a2993f670a756e0..62c905ee9f1f7faafd9e1190702dcd13cc34b10d 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: combinators combinators.smart csv io.encodings.8-bit
-math.parser memoize sequences kernel unicode.categories money
+math.parser memoize sequences kernel unicode money
 io.encodings.8-bit.latin1 ;
 IN: geobytes
 
index aac7d3c4a37260cf45a42ae35505092615306b0a..be6f207cdc33417cd064cbc960284013538287f4 100644 (file)
@@ -5,7 +5,7 @@ io.pathnames io.streams.string kernel locals models namespaces
 sequences ui ui.gadgets ui.gadgets.buttons ui.gadgets.editors
 ui.gadgets.frames ui.gadgets.grids ui.gadgets.labels
 ui.gadgets.packs ui.gadgets.scrollers ui.gadgets.worlds
-ui.gadgets.tables ui.gadgets.labeled unicode.case ;
+ui.gadgets.tables ui.gadgets.labeled unicode ;
 FROM: gml => gml ;
 IN: gml.ui
 
index 09157cd613cdafb8f37dc628a1bcc6062a6ae85d..e294f3764505f36184925530ae7d0351d44b6ba5 100644 (file)
@@ -5,7 +5,7 @@ graphviz.dot images.viewer io.backend io.directories
 io.encodings.8-bit.latin1 io.encodings.utf8 io.files
 io.files.temp io.files.unique io.launcher io.standard-paths
 kernel locals make namespaces sequences summary system threads
-unicode.case vocabs webbrowser words ;
+unicode vocabs webbrowser words ;
 IN: graphviz.render
 
 <PRIVATE
index e48f09d6608bf97d771c5a51d63c7104fb26832b..9a2653152597739aabd93710fdfa5a37531c0d55 100644 (file)
@@ -2,8 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs combinators combinators.short-circuit
 fry html.parser http.client io kernel locals math math.statistics
-sequences sets splitting unicode.case unicode.categories urls
-urls.encoding shuffle ;
+sequences sets splitting unicode urls urls.encoding shuffle ;
 IN: html.parser.analyzer
 
 : scrape-html ( url -- response vector )
index 3b42e1b0921d94c66d5973d6634a29ae18d8ae08..14534ca8c0857e25db58ef49d3c8d6c3d5dd69c0 100644 (file)
@@ -2,8 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays hashtables sequences.parser
 html.parser.utils kernel namespaces sequences make math
-unicode.case unicode.categories combinators.short-circuit
-quoting fry ;
+unicode combinators.short-circuit quoting fry ;
 IN: html.parser
 
 TUPLE: tag name attributes text closing? ;
index 4401e1f22946b0c8236b07b766c31e09d37135b1..88de6be85b789bf8d1ee74ece7727347b0bc38e7 100644 (file)
@@ -1,6 +1,6 @@
 USING: accessors assocs combinators html.parser
 html.parser.utils io io.streams.string kernel math math.order
-namespaces sequences strings unicode.categories ;
+namespaces sequences strings unicode ;
 IN: html.parser.printer
 
 TUPLE: html-printer ;
index 754f3c460daf9010c3f78bb809018ea6d9124779..7fc59894b050aeb13c99a70afdb202c101960302 100644 (file)
@@ -2,10 +2,10 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: sequences io io.encodings.binary io.files io.pathnames
 strings kernel math io.mmap accessors combinators math.ranges
-unicode.categories byte-arrays io.encodings.string
+unicode byte-arrays io.encodings.string
 io.encodings.utf16 assocs math.parser combinators.short-circuit
 fry namespaces combinators.smart splitting io.encodings.ascii
-arrays io.files.info unicode.case io.directories.search literals
+arrays io.files.info io.directories.search literals
 math.functions continuations ;
 FROM: alien.c-types => uchar ;
 IN: id3
index 258886c1f5a757190af94454561ad9b4249b7fa0..730a819e98926b29ccb50d27fc9921d47dc68cc6 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs calendar calendar.format
 combinators.smart io io.crlf io.encodings.utf8 kernel locals
 managed-server namespaces sequences sorting splitting
-unicode.case ;
+unicode ;
 IN: managed-server.chat
 
 TUPLE: chat-server < managed-server ;
index cf6a731f53be8df7fe852af25e53eaa4c55159ad..fac52bab7116da01bdeded384007cf90ade5dc11 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2005 Chris Double.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel lists lists.lazy tools.test strings math
-sequences parser-combinators arrays math.parser unicode.categories ;
+sequences parser-combinators arrays math.parser unicode ;
 IN: parser-combinators.tests
 
 ! Testing <&>
index 04d8efdc797c57791a46f3d89986097591c4fc06..39db45eb4a3254b0b1a7cc0bf68f907daeb04d4a 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: lists lists.lazy promises kernel sequences strings math
 arrays splitting quotations combinators namespaces locals
-unicode.case unicode.categories sequences.deep accessors ;
+unicode sequences.deep accessors ;
 IN: parser-combinators
 
 ! Parser combinator protocol
index fa5705679f57584b219cc08da3051f0d64a13ae3..e147620b34be2e1765a8f7e30cf1b5da50a275bf 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2006 Chris Double.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel strings math sequences lists.lazy words
-math.parser promises parser-combinators unicode.categories ;
+math.parser promises parser-combinators unicode ;
 IN: parser-combinators.simple
 
 : digit-parser ( -- parser )
index 0b137212a3d508f97368651c0c82efb11c394330..c3b03eb8232e04289dca3a842bc4f7f229557ac1 100644 (file)
@@ -1,8 +1,7 @@
 ! Copyright (C) 2011-2012 John Benediktsson
 ! See http://factorcode.org/license.txt for BSD license
 
-USING: kernel fry make math sequences ui.text unicode.categories
-wrap ;
+USING: kernel fry make math sequences ui.text unicode wrap ;
 
 IN: pdf.wrap
 
index cf82e557d1959d9e6cd1bd4d3caf56f4d6970ac9..4b4548e8191bb4e780700d109e59d338f88d6e9a 100644 (file)
@@ -5,7 +5,7 @@ USING: accessors arrays byte-arrays fry hints kernel lists make math
     math.functions math.matrices math.order math.parser math.primes.factors
     math.primes.lists math.primes.miller-rabin math.ranges math.ratios
     math.vectors namespaces parser prettyprint quotations sequences sorting
-    strings unicode.case vocabs vocabs.parser words ;
+    strings unicode vocabs vocabs.parser words ;
 IN: project-euler.common
 
 ! A collection of words used by more than one Project Euler solution
index 1c5c8cd2468d041fdc844c577e1a0cfccd56cc90..e3c553a12733013ac2b470d6f19308607b1f9738 100644 (file)
@@ -3,7 +3,7 @@ fry io.files.temp kernel math namespaces python python.ffi
 python.modules.__builtin__ python.modules.argparse python.modules.datetime
 python.modules.os python.modules.os.path python.modules.sys
 python.modules.time python.objects python.syntax sets splitting tools.test
-unicode.categories ;
+unicode ;
 QUALIFIED-WITH: sequences s
 IN: python.syntax.tests
 
index b6eefd214785192277c39d659655c6e38248bd0a..f5c098c8a821392a0b6f3fe6c9a4f9286e1c36d9 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors combinators constructors io.encodings.utf8
 io.files kernel math math.parser sequences splitting
-unicode.categories ;
+unicode ;
 IN: resolv-conf
 
 TUPLE: network ip netmask ;
index 6802fe0eda7245ae9074f4909aef976e71ab8e7f..33ac216f394e6da68a82240540896e2cd7c9ab96 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors arrays assocs calendar.format combinators
 combinators.short-circuit fry globs http.client kernel make
 math.parser multiline namespaces present regexp
 regexp.combinators sequences sets splitting splitting.monotonic
-unicode.case unicode.categories urls ;
+unicode urls ;
 IN: robots
 
 ! visit-time is GMT, request-rate is pages/second
index 403ef9daf2bad3d6ba8eac1088b22529da270a4d..9ca3c3bd3a2108d53401b8bbad3a2c2f17255ad8 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2012 Anonymous
 ! See http://factorcode.org/license.txt for BSD license.
-USING: continuations kernel io io.streams.string locals unicode.categories ;
+USING: continuations kernel io io.streams.string locals unicode ;
 IN: rosetta-code.odd-word
 
 ! http://rosettacode.org/wiki/Odd_word_problem
index e1067b14d4c261ec83445d925b0a92802e6c4cf8..2886d5190edf6f917fc1cff2958c2db77544c25d 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: grouping http.client io io.encodings.utf8 io.files
 io.files.temp kernel math memoize sequences sequences.extras
-unicode.case urls ;
+unicode urls ;
 IN: rosetta-code.ordered-words
 
 ! http://rosettacode.org/wiki/Ordered_words
index 3bc38ed7a0019b9985ab9da3227a369729b01236..be0378409ee0ac55e8b3af419661a53ce74f668d 100644 (file)
@@ -1,6 +1,6 @@
 ! (c)2010 Joe Groff bsd license
 USING: assocs kernel sequences sequences.inserters tools.test
-unicode.case ;
+unicode ;
 IN: sequences.inserters.tests
 
 { V{ 1 2 "Three" "Four" "Five" } } [
index 8e5771c5f2a90c198f6dd06500a761547d8be61d..89d19e94fa75bf81c92170d3a77c0af117be7ca3 100644 (file)
@@ -45,7 +45,7 @@ CONSTANT: google-slides
         { $code "10 dup 0 < [ 1 - ] [ 1 + ] if ." }
         { $code "10 [ \"Hello Googlers!\" print ] times" }
         { $code
-            "USING: io.encodings.ascii unicode.case ;"
+            "USING: io.encodings.ascii unicode ;"
             "{ \"tomato\" \"orange\" \"banana\" }"
             "\"out.txt\" ascii ["
             "    [ >upper print ] each"
@@ -246,7 +246,7 @@ CONSTANT: google-slides
     }
     { $slide "Unicode strings"
         "Unicode-aware case conversion, char classes, collation, word breaks, and so on..."
-        { $code "USE: unicode.case" "\"ß\" >upper ." }
+        { $code "USE: unicode" "\"ß\" >upper ." }
     }
     { $slide "Unicode strings"
         "All external byte I/O is encoded/decoded"
index ea93245ae21af5ab2ec2589e0604f04a46609efc..407700221900fdcea5684db20416df8c5d55a831 100644 (file)
@@ -3,7 +3,7 @@
 
 USING: arrays assocs combinators.short-circuit command-line
 environment io io.backend io.files io.files.info io.pathnames
-kernel namespaces sequences sets splitting system unicode.case ;
+kernel namespaces sequences sets splitting system unicode ;
 
 IN: tools.which
 
index 2575d4bb614ca8bab98edb1ec1debe2a6afbe12c..e04c7c1a3d2091a32b027c774691b9e0d2dac4d1 100644 (file)
@@ -3,7 +3,7 @@
 
 USING: assocs combinators combinators.short-circuit formatting
 grouping hashtables io kernel make math math.parser sequences
-splitting strings unicode.categories ;
+splitting strings unicode ;
 
 IN: txon
 
index aa7885099d884d8e900c5ca1a6f52a787449f08b..fd53988b939cf63f2e01efeb7ea74ec06de7013e 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors assocs furnace.actions furnace.redirection
 help.html help.topics html.components html.forms http.server
 http.server.dispatchers http.server.static io.directories
 io.files.temp kernel locals namespaces sequences
-unicode.categories urls ;
+unicode urls ;
 IN: webapps.help
 
 TUPLE: help-webapp < dispatcher ;
index 19368e32ab597633b85900aa951655a5dd80ec74..08927bb31d3fe4e8e464771652b00a654cf5a277 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs combinators combinators.short-circuit
 combinators.smart fry io.encodings.utf8 io.files kernel
 math.parser math.statistics memoize namespaces sequences
-splitting unicode.case calendar arrays ;
+splitting unicode calendar arrays ;
 IN: zoneinfo
 
 CONSTANT: zoneinfo-paths
index 9904f857bae9f1610d3b5d11142ffe672c6b0cca..292e5f15b52fb881c92541f85ee8662fdc6688a8 100644 (file)
@@ -1,6 +1,6 @@
 
 USING: kernel assocs locals combinators
-       math math.functions system unicode.case ;
+       math math.functions system unicode ;
 
 IN: dns.cache.nx
 
index 2103c033fea1d1e592c45ef42bec5825b22a135b..e2ce5239d1a27f893c22eebcc23ad0df8496994f 100644 (file)
@@ -1,6 +1,6 @@
 
 USING: kernel sequences assocs sets locals combinators
-       accessors system math math.functions unicode.case prettyprint
+       accessors system math math.functions unicode prettyprint
        combinators.smart dns ;
 
 IN: dns.cache.rr
index 53d118608c95133ce8f55e7fe5f7d1fa70f99c6e..072e6a97089448429dd221ebe522c11a13c2ea12 100644 (file)
@@ -1,6 +1,6 @@
 
 USING: kernel combinators sequences sets math threads namespaces continuations
-       debugger io io.sockets unicode.case accessors destructors
+       debugger io io.sockets unicode accessors destructors
        combinators.short-circuit combinators.smart
        fry arrays
        dns dns.util dns.misc ;
index 62c45882ce4d10a893f5ab209501fbd9eb62845a..d65817ff684c1af3b7e15fcb35a6dfef4a25563c 100644 (file)
@@ -3,7 +3,7 @@
 
 USING: accessors kernel threads combinators concurrency.mailboxes
        sequences strings hashtables splitting fry assocs hashtables colors
-       sorting unicode.collation math.order
+       sorting unicode math.order
        ui ui.gadgets ui.gadgets.panes ui.gadgets.editors
        ui.gadgets.scrollers ui.commands ui.gadgets.frames ui.gestures
        ui.gadgets.tabs ui.gadgets.grids ui.gadgets.packs ui.gadgets.labels
index 92ee7374f9970ca6753fb004bf6951bc7029f820..fd284e45c561ffb882a3a541527f5623dc8a8fad 100644 (file)
@@ -1,7 +1,7 @@
 USING: accessors arrays byte-arrays calendar classes
 classes.tuple classes.tuple.parser combinators db db.queries
 db.tuples db.types kernel math nmake parser sequences strings
-strings.parser unicode.case urls words ;
+strings.parser unicode urls words ;
 IN: persistency
 
 TUPLE: persistent id ;