*** *** Please note that this is a pre-alpha release intended to *** garner comments, feed-back, and code. *** *** There is no guarantee that the API/approach will not change *** or that this code works, does something useful, or doesn't do *** anything horrible to your system. Caveat downloader... *** INTRODUCTION Inline::SLang -- Write Perl subs in S-Lang. Inline::SLang lets you write Perl subroutines in S-Lang. It dynamically translates the parameters and return values into native data types for both languages. From the S-Lang library home page at http://www.s-lang.org/ S-Lang is a multi-platform programmer's library designed to allow a developer to create robust multi-platform software. It provides facilities required by interactive applications such as display/screen management, keyboard input, keymaps, and so on. The most exciting feature of the library is the slang interpreter that may be easily embedded into a program to make it extensible. Example: use Inline SLang => <<'END'; define JAxH(x) { () = printf( "Just Another %s Hacker", x ); } END print JAxH('Inline'), "\n"; When run, this complete program prints: Just Another Inline Hacker ============================================================================== INSTALLATION This module probably requires Inline.pm version 0.42 or higher to be installed. In addition, you need S-Lang library v1.4.0 or greater installed; however, the the development of this module is done mainly against 1.4.4 and 1.4.8, so there is little support for 1.4.3 and earlier (i.e. I am more likely to drop support rather than try and fix/work around issues). If you want to use the BIND_NS option then I suggest you upgrade to at least v1.4.3, and with v1.4.7 you gain extra functionality (the "All" option). Currently I assume that S-Lang has been compiled with support for floating-point and complex numbers. For the moment I am also making use of the Test::More module for testing. I believe this is only a part of Perl since version 5.8.0, so you may need to download it from CPAN (http://search.cpan.org/). To install Inline::SLang do this: $ perl Makefile.PL $ make $ make test $ make install For configuration options, enter $ perl Makefile.PL -help The main options of interest are -slangdir or -slanglib/inc to specify the location of the library and its include file. The program looks in /usr, /usr/local, and - if installed - the ots directory within the CIAO directory structure (http:://cxc.harvard.edu/ciao/). This has only been tested in UNIX (Linux and Solaris) environments. Note that you have to 'make install' before you can run it successfully. ============================================================================== INFORMATION - For more information on Inline::SLang see 'perldoc Inline::SLang' - For more information about Inline.pm, see 'perldoc Inline' - For information on SLang visit http://www.s-lang.org/ Please send questions and comments to "Doug Burke" COPYRIGHT AND LICENSE This software is Copyright (C) 2003 Smithsonian Astrophysical Observatory. All rights are reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Or, surf on over to http://www.fsf.org/copyleft/gpl.html