X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fintro.sgml;h=d71f92a041525f7a3d64881a9033146970acb00a;hb=8f6c9548ba16d755dadae4f09cf1f0288edebb42;hp=df58ab6683625a9f0144e945f97ab212b7cbd7f5;hpb=76ae1bdbadaaf87603ebbe987e59dd1a105f1872;p=uffi.git diff --git a/doc/intro.sgml b/doc/intro.sgml index df58ab6..d71f92a 100644 --- a/doc/intro.sgml +++ b/doc/intro.sgml @@ -38,25 +38,71 @@ particular C-library. Supported Implementations - The primary tested and supported platforms for &uffi; are: + The primary tested and supported platforms for &uffi; are: - &acl; v6.1 on Redhat Linux 7.2 and Microsoft Windows. - &lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows. - &cmucl; 18c on Redhat Linux 7.2. + &acl; v6.2 on Debian GNU/Linux +FreeBSD 4.5, Solaris v2.8, and Microsoft Windows XP. + &lw; v4.2 on Debian GNU/Linux and Microsoft Windows XP. + &cmucl; 18d on Debian GNU/Linux, FreeBSD 4.5, and Solaris 2.8 + &sbcl; 0.7.8 on Debian GNU/Linux + &scl; 1.1.1 on Debian GNU/Linux + &openmcl; 0.13 on Debian GNU/Linux for PowerPC + + Beta code is included with &uffi; for + + + &openmcl; and &mcl; with MacOSX - 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. + + + +