:browse [*]<module> display the names defined by <module>
:cd <dir> change directory to <dir>
:def <cmd> <expr> define a command :<cmd>
+ :edit <file> edit file
+ :edit edit last module
:help, :? display this list of commands
:info [<name> ...] display information about the given names
:load <filename> ... load module(s) and their dependents
:set args <arg> ... set the arguments returned by System.getArgs
:set prog <progname> set the value returned by System.getProgName
:set prompt <prompt> set the prompt used in GHCi
+ :set editor <cmd> set the command used for :edit
:show modules show the currently loaded modules
:show bindings show the current bindings made at the prompt
:ctags [<file>] create tags file for Vi (default: "tags")
- :etags [<file>] create tags file for Emacs (defauilt: "TAGS")
+ :etags [<file>] create tags file for Emacs (default: "TAGS")
:type <expr> show the type of <expr>
:kind <type> show the kind of <type>
:undef <cmd> undefine user-defined command :<cmd>
module if <replaceable>file</replaceable> is omitted. The
editor to invoke is taken from the <literal>EDITOR</literal>
environment variable, or a default editor on your system if
- <literal>EDITOR</literal> is not set.</para>
+ <literal>EDITOR</literal> is not set. You can change the
+ editor using <literal>:set editor</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
+ <literal>:set</literal> <literal>editor</literal> <replaceable>cmd</replaceable>
+ </term>
+ <listitem>
+ <para>Sets the command used by <literal>:edit</literal> to
+ <replaceable>cmd</replaceable>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<literal>:set</literal> <literal>prog</literal> <replaceable>prog</replaceable>
<indexterm><primary><literal>:set prog</literal></primary></indexterm>
</term>
</sect1>
- <sect1>
+ <sect1 id="ghci-faq">
<title>FAQ and Things To Watch Out For</title>
<variablelist>
<term>Concurrent threads don't carry on running when GHCi is
waiting for input.</term>
<listitem>
- <para>No, they don't. This is because the Haskell binding
- to the GNU readline library doesn't support reading from the
- terminal in a non-blocking way, which is required to work
- properly with GHC's concurrency model.</para>
+ <para>This should work, as long as your GHCi was built with
+ the <option>-threaded</option> switch, which is the default.
+ Consult whoever supplied your GHCi installation.</para>
</listitem>
</varlistentry>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>I can't use Control-C to interrupt computations in
+ GHCi on Windows.</term>
+ <listitem>
+ <para>See <xref linkend="ghci-windows">.</xref></para>
+ </listitem>
+ </varlistentry>
</variablelist>
</sect1>