rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,536 @@
|
|
|
1
|
+
--- Adds to the existing global functions
|
|
2
|
+
module ("base", package.seeall)
|
|
3
|
+
|
|
4
|
+
--- Functional forms of infix operators.
|
|
5
|
+
-- Defined here so that other modules can write to it.
|
|
6
|
+
-- @class table
|
|
7
|
+
-- @name _G.op
|
|
8
|
+
_G.op = {}
|
|
9
|
+
|
|
10
|
+
require "table_ext"
|
|
11
|
+
require "list"
|
|
12
|
+
require "string_ext"
|
|
13
|
+
--require "io_ext" FIXME: allow loops
|
|
14
|
+
require "strbuf"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
--- Require a module with a particular version
|
|
18
|
+
-- @param module module to require
|
|
19
|
+
-- @param min lowest acceptable version (default: any)
|
|
20
|
+
-- @param too_big lowest version that is too big (default: none)
|
|
21
|
+
-- @pattern pattern to match version in <code>module.version</code> or
|
|
22
|
+
-- <code>module.VERSION</code> (default: <code>".*[%.%d]+"</code>
|
|
23
|
+
function _G.require_version (module, min, too_big, pattern)
|
|
24
|
+
local function version_to_list (v)
|
|
25
|
+
return list.new (string.split (v, "%."))
|
|
26
|
+
end
|
|
27
|
+
local function module_version (module, pattern)
|
|
28
|
+
return version_to_list (string.match (module.version or module._VERSION,
|
|
29
|
+
pattern or ".*[%.%d]+"))
|
|
30
|
+
end
|
|
31
|
+
local m = require (module)
|
|
32
|
+
if min then
|
|
33
|
+
assert (module_version (m, pattern) >= version_to_list (min))
|
|
34
|
+
end
|
|
35
|
+
if too_big then
|
|
36
|
+
assert (module_version (m, pattern) < version_to_list (too_big))
|
|
37
|
+
end
|
|
38
|
+
return m
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
--- Return given metamethod, if any, or nil.
|
|
42
|
+
-- @param x object to get metamethod of
|
|
43
|
+
-- @param n name of metamethod to get
|
|
44
|
+
-- @return metamethod function or nil if no metamethod or not a
|
|
45
|
+
-- function
|
|
46
|
+
function _G.metamethod (x, n)
|
|
47
|
+
local _, m = pcall (function (x)
|
|
48
|
+
return getmetatable (x)[n]
|
|
49
|
+
end,
|
|
50
|
+
x)
|
|
51
|
+
if type (m) ~= "function" then
|
|
52
|
+
m = nil
|
|
53
|
+
end
|
|
54
|
+
return m
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
--- Turn tables into strings with recursion detection.
|
|
58
|
+
-- N.B. Functions calling render should not recurse, or recursion
|
|
59
|
+
-- detection will not work.
|
|
60
|
+
-- @see render_OpenRenderer, render_CloseRenderer
|
|
61
|
+
-- @see render_ElementRenderer, render_PairRenderer
|
|
62
|
+
-- @see render_SeparatorRenderer
|
|
63
|
+
-- @param x object to convert to string
|
|
64
|
+
-- @param open open table renderer
|
|
65
|
+
-- @param close close table renderer
|
|
66
|
+
-- @param elem element renderer
|
|
67
|
+
-- @param pair pair renderer
|
|
68
|
+
-- @param sep separator renderer
|
|
69
|
+
-- @return string representation
|
|
70
|
+
function _G.render (x, open, close, elem, pair, sep, roots)
|
|
71
|
+
local function stop_roots (x)
|
|
72
|
+
return roots[x] or render (x, open, close, elem, pair, sep, table.clone (roots))
|
|
73
|
+
end
|
|
74
|
+
roots = roots or {}
|
|
75
|
+
if type (x) ~= "table" or metamethod (x, "__tostring") then
|
|
76
|
+
return elem (x)
|
|
77
|
+
else
|
|
78
|
+
local s = strbuf.new ()
|
|
79
|
+
s = s .. open (x)
|
|
80
|
+
roots[x] = elem (x)
|
|
81
|
+
local i, v = nil, nil
|
|
82
|
+
for j, w in pairs (x) do
|
|
83
|
+
s = s .. sep (x, i, v, j, w) .. pair (x, j, w, stop_roots (j), stop_roots (w))
|
|
84
|
+
i, v = j, w
|
|
85
|
+
end
|
|
86
|
+
s = s .. sep(x, i, v, nil, nil) .. close (x)
|
|
87
|
+
return s:tostring ()
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
-- @class function
|
|
93
|
+
-- @name render_OpenRenderer
|
|
94
|
+
-- @param t table
|
|
95
|
+
-- @return open table string
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
-- @class function
|
|
99
|
+
-- @name render_CloseRenderer
|
|
100
|
+
-- @param t table
|
|
101
|
+
-- @return close table string
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
-- @class function
|
|
105
|
+
-- @name render_ElementRenderer
|
|
106
|
+
-- @param e element
|
|
107
|
+
-- @return element string
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
-- @class function
|
|
111
|
+
-- @name render_PairRenderer
|
|
112
|
+
-- N.B. the function should not try to render i and v, or treat
|
|
113
|
+
-- them recursively.
|
|
114
|
+
-- @param t table
|
|
115
|
+
-- @param i index
|
|
116
|
+
-- @param v value
|
|
117
|
+
-- @param is index string
|
|
118
|
+
-- @param vs value string
|
|
119
|
+
-- @return element string
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
-- @class function
|
|
123
|
+
-- @name render_SeparatorRenderer
|
|
124
|
+
-- @param t table
|
|
125
|
+
-- @param i preceding index (nil on first call)
|
|
126
|
+
-- @param v preceding value (nil on first call)
|
|
127
|
+
-- @param j following index (nil on last call)
|
|
128
|
+
-- @param w following value (nil on last call)
|
|
129
|
+
-- @return separator string
|
|
130
|
+
|
|
131
|
+
--- Extend <code>tostring</code> to work better on tables.
|
|
132
|
+
-- @class function
|
|
133
|
+
-- @name _G.tostring
|
|
134
|
+
-- @param x object to convert to string
|
|
135
|
+
-- @return string representation
|
|
136
|
+
_G._tostring = tostring -- make original tostring available
|
|
137
|
+
local _tostring = tostring
|
|
138
|
+
function _G.tostring (x)
|
|
139
|
+
return render (x,
|
|
140
|
+
function () return "{" end,
|
|
141
|
+
function () return "}" end,
|
|
142
|
+
_tostring,
|
|
143
|
+
function (t, _, _, i, v)
|
|
144
|
+
return i .. "=" .. v
|
|
145
|
+
end,
|
|
146
|
+
function (_, i, _, j)
|
|
147
|
+
if i and j then
|
|
148
|
+
return ","
|
|
149
|
+
end
|
|
150
|
+
return ""
|
|
151
|
+
end)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
--- Pretty-print a table.
|
|
155
|
+
-- @param t table to print
|
|
156
|
+
-- @param indent indent between levels ["\t"]
|
|
157
|
+
-- @param spacing space before every line
|
|
158
|
+
-- @return pretty-printed string
|
|
159
|
+
function _G.prettytostring (t, indent, spacing)
|
|
160
|
+
indent = indent or "\t"
|
|
161
|
+
spacing = spacing or ""
|
|
162
|
+
return render (t,
|
|
163
|
+
function ()
|
|
164
|
+
local s = spacing .. "{"
|
|
165
|
+
spacing = spacing .. indent
|
|
166
|
+
return s
|
|
167
|
+
end,
|
|
168
|
+
function ()
|
|
169
|
+
spacing = string.gsub (spacing, indent .. "$", "")
|
|
170
|
+
return spacing .. "}"
|
|
171
|
+
end,
|
|
172
|
+
function (x)
|
|
173
|
+
if type (x) == "string" then
|
|
174
|
+
return string.format ("%q", x)
|
|
175
|
+
else
|
|
176
|
+
return tostring (x)
|
|
177
|
+
end
|
|
178
|
+
end,
|
|
179
|
+
function (x, i, v, is, vs)
|
|
180
|
+
local s = spacing .. "["
|
|
181
|
+
if type (i) == "table" then
|
|
182
|
+
s = s .. "\n"
|
|
183
|
+
end
|
|
184
|
+
s = s .. is
|
|
185
|
+
if type (i) == "table" then
|
|
186
|
+
s = s .. "\n"
|
|
187
|
+
end
|
|
188
|
+
s = s .. "] ="
|
|
189
|
+
if type (v) == "table" then
|
|
190
|
+
s = s .. "\n"
|
|
191
|
+
else
|
|
192
|
+
s = s .. " "
|
|
193
|
+
end
|
|
194
|
+
s = s .. vs
|
|
195
|
+
return s
|
|
196
|
+
end,
|
|
197
|
+
function (_, i)
|
|
198
|
+
local s = "\n"
|
|
199
|
+
if i then
|
|
200
|
+
s = "," .. s
|
|
201
|
+
end
|
|
202
|
+
return s
|
|
203
|
+
end)
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
--- Turn an object into a table according to __totable metamethod.
|
|
207
|
+
-- @param x object to turn into a table
|
|
208
|
+
-- @return table or nil
|
|
209
|
+
function _G.totable (x)
|
|
210
|
+
local m = metamethod (x, "__totable")
|
|
211
|
+
if m then
|
|
212
|
+
return m (x)
|
|
213
|
+
elseif type (x) == "table" then
|
|
214
|
+
return x
|
|
215
|
+
else
|
|
216
|
+
return nil
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
--- Convert a value to a string.
|
|
221
|
+
-- The string can be passed to dostring to retrieve the value.
|
|
222
|
+
-- <br>TODO: Make it work for recursive tables.
|
|
223
|
+
-- @param x object to pickle
|
|
224
|
+
-- @return string such that eval (s) is the same value as x
|
|
225
|
+
function _G.pickle (x)
|
|
226
|
+
if type (x) == "string" then
|
|
227
|
+
return string.format ("%q", x)
|
|
228
|
+
elseif type (x) == "number" or type (x) == "boolean" or
|
|
229
|
+
type (x) == "nil" then
|
|
230
|
+
return tostring (x)
|
|
231
|
+
else
|
|
232
|
+
x = totable (x) or x
|
|
233
|
+
if type (x) == "table" then
|
|
234
|
+
local s, sep = "{", ""
|
|
235
|
+
for i, v in pairs (x) do
|
|
236
|
+
s = s .. sep .. "[" .. pickle (i) .. "]=" .. pickle (v)
|
|
237
|
+
sep = ","
|
|
238
|
+
end
|
|
239
|
+
s = s .. "}"
|
|
240
|
+
return s
|
|
241
|
+
else
|
|
242
|
+
die ("cannot pickle " .. tostring (x))
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
--- Identity function.
|
|
248
|
+
-- @param ...
|
|
249
|
+
-- @return the arguments passed to the function
|
|
250
|
+
function _G.id (...)
|
|
251
|
+
return ...
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
--- Turn a tuple into a list.
|
|
255
|
+
-- @param ... tuple
|
|
256
|
+
-- @return list
|
|
257
|
+
function _G.pack (...)
|
|
258
|
+
return {...}
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
--- Partially apply a function.
|
|
262
|
+
-- @param f function to apply partially
|
|
263
|
+
-- @param ... arguments to bind
|
|
264
|
+
-- @return function with ai already bound
|
|
265
|
+
function _G.bind (f, ...)
|
|
266
|
+
local fix = {...}
|
|
267
|
+
return function (...)
|
|
268
|
+
return f (unpack (list.concat (fix, {...})))
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
--- Curry a function.
|
|
273
|
+
-- @param f function to curry
|
|
274
|
+
-- @param n number of arguments
|
|
275
|
+
-- @return curried version of f
|
|
276
|
+
function _G.curry (f, n)
|
|
277
|
+
if n <= 1 then
|
|
278
|
+
return f
|
|
279
|
+
else
|
|
280
|
+
return function (x)
|
|
281
|
+
return curry (bind (f, x), n - 1)
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
--- Compose functions.
|
|
287
|
+
-- @param f1...fn functions to compose
|
|
288
|
+
-- @return composition of f1 ... fn
|
|
289
|
+
function _G.compose (...)
|
|
290
|
+
local arg = {...}
|
|
291
|
+
local fns, n = arg, #arg
|
|
292
|
+
return function (...)
|
|
293
|
+
local arg = {...}
|
|
294
|
+
for i = n, 1, -1 do
|
|
295
|
+
arg = {fns[i] (unpack (arg))}
|
|
296
|
+
end
|
|
297
|
+
return unpack (arg)
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
--- Memoize a function, by wrapping it in a functable.
|
|
302
|
+
-- @param fn function that returns a single result
|
|
303
|
+
-- @return memoized function
|
|
304
|
+
function _G.memoize (fn)
|
|
305
|
+
return setmetatable ({}, {
|
|
306
|
+
__call = function (self, ...)
|
|
307
|
+
local k = tostring ({...})
|
|
308
|
+
local v = self[k]
|
|
309
|
+
if v == nil then
|
|
310
|
+
v = fn (...)
|
|
311
|
+
self[k] = v
|
|
312
|
+
end
|
|
313
|
+
return v
|
|
314
|
+
end
|
|
315
|
+
})
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
--- Evaluate a string.
|
|
319
|
+
-- @param s string
|
|
320
|
+
-- @return value of string
|
|
321
|
+
function _G.eval (s)
|
|
322
|
+
return loadstring ("return " .. s)()
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
--- An iterator like ipairs, but in reverse.
|
|
326
|
+
-- @param t table to iterate over
|
|
327
|
+
-- @return iterator function
|
|
328
|
+
-- @return the table, as above
|
|
329
|
+
-- @return #t + 1
|
|
330
|
+
function _G.ripairs (t)
|
|
331
|
+
return function (t, n)
|
|
332
|
+
n = n - 1
|
|
333
|
+
if n > 0 then
|
|
334
|
+
return n, t[n]
|
|
335
|
+
end
|
|
336
|
+
end,
|
|
337
|
+
t, #t + 1
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
-- @class function
|
|
342
|
+
-- @name tree_Iterator
|
|
343
|
+
-- @param n current node
|
|
344
|
+
-- @return type ("leaf", "branch" (pre-order) or "join" (post-order))
|
|
345
|
+
-- @return path to node ({i1...ik})
|
|
346
|
+
-- @return node
|
|
347
|
+
local function _nodes (it, tr)
|
|
348
|
+
local p = {}
|
|
349
|
+
local function visit (n)
|
|
350
|
+
if type (n) == "table" then
|
|
351
|
+
coroutine.yield ("branch", p, n)
|
|
352
|
+
for i, v in it (n) do
|
|
353
|
+
table.insert (p, i)
|
|
354
|
+
visit (v)
|
|
355
|
+
table.remove (p)
|
|
356
|
+
end
|
|
357
|
+
coroutine.yield ("join", p, n)
|
|
358
|
+
else
|
|
359
|
+
coroutine.yield ("leaf", p, n)
|
|
360
|
+
end
|
|
361
|
+
end
|
|
362
|
+
return coroutine.wrap (visit), tr
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
--- Tree iterator.
|
|
366
|
+
-- @see tree_Iterator
|
|
367
|
+
-- @param tr tree to iterate over
|
|
368
|
+
-- @return iterator function
|
|
369
|
+
-- @return the tree, as above
|
|
370
|
+
function _G.nodes (tr)
|
|
371
|
+
return _nodes (pairs, tr)
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
--- Tree iterator over numbered nodes, in order.
|
|
375
|
+
-- @see tree_Iterator
|
|
376
|
+
-- @param tr tree to iterate over
|
|
377
|
+
-- @return iterator function
|
|
378
|
+
-- @return the tree, as above
|
|
379
|
+
function _G.inodes (tr)
|
|
380
|
+
return _nodes (ipairs, tr)
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
local function _leaves (it, tr)
|
|
384
|
+
local function visit (n)
|
|
385
|
+
if type (n) == "table" then
|
|
386
|
+
for _, v in it (n) do
|
|
387
|
+
visit (v)
|
|
388
|
+
end
|
|
389
|
+
else
|
|
390
|
+
coroutine.yield (n)
|
|
391
|
+
end
|
|
392
|
+
end
|
|
393
|
+
return coroutine.wrap (visit), tr
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
--- Tree iterator which returns just numbered leaves, in order.
|
|
397
|
+
-- @param tr tree to iterate over
|
|
398
|
+
-- @return iterator function
|
|
399
|
+
-- @return the tree, as above
|
|
400
|
+
function _G.ileaves (tr)
|
|
401
|
+
return _leaves (ipairs, tr)
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
--- Tree iterator which returns just leaves.
|
|
405
|
+
-- @param tr tree to iterate over
|
|
406
|
+
-- @return iterator function
|
|
407
|
+
-- @return the tree, as above
|
|
408
|
+
function _G.leaves (tr)
|
|
409
|
+
return _leaves (pairs, tr)
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
--- Collect the results of an iterator.
|
|
413
|
+
-- @param i iterator
|
|
414
|
+
-- @return results of running the iterator on its arguments
|
|
415
|
+
function _G.collect (i, ...)
|
|
416
|
+
local t = {}
|
|
417
|
+
for e in i (...) do
|
|
418
|
+
table.insert (t, e)
|
|
419
|
+
end
|
|
420
|
+
return t
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
--- Map a function over an iterator.
|
|
424
|
+
-- @param f function
|
|
425
|
+
-- @param i iterator
|
|
426
|
+
-- @return result table
|
|
427
|
+
function _G.map (f, i, ...)
|
|
428
|
+
local t = {}
|
|
429
|
+
for e in i (...) do
|
|
430
|
+
local r = f (e)
|
|
431
|
+
if r then
|
|
432
|
+
table.insert (t, r)
|
|
433
|
+
end
|
|
434
|
+
end
|
|
435
|
+
return t
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
--- Filter an iterator with a predicate.
|
|
439
|
+
-- @param p predicate
|
|
440
|
+
-- @param i iterator
|
|
441
|
+
-- @return result table containing elements e for which p (e)
|
|
442
|
+
function _G.filter (p, i, ...)
|
|
443
|
+
local t = {}
|
|
444
|
+
for e in i (...) do
|
|
445
|
+
if p (e) then
|
|
446
|
+
table.insert (t, e)
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
return t
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
--- Fold a binary function into an iterator.
|
|
453
|
+
-- @param f function
|
|
454
|
+
-- @param d initial first argument
|
|
455
|
+
-- @param i iterator
|
|
456
|
+
-- @return result
|
|
457
|
+
function _G.fold (f, d, i, ...)
|
|
458
|
+
local r = d
|
|
459
|
+
for e in i (...) do
|
|
460
|
+
r = f (r, e)
|
|
461
|
+
end
|
|
462
|
+
return r
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
--- Extend to allow formatted arguments.
|
|
466
|
+
-- @param v value to assert
|
|
467
|
+
-- @param f format
|
|
468
|
+
-- @param ... arguments to format
|
|
469
|
+
-- @return value
|
|
470
|
+
function _G.assert (v, f, ...)
|
|
471
|
+
if not v then
|
|
472
|
+
if f == nil then
|
|
473
|
+
f = ""
|
|
474
|
+
end
|
|
475
|
+
error (string.format (f, ...))
|
|
476
|
+
end
|
|
477
|
+
return v
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
--- Give warning with the name of program and file (if any).
|
|
481
|
+
-- @param ... arguments for format
|
|
482
|
+
function _G.warn (...)
|
|
483
|
+
if prog.name then
|
|
484
|
+
io.stderr:write (prog.name .. ":")
|
|
485
|
+
end
|
|
486
|
+
if prog.file then
|
|
487
|
+
io.stderr:write (prog.file .. ":")
|
|
488
|
+
end
|
|
489
|
+
if prog.line then
|
|
490
|
+
io.stderr:write (tostring (prog.line) .. ":")
|
|
491
|
+
end
|
|
492
|
+
if prog.name or prog.file or prog.line then
|
|
493
|
+
io.stderr:write (" ")
|
|
494
|
+
end
|
|
495
|
+
io.writelines (io.stderr, string.format (...))
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
--- Die with error.
|
|
499
|
+
-- @param ... arguments for format
|
|
500
|
+
function _G.die (...)
|
|
501
|
+
warn (unpack (arg))
|
|
502
|
+
error ()
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
-- Function forms of operators.
|
|
506
|
+
-- FIXME: Make these visible in LuaDoc (also list.concat in list)
|
|
507
|
+
_G.op["[]"] = function (t, s)
|
|
508
|
+
return t[s]
|
|
509
|
+
end
|
|
510
|
+
_G.op["+"] = function (a, b)
|
|
511
|
+
return a + b
|
|
512
|
+
end
|
|
513
|
+
_G.op["-"] = function (a, b)
|
|
514
|
+
return a - b
|
|
515
|
+
end
|
|
516
|
+
_G.op["*"] = function (a, b)
|
|
517
|
+
return a * b
|
|
518
|
+
end
|
|
519
|
+
_G.op["/"] = function (a, b)
|
|
520
|
+
return a / b
|
|
521
|
+
end
|
|
522
|
+
_G.op["and"] = function (a, b)
|
|
523
|
+
return a and b
|
|
524
|
+
end
|
|
525
|
+
_G.op["or"] = function (a, b)
|
|
526
|
+
return a or b
|
|
527
|
+
end
|
|
528
|
+
_G.op["not"] = function (a)
|
|
529
|
+
return not a
|
|
530
|
+
end
|
|
531
|
+
_G.op["=="] = function (a, b)
|
|
532
|
+
return a == b
|
|
533
|
+
end
|
|
534
|
+
_G.op["~="] = function (a, b)
|
|
535
|
+
return a ~= b
|
|
536
|
+
end
|