[racket-dev] Adding the new plot library [was: Re: Plot?]

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Sep 29 04:33:28 EDT 2011

Yesterday, Neil Toronto wrote:
> 1. Obviously, Module 2's path should be 'plot'. Right? And its
> documentation needs a note that it's deprecated. (I'll do that.)

I don't know if it's that important, maybe poll the users list for
potential code that uses it?  If it is, then given that it's a
complete reimplementation, I think that it's fine to go with some
`plot/compat' or something like that -- it forces users who have code
to change files, but my guess is that most people used it just to try
stuff out in quick scripts, and on the other side you have Doug who is
deep enough into it that he'll most likely need to change code anyway.

> 2. Should Module 2 send a deprecation warning to stderr or the log
> when 'require'd?


> 3. Should Module 1's path be 'racket/plot'?


> I've also thought of 'new-plot' (which is a cute pun on "gnuplot"
> but inconsistent with other names) and 'rackplot' (which is
> consistent with 'racklog' and 'rackunit'). Could also go with
> "omgraph" or whatever. I'm open to suggestions.

If the above sounds reasonable, then it can be just `plot'.  (Unless
you really want to update the name.)

> 4. I didn't write a 'plot/extend' replacement because it would have
> been painful and bit convoluted. Also, nearly everything
> 'plot/extend' provides is more easily done using either the old
> 'plot' or Module 1. As of now, it will just quietly disappear. Is
> that okay?

(Fine with me, but polling the users list would be safer.)

> 5. I'll have general questions about how to put things in the
> collects.  I could probably answer them all by looking at a GOOD
> example. What, in your opinion, is the archetypal collects library,
> which would show me How It Should Be Done?

It depends on the code -- probably best if we take this off-list.

> Last thing: I haven't replaced the 'fit' function, because it has
> nothing to do with plotting or the plotting C library! I don't know
> why it's in 'plot' in the first place. The C library behind 'fit'
> will have to stay for now, so there will still be a bit of a C mess
> that makes Eli throw up.

Is there any actual need for it?

(BTW, there is a good point in getting rid of that code: the Fedora
packages have issues with duplicating code from other libraries
instead of using libraries.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.