Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d6b0b40
commit 101f117
Showing
7 changed files
with
379 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
<meta name="description" content=""> | ||
<meta name="author" content=""> | ||
<link rel="icon" href="http://getbootstrap.com/favicon.ico"> | ||
|
||
<title>Inline Grant Weekly Report #8</title> | ||
|
||
<!-- Bootstrap core CSS --> | ||
<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet"> | ||
|
||
<!-- Custom styles for this template --> | ||
<link href="/css/blog.css" rel="stylesheet"> | ||
<link href="/css/cog.css" rel="stylesheet"> | ||
</head> | ||
<body> | ||
<div class="blog-masthead"> | ||
<div class="container"> | ||
<nav class="blog-nav"> | ||
<a class="blog-nav-item active" href="/">Home</a> | ||
<!-- | ||
<a class="blog-nav-item" href="#">New features</a> | ||
<a class="blog-nav-item" href="#">Press</a> | ||
<a class="blog-nav-item" href="#">New hires</a> | ||
<a class="blog-nav-item" href="#">About</a> | ||
--> | ||
</nav> | ||
</div> | ||
</div> | ||
<div class="container"> | ||
<div class="blog-header"> | ||
<h1 class="blog-title"></h1> | ||
<p class="lead blog-description"></p> | ||
</div> | ||
<div class="row"> | ||
<div class="col-sm-8 blog-main"> | ||
<div class="blog-post"> | ||
<h2 class="blog-post-title">Inline Grant Weekly Report #8</h2> | ||
<p>This was another big week for Inline::Module and friends. This is the week that modules using Inline::Module start getting out to CPAN. This even includes the first one written by someone, not working directly on the project! Read on.</p> | ||
|
||
<h2>So Many Modules!</h2> | ||
|
||
<p>This report will be organized by the modules created and updated this week.</p> | ||
|
||
<h2><code>R.pm</code></h2> | ||
|
||
<p>The hacker known as <code>sivoais</code> on IRC #inline, started a project to embed the "R" language in Perl. It uses <a href="https://metacpan.org/pod/PDL">PDL</a> and <a href="https://metacpan.org/pod/Inline::C">Inline::C</a>. This week he got the whole thing to work using <a href="https://metacpan.org/pod/Inline::Module">Inline::Module</a> and <a href="https://metacpan.org/pod/Dist::Zilla::Plugin::InlineModule">Dist::Zilla::Plugin::InlineModule</a>. It's not yet shipped to CPAN, but the repo is <a href="https://github.com/zmughal/embedding-r-in-perl-experiment">here</a>.</p> | ||
|
||
<p>I suspect it will be on CPAN soon. The <code>dzil build</code> command produces a working dist that has Inline::Module and Inline::C support to do all the XS work easily. That's what this grant is all about. Thanks sivoais! (aka ZMUGHAL on CPAN)</p> | ||
|
||
<h2><code>Alt::Math::Prime::FastSieve::Inline</code></h2> | ||
|
||
<p>David wrote <a href="https://metacpan.org/pod/Math::Prime::FastSieve">Math::Prime::FastSieve</a> a few years ago, to show off using <a href="https://metacpan.org/pod/Inline::CPP">Inline::CPP</a> for a CPAN module. He was able to do it, but it had an <a href="https://metacpan.org/pod/Inline">Inline</a> requirement. (Ditching that requirement is a primary goal of this project).</p> | ||
|
||
<p>This week we released it as <a href="https://metacpan.org/pod/Alt::Math::Prime::FastSieve::Inline">Alt::Math::Prime::FastSieve::Inline</a> using the latest <a href="https://metacpan.org/pod/Inline::Module">Inline::Module</a>. This required some refactoring of <a href="https://metacpan.org/pod/Inline::CPP">Inline::CPP</a>. See below.</p> | ||
|
||
<h2><code>Inline::CPP</code></h2> | ||
|
||
<p>We needed to bring <a href="https://metacpan.org/pod/Inline::CPP">Inline::CPP</a> into closer parity with <a href="https://metacpan.org/pod/Inline::C">Inline::C</a> (in the parser department). Basically we moved <a href="https://metacpan.org/pod/Inline::CPP::Grammar">Inline::CPP::Grammar</a> to <a href="https://metacpan.org/pod/Inline::CPP::Parser::RecDescent">Inline::CPP::Parser::RecDescent</a>. This also makes Inline::CPP work with Inline's <code>using</code> directive.</p> | ||
|
||
<p>This let us do the right thing from <a href="https://metacpan.org/pod/Inline::Module">Inline::Module</a> and after that <code>C++</code> Just Worked™. Note that even though Inline::CPP uses both Inline and Inline::C, no changes were required to those two modules. (No change, is good change).</p> | ||
|
||
<h2><code>Dist::Zilla::Plugin::InlineModule</code></h2> | ||
|
||
<p>In order for <code>sivoais</code> to use Inline::Module, we needed to update the <a href="https://metacpan.org/pod/Dist::Zilla">Dist::Zilla</a> plugin to work with the latest code. Ironically, sivoais himself did most of the work. Ingy pulled him into a realtime PairUp™ session and soon it was done. Dist::Zilla superstar <code>ether++</code> helped us find a couple of the deep magic requirements that were needed to make it all work.</p> | ||
|
||
<p>The <a href="https://metacpan.org/pod/Dist::Zilla::Plugin::InlineModule">Dist::Zilla::Plugin::InlineModule</a> module ends up being extremely simple though. It just glues <a href="https://metacpan.org/pod/Inline::Module">Inline::Module</a> and <a href="https://metacpan.org/pod/Dist::Zilla">Dist::Zilla</a> together with no real special casing for either. The same code that does the right things to an EUMM (or other) dist, does it for Dist::Zilla. This should lead to maintenance happiness down the road.</p> | ||
|
||
<h2>Alt::Acme::Math::XS::*</h2> | ||
|
||
<p>Our test module <a href="https://metacpan.org/pod/Acme::Math::XS">Acme::Math::XS</a> got released in it's various forms:</p> | ||
|
||
<ul> | ||
<li><a href="https://metacpan.org/pod/Alt::Acme::Math::XS::EUMM">Alt::Acme::Math::XS::EUMM</a></li> | ||
<li><a href="https://metacpan.org/pod/Alt::Acme::Math::XS::DistZilla">Alt::Acme::Math::XS::DistZilla</a></li> | ||
<li><a href="https://metacpan.org/pod/Alt::Acme::Math::XS::ZillaDist">Alt::Acme::Math::XS::ZillaDist</a></li> | ||
<li><a href="https://metacpan.org/pod/Alt::Acme::Math::XS::ModuleInstall">Alt::Acme::Math::XS::ModuleInstall</a></li> | ||
</ul> | ||
|
||
<h2>Next Steps</h2> | ||
|
||
<p>Our estimate for the grant work was 2 months. Next week will complete 2 full months since we started. We are very close to done, and will try to wrap things up if possible. The things that come to mind are:</p> | ||
|
||
<ul> | ||
<li>Module::Build support module for Inline::Module</li> | ||
<li>More tests</li> | ||
<li>More Alt modules</li> | ||
</ul> | ||
|
||
<p>Stay tuned!</p> | ||
</div> | ||
</div><!-- /.blog-main --> | ||
<div class="col-sm-3 col-sm-offset-1 blog-sidebar"> | ||
<div class="sidebar-module sidebar-module-inset"> | ||
<h4>About</h4> | ||
<p>This site has the latest info about the progress of the TPF grant for Inline.pm</p> | ||
</div> | ||
<div class="sidebar-module"> | ||
<h4>Posts</h4> | ||
<ol class="list-unstyled"> | ||
</ol> | ||
</div> | ||
<!-- | ||
<h4>Archives</h4> | ||
<ol class="list-unstyled"> | ||
<li><a href="#">October 2014</a></li> | ||
</ol> | ||
</div> | ||
--> | ||
<!-- | ||
<div class="sidebar-module"> | ||
<h4>Elsewhere</h4> | ||
<ol class="list-unstyled"> | ||
<li><a href="#">GitHub</a></li> | ||
<li><a href="#">Twitter</a></li> | ||
<li><a href="#">Facebook</a></li> | ||
</ol> | ||
</div> | ||
--> | ||
</div><!-- /.blog-sidebar --> | ||
|
||
</div><!-- /.row --> | ||
</div><!-- /.container --> | ||
<!-- | ||
<div class="blog-footer"> | ||
<p>Blog template built for <a href="http://getbootstrap.com/">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p> | ||
<p> | ||
<a href="#">Back to top</a> | ||
</p> | ||
</div> | ||
--> | ||
<!-- Bootstrap core JavaScript | ||
================================================== --> | ||
<!-- Placed at the end of the document so the pages load faster --> | ||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> | ||
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> | ||
|
||
<!-- Cog JS | ||
================================================== --> | ||
<script src="js/all.js"></script> | ||
</body> | ||
</html> |
Oops, something went wrong.