Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pdcawley (485)

  (email not shown publicly)
AOL IM: pdcawley (Add Buddy, Send Message)

Journal of pdcawley (485)

Thursday April 25, 2002
03:51 AM

To release, or not to release

[ #4455 ]

So, I have this Perl Scheme interpreter.

On the plus side, it has:

  • Tail call optimization
  • Working define
  • Working lambda
  • Working if
  • Working set!
  • Working car/cdr
  • Working cons
  • Working quote
  • Working lexical scoping and closures

All of which means it's Turing Complete and could, in theory be used to implement the rest of scheme. (Must make readc and peekc available at the scheme level so you can implement a read/eval/print loop...)

On the downside it has:

  • No docs.
  • No tests.
  • No cond
  • No I/O
  • No scheme->parrot compiler (which is sort of the point of it...)

The no tests thing is faintly embarrassing given that I'm generally really keen on tests. Must poach a scheme test suite from somewhere. Until now let's pretend that this is a spike.

So, do I bundle it all up in a tarball and stick it on a website somewhere? Or do I just offer tarballs to anyone who asks with the usual 'patches welcome' caveats? Or do I keep it close and release it when it's a little tidier.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Tests (Score:3, Insightful)

    by acme (189) on 2002.04.25 4:08 (#7497) Homepage Journal
    You need to have tests. I shouldn't have to tell you this as you used to be keen on XP but how can you possibly know that your code works and that you haven't broken stuff if you don't have any tests?

    ;-), Leon
    • Well, yes. I know. I've got this far just doing the 'I wonder if that works' thing. For true XP goodness I should now throw it away and start again from the tests, but I'm not going to do that. I'll just have to write a bunch of tests.
      • (Score:-1, Flamebait)

        So... what you're saying is that XP is good in theory, but when some aspect of it becomes inconvenient because it's a lot of work, nobody really sticks to it?

        Or, to phrase it a little differently, "Do as I say, not as I do -- I can't be arsed to follow the XP model 'properly' but I still think you should because it's great and makes your code better"?

        (No ad hominem intended; those were just a couple of the thoughts that went through my mind when I read that.)

        Esli epei eto cumprenan, shris soa Sfaha.
        Aettot ibrec epesecoth, spakhea scrifeteis.

        • No offence taken. But I'm not enough of an XP zealot that I won't do personal work because there's nobody sat at the keyboard with me.

          Actually, I'm still not sure how I'm going to write anything but acceptance (scheme level) tests for this thing, most of the structural classes are really simple; mostly there to to bounce double dispatched calls off and writing tests for accessor methods is one way of driving yourself mad.

          The lack of tests is why I'm still uncomfortable about releasing it; it's a spike tha
          • ...writing tests for accessor methods is one way of driving yourself mad.

            Hmm, I'm sensing a repetitive, mind-numbing task here. Could this be automated somehow? :)

            • To what end? If your accessors are failing then your more meaningful test are going to show this up pretty bloody rapidly.
    • I knew you were listening!
  • I've released stuff without tests..

    sure I've tested it, but people have come back with patches and errors. On the whole people would rather have it and fix a bug or two than not have it.




    @JAPH = qw(Hacker Perl Another Just);
    print reverse @JAPH;
  • Put what you have on a website somewhere. Let other people worry about if they need all that other stuff. Only add it if you want it.

    J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers