(.module: [library [lux {"-" [for]} [abstract [equivalence {"+" [Equivalence]}]] [data ["[0]" product] ["[0]" text ["%" format {"+" [format]}]] [collection ["[0]" list ("[1]#[0]" monoid)]]] [macro ["[0]" template]] [world ["[0]" file]]]]) (type: .public Runtime (Record [#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#composite parameters (list path))) runtime))