[LWN Logo]
[Timeline]
From: Brian Ingerson <ingy@ActiveState.com>
Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules
Subject: ANNOUNCE: Inline version 0.30
Date: Thu, 21 Dec 2000 20:46:01 GMT

Inline version 0.30 is a major release. See the FEATURES list below.
Inline and Inline::C have changed from ALPHA to BETA status.

It is available at http://search.cpan.org/search?dist=Inline

Inline also has a new mailing list:
     inline@perl.org
     inline-subscribe@perl.org (to subscribe)

The Inline README says:

INTRODUCTION:

Inline.pm - Write Perl subroutines in other programming languages.

Inline lets you write Perl subroutines in other programming languages
like C. You don't need to compile anything. All the details are
handled transparently so you can just run your Perl script like normal.

Example:

     use Inline C => <<'END';
     SV* JAxH(char* x) {
         return newSVpvf ("Just Another %s Hacker",x);
     }
     END

     print JAxH('Inline'), "\n";

When run, this complete program prints:

     Just Another Inline Hacker

The one line version is:

     perl -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf("Just
Another %s Hacker",x);}};print JAxH+Inline'

-------------------------------------------------------------------------------
FEATURES:

Inline version 0.30 is a major upgrade from previous verions. It includes:

+ Integrated support for typemap files in C.
   + All the recognized types now come *only* from typemaps.
   + The default types come from the default typemap installed with
core Perl.
   + Typemaps are used to modify the Parse::RecDescent grammar for
parsing C.
   + This means you can easily use your existing typemaps.
+ Language support completely separated from base Inline code.
   + Beta supoort for C (Inline::C, included)
   + Alpha support for C++ (Inline::CPP, available separately)
   + Alpha support for Python (Inline::Python, available separately)
   + Support for 'embedding' Perl in C with my new programming
language, CPR.
     (Inline::CPR, available separately) This one may warp your mind :^)
   + Simple API for adding your own language support.
     + Write your own Inline::Foo
     + Write your own implementation of Inline::C, or just modify
       Inline::C::grammar.
   + Support for interpreted languages in addition to compiled ones.
+ Autodetection of new Inline language modules.
+ Much easier and more powerful configuration syntax.
   + More XS and MakeMaker features exposed for configuration (for C
and C++).
+ Flexible new syntax for specifying source code.
   + Use DATA section for AutoLoader, Inline, and POD simultaneously.
+ Support for using Inline 'with' other modules.
   + "use Inline with 'Event';" lets Event.pm pass config info to Inline.pm.
   + Event.pm 0.80 has built in support for Inline.pm 0.30 and higher.
     + Write Event callbacks in C with extreme ease.
+ More documentation
   + perldoc Inline
   + perldoc Inline-FAQ
   + perldoc Inline-API
   + perldoc Inline::C
   + perldoc Inline::C-Cookbook
+ Better error messages and easier debugging.
+ Mailing list: inline@perl.org

Other features of Inline.pm include:

= Automatically compiles your source code and caches the shared object.
= Automatically DynaLoads the shared object and binds it to Perl.
= Recompiles only when the C code changes.
= Changing the Perl code will not cause a recompile of the C code.
= Support for writing extension modules, suitable for distributing to
the CPAN.
= Support for generating and binding Inline subs at run time. <bind()>
= Works on all Unix and MS Windows configurations.

-------------------------------------------------------------------------------
INSTALLATION:

This module requires the Digest::MD5 and Parse::RecDescent modules. It
also requires the appropriate C compiler. (Where appropriate means the
one referred to in your Config.pm)

To install Inline do this:

perl Makefile.PL
make
make test
make install

On ActivePerl for MSWin32, use nmake instead of make. Or just use:
     ppm install Inline

For convenience, Inline::C is packaged with Inline, and will be
automatically installed as well.

-------------------------------------------------------------------------------
INFORMATION:

= For more information on Inline, see 'perldoc Inline' and 'perldoc
Inline-FAQ'
= For information about Inline::, see 'perldoc Inline::C' and
'perldoc Inline::C-Cookbook'
= For information on writing your own Inline extension see 'perldoc
Inline-API'
= For information about the Perl5 internal C API, see 'perldoc
perlapi' or try http://www.perldoc.com/perl5.6/pod/perlapi.html
= The Fall 2000 edition of The Perl Journal has an article about Inline

The Inline.pm mailing list is inline@perl.org. Send email to
inline-subscribe@perl.org to subscribe.

Please send questions and comments to "Brian Ingerson" <INGY@cpan.org>

Copyright (c) 2000, Brian Ingerson. All Rights Reserved.