diff --git a/extra/visitor/authors.txt b/extra/visitor/authors.txt
deleted file mode 100644
index f990dd0ed2..0000000000
--- a/extra/visitor/authors.txt
+++ /dev/null
@@ -1 +0,0 @@
-Daniel Ehrenberg
diff --git a/extra/visitor/summary.txt b/extra/visitor/summary.txt
deleted file mode 100644
index 3093ae9a9c..0000000000
--- a/extra/visitor/summary.txt
+++ /dev/null
@@ -1 +0,0 @@
-Double-dispatch generic words
diff --git a/extra/visitor/tags.txt b/extra/visitor/tags.txt
deleted file mode 100644
index f4274299b1..0000000000
--- a/extra/visitor/tags.txt
+++ /dev/null
@@ -1 +0,0 @@
-extensions
diff --git a/extra/visitor/visitor-tests.factor b/extra/visitor/visitor-tests.factor
deleted file mode 100644
index 8248affaf7..0000000000
--- a/extra/visitor/visitor-tests.factor
+++ /dev/null
@@ -1,18 +0,0 @@
-USING: visitor math sequences math.parser strings tools.test kernel ;
-
-VISITOR: ++ ( object object -- object )
-! acts like +, coercing string arguments to a number, unless both arguments are strings, in which case it appends them
-
-V: number string ++
-    string>number + ;
-V: string number ++
-    >r string>number r> + ;
-V: number number ++
-    + ;
-V: string string ++
-    append ;
-
-[ 3 ] [ 1 2 ++ ] unit-test
-[ 3 ] [ "1" 2 ++ ] unit-test
-[ 3 ] [ 1 "2" ++ ] unit-test
-[ "12" ] [ "1" "2" ++ ] unit-test
diff --git a/extra/visitor/visitor.factor b/extra/visitor/visitor.factor
deleted file mode 100644
index 10c9fb8717..0000000000
--- a/extra/visitor/visitor.factor
+++ /dev/null
@@ -1,63 +0,0 @@
-USING: kernel generic.standard syntax words parser assocs
-generic quotations sequences effects arrays classes definitions
-prettyprint sorting prettyprint.backend shuffle ;
-IN: visitor
-
-: define-visitor ( word -- )
-    dup dup reset-word define-simple-generic
-    dup H{ } clone "visitor-methods" set-word-prop
-    H{ } clone "visitors" set-word-prop ; 
-
-: VISITOR:
-    CREATE define-visitor ; parsing
-
-: record-visitor ( top-class generic method-word -- )
-    swap "visitors" word-prop swapd set-at ;
-
-: define-1generic ( word -- )
-    1 <standard-combination> define-generic ;
-
-: copy-effect ( from to -- )
-    swap stack-effect "declared-effect" set-word-prop ;
-
-: new-vmethod ( method bottom-class top-class generic -- )
-    gensym dup define-1generic
-    2dup copy-effect
-    3dup 1quotation -rot define-method
-    [ record-visitor ] keep
-    define-method ;
-
-: define-visitor-method ( method bottom-class top-class generic -- )
-    4dup >r 2array r> "visitor-methods" word-prop set-at
-    2dup "visitors" word-prop at
-    [ nip define-method ] [ new-vmethod ] ?if ;
-
-: V:
-    ! syntax: V: bottom-class top-class generic body... ;
-    f set-word scan-word scan-word scan-word
-    parse-definition -roll define-visitor-method ; parsing
-
-! see instance:
-! see must be redone because "methods" doesn't show methods
-
-PREDICATE: standard-generic visitor "visitors" word-prop ;
-PREDICATE: array triple length 3 = ;
-PREDICATE: triple visitor-spec
-    first3 visitor? >r [ class? ] both? r> and ;
-
-M: visitor-spec definer drop \ V: \ ; ;
-M: visitor definer drop \ VISITOR: f ;
-
-M: visitor-spec synopsis*
-    ! same as method-spec#synopsis*
-    dup definer drop pprint-word
-    [ pprint-word ] each ;
-
-M: visitor-spec definition
-    first3 >r 2array r> "visitor-methods" word-prop at ;
-
-M: visitor see
-    dup (see)
-    dup see-class
-    dup "visitor-methods" word-prop keys natural-sort swap
-    [ >r first2 r> 3array ] curry map see-all ;