X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fintro.sgml;h=5f349bfe3a5121447673c7aceb852a4c10566aac;hb=da2f0124bc56de1ed19953c4d59739f3783c3176;hp=df58ab6683625a9f0144e945f97ab212b7cbd7f5;hpb=76ae1bdbadaaf87603ebbe987e59dd1a105f1872;p=uffi.git
diff --git a/doc/intro.sgml b/doc/intro.sgml
index df58ab6..5f349bf 100644
--- a/doc/intro.sgml
+++ b/doc/intro.sgml
@@ -41,22 +41,59 @@ particular C-library.
The primary tested and supported platforms for &uffi; are:
- &acl; v6.1 on Redhat Linux 7.2 and Microsoft Windows.
+ &acl; v6.1 on Redhat Linux 7.2, FreeBSD 4.5, and Microsoft Windows.
&lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows.
- &cmucl; 18c on Redhat Linux 7.2.
+ &cmucl; 18c on Redhat Linux 7.2, FreeBSD 4.5, and Solaris 2.8
- Design Overview
-
- &uffi; was designed as a cross-implementation compatible
- Foreign Function Interface. Necessarily,
- only a common subset of functionality can be
- provided. Likewise, not every optimization for that a specific
- implementation provides can be supported. Wherever possible,
- though, implementation-specific optimizations are invoked.
-
+ Design
+
+ Overview
+
+ &uffi; was designed as a cross-implementation
+ compatible Foreign Function Interface.
+ Necessarily,
+ only a common subset of functionality can be
+ provided. Likewise, not every optimization for that a specific
+ implementation provides can be supported. Wherever possible,
+ though, implementation-specific optimizations are invoked.
+
+
+
+
+ Priorities
+
+ The design of &uffi; is dictated by the order of these priorities:
+
+
+
+
+ Code using &uffi; must operate correctly on all
+ supported implementations.
+
+
+
+
+ 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;.
+
+
+
+ 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
+cstring 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.
+
+
+
+