From: Stefan Behnel Date: Sat, 12 Mar 2011 19:50:18 +0000 (+0100) Subject: minor fixes in related work section X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cbac7ae51a139b62d27dd9a00f8bd2f6483ed4b6;p=cython.git minor fixes in related work section --- diff --git a/src/tutorial/related_work.rst b/src/tutorial/related_work.rst index 6234e8ae..cd1d584a 100644 --- a/src/tutorial/related_work.rst +++ b/src/tutorial/related_work.rst @@ -1,13 +1,13 @@ Related work ============ -Pyrex [Pyrex]_ is the compiler project that Cython was originally based on. -Many features and the major design decisions of the Cython language -were developed by Greg Ewing as part of that project. Today, Cython -supersedes the capabilities of Pyrex by providing a higher -compatibility with Python code and Python semantics, as well as -superior optimisations and better integration with scientific Python -extensions like NumPy. +Pyrex [Pyrex]_ is the compiler project that Cython was originally +based on. Many features and the major design decisions of the Cython +language were developed by Greg Ewing as part of that project. Today, +Cython supersedes the capabilities of Pyrex by providing a +substantially higher compatibility with Python code and Python +semantics, as well as superior optimisations and better integration +with scientific Python extensions like NumPy. ctypes [ctypes]_ is a foreign function interface (FFI) for Python. It provides C compatible data types, and allows calling functions in DLLs @@ -20,23 +20,24 @@ operations must pass through Python code first. Cython, being a compiled language, can avoid much of this overhead by moving more functionality and long-running loops into fast C code. -SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to parse -large API definitions in C/C++ header files, and to generate straight -forward wrapper code for a large set of programming languages. As -opposed to Cython, however, it is not a programming language itself. -Thin wrappers are easy to generate, but the more functionality a -wrapper needs to provide, the harder it gets to implement it with -SWIG. Cython, on the other hand, makes it very easy to write very -elaborate wrapper code specifically for the Python language. Also, -there exists third party code for parsing C header files and using it -to generate Cython definitions and module skeletons. +SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to +parse large API definitions in C/C++ header files, and to generate +straight forward wrapper code for a large set of programming +languages. As opposed to Cython, however, it is not a programming +language itself. Thin wrappers are easy to generate, but the more +functionality a wrapper needs to provide, the harder it gets to +implement it with SWIG. Cython, on the other hand, makes it very easy +to write very elaborate wrapper code specifically for the Python +language, and to make it as thin or thick as needed at any given +place. Also, there exists third party code for parsing C header files +and using it to generate Cython definitions and module skeletons. ShedSkin [ShedSkin]_ is an experimental Python-to-C++ compiler. It -uses profiling information and very powerful type inference engine -to generate a C++ program from (restricted) Python source code. -The main drawback is has no support for calling the Python/C API for -operations it does not support natively, and supports very few of the -standard Python modules. +uses a very powerful whole-module type inference engine to generate a +C++ program from (restricted) Python source code. The main drawback +is that it has no support for calling the Python/C API for operations +it does not support natively, and supports very few of the standard +Python modules. .. [ctypes] http://docs.python.org/library/ctypes.html. .. there's also the original ctypes home page: http://python.net/crew/theller/ctypes/