<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I had to truncate this email thread and resend it. pm.org rejected it based on content length &gt; 40K.<br><br>Yes. A mixed approach, phasing in Perl 6 where capable.<br><br>On the DB front, I did do some more hacking with the SQLite3 in Parrot/Rakudo, but with mixed results on Windows.<br>
<br>Here are some of my findings with respect to Perl 6 and SQLite3 on WinTel.<br><br>The
SQLite3 implementation in Parrot is seems hardwired for a *nix
environment, that is the NCI call for the SQLite3 dynamic library looks
for libsqlite3 whereas on WinTel I believe it is sqlite3 by default.
After downloading the sqlite3.dll from SQLite.org I was able to use the
NCI functionality in Parrot and was able to open SQLite3 databases when
using Parrot/PIR (still working on the correct param string for the
native sqlite3_exec call though).<br><br>In Parrot there is an /ext
directory that doesn't appear to get bundled with Parrot during the
make install phase (not sure if this is the case on *.nix though). Perl
6 can run PIR inline and load it from the file system as well. To get
the Perl 6 versions of the DBDI.pm and SQLite3.pm to work I had to copy
over the "runtime" directory from the parrot source tree (after the
build) to my project working directory. I also copied over the SQLite3
directory under /ext to a subdirectory under my project directory and
set the PERL6LIB environment variable to that directory.<br><br>I
used the sample Perl 6 code from the PerlBuzz article, but I am getting
a silent exception during the connection phase. Once I compiled the
SQLite3.pir to bytecode in Parrot, I received some more clues.<br><br>C:\t\dv\rakudo-perl6\perl6-playground&gt;perl6&nbsp; chksql.p6<br>Null PMC access in invoke()<br>in method DBDI::Driver::SQLite3::getConnection (\t\dv\rakudo-perl6\perl6-playground\libSQLite3/DBDI/Driver/SQLite3.pm:17)<br>called from method DBDI::DriverManager::getConnection (\t\dv\rakudo-perl6\perl6-playground\libSQLite3/DBDI.pm:21)<br>called from Main (chksql.p6:5)<br><br>Running perl6 with a trace flag produces a inordinate volume of output.<br><br>I believe the root cause stems from the SQLite3.pir<br><br>.sub 'open'<br>&nbsp; .param string connectstr<br>&nbsp; .local pmc dbhandle<br>&nbsp;
 .local pmc open_raw<br>&nbsp; .local int rc<br><br>&nbsp; open_raw = get_global 'open_raw'<br><span style="color: rgb(0, 0, 255); font-weight: bold;">&nbsp; <span style="color: rgb(255, 0, 0);">dbhandle = new 'Pointer'</span></span><br style="color: rgb(255, 0, 0); font-weight: bold;"><span style="color: rgb(255, 0, 0); font-weight: bold;">&nbsp; rc = open_raw(connectstr, dbhandle)</span><br style="color: rgb(0, 0, 255); font-weight: bold;">&nbsp; .return(dbhandle)<br>.end<br><br>
I can't help to think that Windows might just be the problem :). I
don't have a Linux environment currently. Maybe I can install a Ubuntu
VMWare virtual appliance with the VMWare Player and try again on that
platform.<br><br>If the current Perl 6/Parrot database interface
implementation proves to be problematic on all platforms, maybe REST is
the best interim approach.<br><br>T<br><br>-- Todd Presta<br>
-- http://www.asciiville.com<br><br>-- Todd Presta<br>
-- http://www.asciiville.com<br><br>--- On <b>Mon, 7/13/09, Jonathan Brown <i>&lt;jbrown@reachlocal.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Jonathan Brown &lt;jbrown@reachlocal.com&gt;<br>Subject: RE: [Thousand-oaks-pm] In anticipation of Perl 6 Hackathon<br>To: "'Todd Presta'" &lt;toddpresta@sbcglobal.net&gt;, "'Andrew Grangaard'" &lt;agrangaard@rubiconproject.com&gt;<br>Cc: thousand-oaks-pm@pm.org<br>Date: Monday, July 13, 2009, 5:45 PM<br><br><div id="yiv1059112371">

 
<div dir="ltr" align="left"><font color="#0000ff" size="2" face="Arial"></font>&nbsp;</div>
<div dir="ltr" align="left"><span class="250133900-14072009"><font color="#0000ff" size="2" face="Arial">I can take a look into the XML parsing.&nbsp; Those services 
likely have JSON options as well that may or may not be preferable.&nbsp; I 
haven't really looked at Perl 6's regex support at all yet though, so it might 
take me a bit longer.</font></span></div>
<div dir="ltr" align="left"><span class="250133900-14072009"><font color="#0000ff" size="2" face="Arial"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span class="250133900-14072009"><font color="#0000ff" size="2" face="Arial">We could certainly take a mixed Perl 5 and 6 approach, if 
that's what you meant for implementing the REST services for components too hard 
to do in Perl 6 yet.&nbsp; Another clean separation point is the actual html + 
js web UI; we could expose the data the UI needs in a JSON service, for 
instance, and consume that from JS and get Joose in here 
too.<br>...<br>...<br>...<br></font></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td valign="top"><blockquote style="border-left: 2px solid rgb(16, 16, 255); padding-left: 5px; margin-left: 5px;"><div class="plainMail"><br></div></blockquote></td></tr></tbody></table></div></blockquote></td></tr></table>