demo/perl/default.nix
Perl + C Integration Demos with Fil-C Memory Safety
Shows various Perl XS modules using C libraries, all compiled with Fil-C
λlib, pkgs, perlPackages
let
Perl with required XS modules
perlPackages.perl.withPackages
λps
with ps
C integration
InlineC
Fast C-based data processing
JSONXS
YAMLLibYAML
YAML::LibYAML - fast C-based YAML parserDatabase with C backend
DBI
DBDSQLite
XML parsing (libxml2)
XMLLibXML
Compression (zlib, bzip2)
CompressZlib
CompressBzip2
Other useful XS modules
ListMoreUtils
ScalarListUtils
used by makeDemo
Create wrapper scripts
pkgs.writeShellScriptBin"perl-demos"
cd ${./.}
exec bash ${./run-all.sh}
in
pkgs.buildEnv
"filc-perl-demos"
Two concise demos showing Perl XS (C extension) modules with Fil-C:
1. demo.pl: Multiple C libraries (JSON::XS, XML::LibXML, DBD::SQLite, zlib) 2. inline-c.pl: Write memory-safe C code directly in Perl
All C code gets complete memory safety from Fil-C automatically.