 ;;; Command strings
 ;;; ===============
 
+(defcustom inf-carp-build-command
+  "(build)\n"
+  "Command to build the project."
+  :type 'string
+  :group 'inf-carp)
+
+(defcustom inf-carp-build-and-run-command
+  "(build) (run)\n"
+  "Command to build and run the project."
+  :type 'string
+  :group 'inf-carp)
+
 (defcustom inf-carp-var-bake-command
   "(bake %s)\n"
   "Command to bake a form."
   :type 'string
   :group 'inf-carp)
 
-(defcustom inf-carp-var-doc-command
-  "(carp.repl/doc %s)\n"
-  "Command to query inferior Carp for a var's documentation."
+(defcustom inf-carp-var-type-command
+  "(type %s)\n"
+  "Command to query inferior Carp for a var's type."
   :type 'string
   :group 'inf-carp)
 
 (defcustom inf-carp-var-source-command
-  "(carp.repl/source %s)\n"
+  "(info %s)\n"
   "Command to query inferior Carp for a var's source."
   :type 'string
   :group 'inf-carp)

    (define-key map "\C-x\C-e" #'inf-carp-eval-last-sexp)
    (define-key map "\C-c\C-l" #'inf-carp-load-file)
    (define-key map "\C-c\C-a" #'inf-carp-show-arglist)
    (define-key map "\C-c\C-v" #'inf-carp-show-var-documentation)
    (define-key map "\C-c\C-s" #'inf-carp-show-var-source)
    (define-key map "\C-c\M-o" #'inf-carp-clear-repl-buffer)
    (easy-menu-define inf-carp-mode-menu map

  "Return the name of the symbol at point, otherwise nil."
  (or (thing-at-point 'symbol) ""))

(defun inf-carp-build ()
  "Send a command to the inferior Carp to build a form.
See variable `inf-carp-var-build-command'."
  (interactive)
  (comint-proc-query (inf-carp-proc) (format inf-carp-build-command)))

(defun inf-carp-build-and-run ()
  "Send a command to the inferior Carp to build a form.
See variable `inf-carp-var-build-command'."
  (interactive)
  (inf-carp-eval-buffer)
  (comint-proc-query (inf-carp-proc) (format inf-carp-build-and-run-command)))

(defun inf-carp-bake (var)
  "Send a command to the inferior Carp to bake a form.
See variable `inf-carp-var-bake-command'."
