anchor.diff:                 :default '()
                  :action  arg/add-action
                  :narg    "*"))
  -    :pred  (lambda (args) (.> args :run))
  +    :pred  (lambda (args) (or (.> args :run) (.> args :profile)))
       :run   run-lua))
  
positive.code: (import string)
  (import lua/basic (_G load))
  (import lua/debug debug)
  (import extra/argparse arg)
  
  (import urn/backend/lua lua)
  (import urn/backend/writer w)
  (import urn/logger logger)
  (import urn/traceback traceback)
  
  (defun run-lua (compiler args)
    (when (nil? (.> args :input))
  
negative.code:       [(?fun)
         (.<! _G :arg (.> args :script-args))
         (.<! _G :arg 0 (car (.> args :input)))
         (with (exec (lambda ()
                       (case (list (xpcall fun debug/traceback))
                         [(true . ?res)]
                         [(false ?msg)
                          (logger/put-error! logger "Execution failed.")
                          (print! (traceback/remap-traceback (struct name lines) msg))
                          (exit! 1)])))
           (if (.> args :profile)
             (run-with-profiler exec (struct name lines))
             (exec)))])))
  
  (define task
    (struct
      :name  "run"
      :setup (lambda (spec)
               (arg/add-argument! spec '("--run" "-r")
                 :help "Run the compiled code.")
               (arg/add-argument! spec '("--profile" "-p")
                 :help "Run the compiled code with the profiler.")
               (arg/add-argument! spec '("--")
                 :name    "script-args"
                 :help    "Arguments to pass to the compiled script."
  