Plack-extending micro framework

74 views
Skip to first unread message

Stefan Geneshky

unread,
Apr 17, 2013, 10:24:30 AM4/17/13
to psgi-...@googlegroups.com
Hello everyone,

I got Miyagawa's OK to post this, and I hope it doesn't come off as spam, since it's intended to be more of a reach towards the general Perl/Plack community.
I began working on this a while back, when I needed a Plack-centric web framework. Over time it got pretty big, and I thought I'd post it on CPAN, hoping that it would be useful to other people too:


It's a micro web framework that wraps around Plack, and uses its helper modules for its internals. In other words, Kelp is a pure-Plack framework. 
I'd be happy to answer any questions, and I hope the community finds this useful.

Regards,
Stefan

Mark Stosberg

unread,
Apr 17, 2013, 11:21:11 AM4/17/13
to psgi-...@googlegroups.com
On 04/17/2013 10:24 AM, Stefan Geneshky wrote:
> Hello everyone,
>
> I got Miyagawa's OK to post this, and I hope it doesn't come off as
> spam, since it's intended to be more of a reach towards the general
> Perl/Plack community.
> I began working on this a while back, when I needed a Plack-centric web
> framework. Over time it got pretty big, and I thought I'd post it on
> CPAN, hoping that it would be useful to other people too:
>
> https://metacpan.org/module/Kelp

Looks nice. Thanks for publishing it!

Mark

Octavian Rasnita

unread,
Apr 17, 2013, 1:20:45 PM4/17/13
to psgi-...@googlegroups.com
Nice framework.
 
It was hard to install it though because cpanm gave the error:
"! The distribution doesn't have a proper Makefile.PL/Build.PL"
 
And trying to install it manually I found that it needs Config::Hash which can't be installed with cpanm either.
 
After installing Config::Hash manually I found that Kelp has a test that gave an error:
 
D:\Kelp-0.216\Kelp-0.216>prove t/module.t
t/module.t .. Can't locate Kelp/Base.pm in @INC (@INC contains: D:/usr/site/lib/
MSWin32-x86-multi-thread D:/usr/site/lib D:/usr/lib .) at t/module.t line 2.
BEGIN failed--compilation aborted at t/module.t line 2.
t/module.t .. Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Test Summary Report
-------------------
t/module.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=1, Tests=0,  0 wallclock secs ( 0.00 usr +  0.02 sys =  0.02 CPU)
Result: FAIL
 
I installed it however, and I've seen that as expected the test app needs a little less memory than the test apps for Dancer2, Mojolicious or Catalyst.
--Octavian
--
 
---
You received this message because you are subscribed to the Google Groups "psgi-plack" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psgi-plack+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Mark Stosberg

unread,
Apr 17, 2013, 1:56:21 PM4/17/13
to psgi-...@googlegroups.com

> D:\Kelp-0.216\Kelp-0.216>prove t/module.t
> t/module.t .. Can't locate Kelp/Base.pm in @INC (@INC contains:
> D:/usr/site/lib/
> MSWin32-x86-multi-thread D:/usr/site/lib D:/usr/lib .) at t/module.t line 2.
> BEGIN failed--compilation aborted at t/module.t line 2.
> t/module.t .. Dubious, test returned 2 (wstat 512, 0x200)
> No subtests run

In this kind of manual testing situation, I believe you need the -l flag
for prove, which causes it to consider modules located in ./lib

What does this report?

prove -lv t/module.t

Mark

Stefan Geneshky

unread,
Apr 17, 2013, 3:22:18 PM4/17/13
to psgi-...@googlegroups.com

Octavian,

Thank for catching this problem. One of the .t files required Config::Hash and that was not properly written in the Makefile.
I removed that dependency and released Kelp 0.217 on CPAN, which should install with no errors.

Keep in mind that Kelp may not be fully Windows compliant. I can not guarantee that it will fully work under non *nix operating systems.
It's a good sign, however, that you were able to get it going.

I have not run any comparison test and benchmarks (I intend to do that this weekend), but I suspect that Kelp will rank significantly higher than the rest in both performance and memory use.

In order to not hijack Plack's group, I have created a new one specifically for Kelp:

Please feel free to post any issues, questions or comments there.

Regards,
Stefan
Reply all
Reply to author
Forward
0 new messages