X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fintro.sgml;h=df58ab6683625a9f0144e945f97ab212b7cbd7f5;hb=76ae1bdbadaaf87603ebbe987e59dd1a105f1872;hp=d432b9f218ff03fa9f237913cd45e99046046c56;hpb=737a3e3a8d18dd80f4cda0d93bc20a3b5677dbee;p=uffi.git diff --git a/doc/intro.sgml b/doc/intro.sgml index d432b9f..df58ab6 100644 --- a/doc/intro.sgml +++ b/doc/intro.sgml @@ -5,8 +5,8 @@ Purpose This reference guide describes - &uffi;, a Lisp package that provides persistent cross-implementation - support of C-language compatible libraries. + &uffi;, a package that provides a cross-implementation + interface from Common Lisp to C-language compatible libraries. @@ -16,10 +16,12 @@ Every Common Lisp implementation has a method for interfacing to C-language compatible - libraries. Unfortunately, these method vary widely amongst - implementations. Currently, to support multiple implementations, - developers must write a different interface library for each Common - Lisp implementation. + libraries. These methods are often termed a + Foreign Function Library Interface + (&ffi;). Unfortunately, these methods vary widely + amongst + implementations, thus preventing the writing of a portable FFI to a +particular C-library. &uffi; gathers a common subset of functionality between Common Lisp @@ -45,20 +47,16 @@ - - Installation - - Installation is fairly simple. The main requirement is that you - have a copy of &defsystem;. You can download the latest version - of &defsystem; from the - CLOCC - CVS tree. After installing &defsystem;, simply - push the - directory containing &uffi; into - mk:*central-registry*. Whenever you -want to load the &uffi; package, use the function - (mk:load-system :uffi). - - + + 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. + + +