- <sect2>
- <title>Priorities</title>
- <para>
- The design of &uffi; is dictated by the order of these priorities:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Code using &uffi; must operate correctly on all
- supported implementations.
- </para>
- </listitem>
- <listitem>
- <para>
- Take advantage of implementation-specific optimizations. Ideally,
- there will not a situation where an implementation-specific
- &ffi; will be chosen due to lack of optimizations in &uffi;.
- </para>
- </listitem>
- <listitem>
- <para>Provide a simple interface to developers using
-&uffi;. This priority is quite a bit lower than the above priorities.
-This lower priority is manifest by programmers having to pass types in
-pointer and array dereferencing, needing to use
-<constant>cstring</constant> wrapper functions, and the use of
-ensure-char-character and ensure-char-integer functions. My hope is
-that the developer inconvenience will be outweighed by the generation
-of optimized code that is cross-implementation compatible.
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
+ <sect2>
+ <title>Priorities</title>
+ <para>
+ The design of &uffi; is dictated by the order of these priorities:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Code using &uffi; must operate correctly on all
+ supported implementations.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Take advantage of implementation-specific optimizations. Ideally,
+ there will not a situation where an implementation-specific
+ &ffi; will be chosen due to lack of optimizations in &uffi;.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Provide a simple interface to developers using
+ &uffi;. This priority is quite a bit lower than the above priorities.
+ This lower priority is manifest by programmers having to pass types in
+ pointer and array dereferencing, needing to use
+ <constant>cstring</constant> wrapper functions, and the use of
+ ensure-char-character and ensure-char-integer functions. My hope is
+ that the developer inconvenience will be outweighed by the generation
+ of optimized code that is cross-implementation compatible.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>