Io-2007-10-10.tar.gz addons のロードメモ
libs/iovm/source/IoVMInit.c (.c だけど実際は Io でほとんど書いてある) に書いてあるけど、
searchPaths := list("io/addons", System installPrefix .. "/lib/io/addons")"から searchPaths/#{addon-name}/build.io があるやつをよむみたい
Io> AddonLoader addons map(name)
==> list("AVCodec", "AppleExtras", "AsyncRequest", "BigNum", "Blowfish", "Box", "CFFI", "CGI", "Cairo", "ContinuedFraction", "Contracts", "Curses", "DBI", "Flux", "Fnmatch", "Font", "GLFW", "Image", "LZO", "LibSndFile", "Libxml2", "Loki", "MD5", "MySQL", "NotificationCenter", "ODE", "ObjcBridge", "OpenGL", "PortAudio", "PostgreSQL", "Postgres", "Python", "QDBM", "Random", "Range", "Rational", "Regex", "SGML", "SHA1", "SQLite", "SQLite3", "SampleRateConverter", "SkipDB", "Socket", "SoundTouch", "SqlDatabase", "Syslog", "SystemCall", "TagDB", "TagLib", "Thread", "UUID", "User", "Zlib")使えるかどうかはロードしてみるまでわからない。トップレベルで参照しようとするとロードされる。
なので、
mkdir -p io/addons/FooBar touch io/addons/FooBar/build.io
とかやって FooBar を評価すると
Io> FooBar Exception: unable to read file 'io/addons/FooBar/depends' --------- contents AddonLoader.io 27 Object FooBar Command Line 1
とかでて、なんかやってるのがわかる。