(.module: [library [lux (#- for) [abstract [equivalence (#+ Equivalence)]] [data ["." product] ["." text ["%" format (#+ format)]] [collection ["." list ("#\." monoid)]]] [macro ["." template]] [world ["." file]]]]) (type: .public Runtime {#program Text #parameters (List Text)}) (def: .public equivalence (Equivalence Runtime) (product.equivalence text.equivalence (list.equivalence text.equivalence))) (template [ ] [(def: .public Runtime {#program #parameters (`` (list (~~ (template.spliced ))))})] [default_java "java" ["-jar"]] [default_js "node" ["--stack_size=8192"]] [default_python "python3" []] [default_lua "lua" []] ... [default_ruby "RUBY_THREAD_VM_STACK_SIZE=15700000 ruby" []] [default_ruby "ruby" []] ) (def: .public (for runtime path) (-> Runtime file.Path Runtime) (revised@ #parameters (function (_ parameters) (list\compose parameters (list path))) runtime))