Kyle R. Burton on 8 Jul 2008 06:39:52 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: You don't understand. I'm not locked up in here with all of you. You're all locked up in here with me."

  • From: "Kyle R. Burton" <kyle.burton@gmail.com>
  • To: philly-lambda@googlegroups.com
  • Subject: Re: You don't understand. I'm not locked up in here with all of you. You're all locked up in here with me."
  • Date: Tue, 8 Jul 2008 09:39:41 -0400
  • Authentication-results: mx.google.com; spf=pass (google.com: domain of kyle.burton@gmail.com designates 66.249.82.224 as permitted sender) smtp.mail=kyle.burton@gmail.com; dkim=pass (test mode) header.i=@gmail.com
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:received:x-sender:x-apparently-to :received:received:received-spf:authentication-results:received :dkim-signature:domainkey-signature:received:received:message-id :date:from:to:subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references:reply-to :sender:precedence:x-google-loop:mailing-list:list-id:list-post :list-help:list-unsubscribe:x-beenthere; bh=VDTqFmz/isEKT7i7keMrfgXuDZ31cdSPoAnNRrVDJd4=; b=OcrTOsD/l58673SU31IokyX3UYTrm+yEb5+cQbqbe/64ItV3qCyqfOLIHGxnunnpUn GsHDXjSpysajjRjSnnziDIb/FRHadL56LM4mIZJmhp11rv2w3ltFtvsMf81C1LPkqWnN UyAhauOS+IKtUG9P27OiLlF+MqU/Z65o81ak8=
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=HCanLLOqoOyB+opdAdO6trkaELct/7ZT0DixEaAOy8E=; b=x4L4THd1iNcA5fm/9xYGcxF7pnULPMqVwz5GHJcnzZKz92kVrG0Q4CXg/gWrZd9U4H 6CyVmdHQXB+d/0a/Ne/2fwItpMoBzfSmyaf+IpVHgKwKycSKifhpb6pE7X7+D84JyPaM FECsNaJPsBY58mkGGr6Tzn3q+zr9sKF2tT/do=
  • Mailing-list: list philly-lambda@googlegroups.com; contact philly-lambda-owner@googlegroups.com
  • Reply-to: philly-lambda@googlegroups.com
  • Sender: philly-lambda@googlegroups.com

On Tue, Jul 8, 2008 at 9:29 AM, Andrew Gwozdziewycz <apgwoz@gmail.com> wrote:
>
> So, do these enhancements  benefit the entire perl community? If so, would
> it be useful to temporarily fork cperl-mode and integrate them into it
> and maybe then merged back into the distributed cperl-mode? The
> derived mode seems like a good approach, but you're probably unlikely
> to get much traction. cperl-mode already has a major audience,
> enhancing it itself will get you fame, fortune and lots of women.

The whole point of us doing this is to benefit the community rather
than just keeping them to ourselves.

That is perhaps true (should offer back to cperl-mode), and once we've
got traction with our extensions (working code outside of our
enviornment) we should seek to offer them back to cperl-mode.  That's
a great suggestion!  Thanks.

Initially the thing I worry about is, philosophically, many of our
extensions champion a few ideals, all based on not interrupting the
programmer's flow, that I don't always see people adapting to (some of
them have taken me some effort to decide that it was worth the
investment of changing how I worked/thought about writing code):

  - work with the language constructions, not the text
    - this is not how all emacs users think (based on my observations)
  - you'll be using a logging system (Log4perl)
  - you'll be using a unit testing system (Test::Unit::TestCase)
    - and the tests (currently) are organized as Module::Test::Foo for
Moudle::Foo's test
    - and run them from within emacs, we've implemented a rudimentary
next-error/prev-error
      and stacktrace walker
  - we're keybinding crazy
  - if a feature hits 90% of the cases and fails on 10% we'll still
implement and use it
    with the hope that we'll work at chipping down the 10%.

One thing that we just discussed adding, possibly to the existing
'organize imports/use statements' feature, was a prompt driven CPAN
auto-install - so you can just use modules in your app and then invoke
one of the functions to have it go and install the necessary
libraries.  We're open to more ideas as well.

Thanks for the discussion.

Kyle