develooper Front page | perl.perl5.porters | Postings from May 2013

Building foundations…

Thread Next
Leon Timmermans
May 29, 2013 14:30
Building foundations…
Message ID:
In a way, this is a belated reaction on "A funny thing happened on the
way to the p5-mop..." [1]. I think their conclusion should have been
obvious in advance. They were ambitious, but IMHO they started solving
their problem on the wrong end. They started with building a beautiful
skyscraper, but they didn't start with building foundations.

I think this was a good example of a problem that is far more common.
We, the p5p community, always emphasize to try things on CPAN, and
generally that's a good idea, but at some point you're bound to reach
the limits of that approach. Being ambitious as they were, p5-mop
tried to go way beyond those limits; they failed because they could
only fail.

I think we have a lot of discussion on what features we want (usually
by people who'll never implement it), but fairly little on how we can
enable CPAN authors do achieve them. Zefram's work on pluggable
keywords are a notable exception to this, and without it I'm sure
p5-mop would have stranded earlier. In their particular case, they
need two currently non-existing pieces of foundation:

1) A better OP-code generator, ideally something like an AST.
2) A better method resolution abstraction, ideally (IMHO) something
that doesn't require stashes/globs in the first place.

The former is something that quite a lot of projects need. For that
matter I think that can be generalized to: "foundations that enable us
to do macro-like things are something we need.", even if we never end
up having macros.

We failing to have these discussions. There are enough people who have
ideas of where we want to go, but few have any idea on how to get
there. We're not even bikeshedding, we're silent. I think we really
need to have these discussions, in order to push perl further.



Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About