<varlistentry>
<term>
+ <literal>:run</literal>
+ <indexterm><primary><literal>:run</literal></primary></indexterm>
+ </term>
+ <listitem>
+ <para>See <literal>:main</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<literal>:set</literal> <optional><replaceable>option</replaceable>...</optional>
<indexterm><primary><literal>:set</literal></primary></indexterm>
</term>
Inside <replaceable>prompt</replaceable>, the sequence
<literal>%s</literal> is replaced by the names of the
modules currently in scope, and <literal>%%</literal> is
- replaced by <literal>%</literal>.</para>
+ replaced by <literal>%</literal>. If <replaceable>prompt</replaceable>
+ starts with " then it is parsed as a Haskell String;
+ otherwise it is treated as a literal string.</para>
</listitem>
</varlistentry>
because this is normally what you want in an interpreter:
output appears as it is generated.
</para>
+ <para>
+ If you want line-buffered behaviour, as in GHC, you can
+ start your program thus:
+ <programlisting>
+ main = do { hSetBuffering stdout LineBuffering; ... }
+ </programlisting>
+ </para>
</listitem>
</varlistentry>
</variablelist>