Slava,
I've been considering how libs/vocabs would handle a hierarchy of vocabularies
like core/. I like how vocabularies such as arrays and hashtables
are "top-level" vocabularies; you can use them with a simple
USE: arrays
However, with libs/vocabs and a vocabulary-root of core/, it would be
USE: collections.arrays
A solution is to define core/collections as a vocabulary-root. Other deep
places inside core/ could also be vocabulary-roots if needed. The reason to
promote core/collections to a root is because those vocabularies are so
commonly used.
I then think libs/collections should be another vocabulary-root. In there
would be all the contrib vocabularies which extend the core. Vocabularies
like arrays+ hashtables+ etc.
USING: arrays arrays+ ; ! Use the core arrays and the extra arrays
Places in the filesystem tree where you expect an explosion of vocabularies
should go into a non-top-level vocabulary. I think gadgets are such a thing.
While core may only ever define a handful, gadgets are something where people
would eventually get really wild and creative, so you'd want to allow for
growth. So core/ui might be a root and vocabularies would be gadgets.buttons
gadgets.labels, etc.
The default root search order would look something like this:
{ "core" "core/collections" ... "libs" "libs/collections" "apps" "apps/games" }
Ed
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk