Carrying on with adding to the '32_params.t' case I though today I would tackle one of the harder parts of prams and that is passing an array of params or in my case containers into a query statement.
Rakudo.js now should build in much more sane manner and passes some tests.
In directory containing a checkout of the js branch of rakudo
Once you grab a node.js (tested with 7.10.0)
$ git clone https://github.com/rakudo/rakudo.git rakudo-js-fresh
$ git checkout js
$ cd rakudo-js-fresh
$ perl Configure.pl --backends=moar,js --gen-nqp --gen-moar
$ make js-all
$ ./perl6-js -e 'say(123)'
$ make js-spectest
Rakudo.js now passes some tests https://github.com/rakudo/rakudo/blob/js/t/spectest.js.data .
The remaining majority tests are stopped from passing mostly rampant bugs and a few missing bits.
OTOH some of the more advanced features like precompilation/junctions/multi methods (including callsame) work showing that once the building blocks work we can reuse the ton of good work put into Rakudo itself.
The Rakudo js has been recently update so it's now tracking nom clearly.
nqp.js is now using the new buffer IO and character based IO ops have been removed.
On the positive side our custom C++ synchronous extension that allowed piping to a spawned process has been deleted as it was a quick and dirty hack and the way node.js extensions are done is being currently reworked.
Its fix typo and a little programming day here in the Moose-Pen.
Before I get back on track and start working on test case '32_params.t' but before that I had to clean-up in my code. Seems I had 'parenthes' all over the place when it should really be 'parentheses' so the last thin I did last night was clean all those up. Thank goodness for Padre and it search and replace functions.
Anyway on to '32_params.t' and the fist thing I did was cut out some tests from other places and put them in there as it made a little more logical sense. From 20_where_basic.t I striped out all the tests that check params and ended with these tests;
I am delighted and proud to announce the release of Perl 5.26.0! You can read the release announcement.
It has been the first release done under my fidgety guidance. I want to take this opportunity to share my thoughts on this release and the process we had producing it.
Its think of something, look it up and skip it day here in the Moost-pen.
Yesterday I added in the first option for Accessor.pm 'only_elements' and that got me thinking, never good ever comes out of that, I should enforce the rule that 'only_element' option has to be a hash-ref.
So I quickly looked-up a MooseX that I know will let me do that 'MooseX::Params::Validate' and reading a little from Dave's POD I should skip this module and have a look at MooseX::Method::Signatures or MooseX::Declare. Now looking at both of these I see a great big '(DEPRICATED)' on each and this waring in MooseX::Declare;
Warning: MooseX::Declare is based on Devel::Declare, a giant bag of crack originally implemented by mst with the goal of upsetting the perl core developers so much by its very existence that they implemented proper keyword handling in the core.
SPVM is the language to speed up numerical operation and array operation in Perl.
SPVM is deveoped little by little. I don't know it will be success to embded SPVM to Perl , but I introduce SPVM in this entry.
SPVM means Static Perl Virtual Matchine. This is Perlish static typed language.
Today I will introduce the test script. All variables have a static type and automatic type conversion is not done. Variable declaration can be omitted because it has type inference. It is designed to be same as Perl language as possible.
I'd like to thank all the donors that
support The Perl Foundation
who made this grant possible. It was a wonderful learning experience for me,
and it brings me joy to look back and see Perl 6 improved due to this grant.
Thank You!
Completeness Criteria
Here are the original completeness criteria (in bold) that are listed on the
original grant proposal and my comments on their status:
Get the lead developers together in a hotel for four days. Remove all distractions. Feed them. Stand back and watch bugs get fixed, problems get solved, and new ideas implemented.
Earlier this month 38 Perl toolchain developers assembled in Lyon for the Perl Toolchain Summit, the event previously known as the QA Hackathon. This is an annual gathering where we pull together the lead developers of the core systems and tools in the CPAN ecosystem. We aim to provide an environment where for four days they can work on the tools we all rely on, with the right people around them.
This blog post is a summary of the summit. We can't cover everything, but our goal is to give you a flavour of the work that went on, and hopefully get across why the attendees typically rate this as their favourite event to attend. You can read more of the individual accomplishments on the results page of the event wiki.
We did not get a single letter of intent to host the European Perl Conference in 2018 yet. So either all your monger groups try to stress out the YEF venue committee, or nobody actually wants to host the conference next year.
I do hope for the first option. But I fear that in fact nobody wants to gain endless glory by organising our yearly conference.
At the last two Perl QA Hackathons, I worked on porting PAUSE on Plack, to drop old mod_perl and Apache dependencies and make it easier to set up PAUSE on your local environment. It was successful, but more could be done to fix various (visual/security/usability) issues on PAUSE UI. So, at the rebranded Perl Toolchain Summit of this year, I went a step (or a few steps) further and started to port PAUSE on Mojolicious, hoping to separate views from controllers and make it clearer for us which code belongs to which feature(s) and how.
So it is day two of looking at aliases and SQL and as part of this I had some time last night to have a peek about the SQL standard. So far I am doing things correctly, for table and field. Though in my first incarnation of table alias I used the 'AS' keyword in there, if you look at some of the check-in history you will see it. This 'AS' will work in a few SQL engines but not all so I was correct in dropping it out.
From my tests of
yesterday’s
post and last night's reading I got thinking again on the promise that Database::Accessor is making to a DAD;
'Whatever is passed into a DAD will be as valid as possible'.
What I have to look at now is one of the system rules that I want to enforce;
Only 'elements' that match the name or alias of the current 'view' are passed into the DAD
The Perl Conference, 2017 will be held this year in Washington DC, at the US Patent and Trademark Office, from June 18 through June 23rd.
This is the conference that many of us have affectionately known as YAPC::NA::17.
If you haven't registered yet, please do so as soon as possible.
We want to make sure we're providing the best possible experience for our participants, and to that end, accurate registration counts are helpful, plus there is still time to get the early-bird rate.
The conference website is: [http://www.perlconference.us/tpc-2017-dc/](http://www.perlconference.us/tpc-2017-dc/)
We have talks scheduled from many of the best speakers known to the Perl community;
Damian Conway, Sawyer X, Randal Schwartz, Mark Jason Dominus, Ricardo Signes, and so many other strong speakers that I feel silly having mentioned the few that I did.
For those seeking additional enlightenment there are tutorials and master classes offered (by additional registration) on topics such as:
it will be useful to have a possibility in module-starter to generate a GitHub-aware filebase, including meta info pointing at your GH repo, and .travis.yml and .gitignore and MANIFEST.SKIP
a workable "modern" type system looks achievable with Moo, Type::Tiny, Function::Parameters, and Return::Type. It would probably be useful to enhance module-starter with boilerplate for these too.
Pegex looks promising as a means of lexing and parsing GraphQL. If this is successful enough, it may even be possible to use the grammar beyond Perl, in line with Ingy's "Acmeist" philosophy.
Tests will just be straightforward Test::More for the present time. A future possibility also advancing the above would be to use TestML for tests.
For the GraphQL internal type system, it may or may not be possible to use Type::Tiny for that too!