[ V{ } clone definition-observers set-global ]
"compiler.units" add-init-hook
+! This goes here because vocabs cannot depend on init
+[ V{ } clone vocab-observers set-global ]
+"vocabs" add-init-hook
+
: add-definition-observer ( obj -- )
definition-observers get push ;
! See http://factorcode.org/license.txt for BSD license.
USING: arrays vectors kernel kernel.private sequences
namespaces make math splitting sorting quotations assocs
-combinators combinators.private accessors words init ;
+combinators combinators.private accessors words ;
IN: continuations
SYMBOL: error
"kernel-error" 6 setenv ;
PRIVATE>
-
-[ init-catchstack init-error-handler ] "continuations" add-init-hook
\ No newline at end of file
! Copyright (C) 2004, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel kernel.private sequences assocs namespaces namespaces.private ;
+USING: continuations continuations.private kernel
+kernel.private sequences assocs namespaces namespaces.private
+continuations continuations.private ;
IN: init
SYMBOL: init-hooks
dup init-hooks get at [ over call( -- ) ] unless
init-hooks get set-at ;
-: boot ( -- ) init-namespaces ;
+: boot ( -- ) init-namespaces init-catchstack init-error-handler ;
: boot-quot ( -- quot ) 20 getenv ;
! Copyright (C) 2007, 2009 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs strings kernel sorting namespaces
-sequences definitions init ;
+sequences definitions ;
IN: vocabs
SYMBOL: dictionary
GENERIC: vocabs-changed ( obj -- )
-[ V{ } clone vocab-observers set-global ] "vocabs" add-init-hook
-
: add-vocab-observer ( obj -- )
vocab-observers get push ;