Do not internationalize plugin-loader
[projects/chimara/chimara.git] / docs / reference / glk-introduction.sgml
index d7c317b031e1f18116f69acf64fc8e80f4b34f26..aeacbec18fbbe655169157ef1e6caa5bb59bf4cf 100644 (file)
@@ -5,10 +5,11 @@
 <chapter id="chimara-Introduction"><title>Introduction</title>
 <sect1 id="chimara-What-Glk-Is"><title>What Glk Is</title>
 <para>
-Glk is an attempt to define a portable API (programming interface) for applications with text UIs (user interfaces.)
+Glk defines a portable API (programming interface) for applications with text UIs (user interfaces.)
+It was primarily designed for interactive fiction, but it should be suitable for many interactive text utilities, particularly those based on a command line.
 </para>
 <para>
-Rather than go into a detailed explanation of what that means, let me give examples from the world of text adventures. TADS and Infocom's Z-machine have nearly identical interface capabilities; each allows a program to...
+Rather than go into a detailed explanation of what that means, let me give examples from the world of text adventures. TADS, Glulx, and Infocom's Z-machine have nearly identical interface capabilities; each allows a program to...
 <itemizedlist>
        <listitem><para>print an indefinite stream of text into an output buffer, with some style control</para></listitem>
        <listitem><para>input a line of text</para></listitem>
@@ -18,7 +19,7 @@ Rather than go into a detailed explanation of what that means, let me give examp
 and so on. However, the implementation of these capabilities vary widely between platforms and operating systems. Furthermore, this variance is transparent to the program (the adventure game.) The game does not care whether output is displayed via a character terminal emulator or a GUI window; nor whether input uses Mac-style mouse editing or EMACS-style control key editing.
 </para>
 <para>
-On the third hand, the user is likely to care deeply about these interface decisions. This is why there are Mac-native interpreters on Macintoshes, pen-controlled interpreters on Newtons and PalmOS PDAs, and so on &mdash; and (ultimately) why there Macintoshes and Palms and X-windows platforms in the first place.
+On the third hand, the user is likely to care deeply about these interface decisions. This is why there are Mac-native interpreters on Macintoshes, stylus and touch-screen interpreters on mobile devices, and so on &mdash; and (ultimately) why there are Macintoshes and iPads and terminal window apps in the first place.
 </para>
 <para>
 On the <emphasis>fourth</emphasis> hand, TADS and Inform are not alone; there is historically a large number of text adventure systems. Most are obsolete or effectively dead; but it is inevitable that more will appear. Users want each living system ported to all the platforms in use. Users also prefer these ports to use the same interface, as much as possible.
@@ -44,7 +45,7 @@ You can think of Glk as an IF virtual machine, without the virtual machine part.
 An IF virtual machine has been designed specifically to go along with Glk. This VM, called Glulx, uses Glk as its interface; each Glk call corresponds to an input/output opcode of the VM.
 </para>
 <para>
-For more discussion of this approach, see <link linkend="chimara-Glk-and-the-Virtual-Machine">Glk and the Virtual Machine</link>. Glulx is documented at <ulink url="http://www.eblong.com/zarf/glulx/">http://www.eblong.com/zarf/glulx</ulink>.
+For more discussion of this approach, see <link linkend="chimara-Glk-and-the-Virtual-Machine">Glk and the Virtual Machine</link>. Glulx is documented at <ulink url="http://eblong.com/zarf/glulx/">http://eblong.com/zarf/glulx</ulink>.
 </para>
 <para>
 Of course, Glk can be used with other IF systems. The advantage of Glulx is that it provides the game author with direct and complete access to the Glk API. Other IF systems typically have an built-in abstract I/O API, which maps only partially onto Glk. For these systems, Glk tends to be a least-common-denominator interface: highly portable, but not necessarily featureful. (Even if Glk has a feature, it may not be available through the layers of abstraction.)