[plt-scheme] Jane Street Summer Project 2009
On Feb 2, 2009, at 1:20 PM, Sam TH wrote:
> When thinking about this, I think it's important to consider the
> specific functionality that people might want from "projects".
>
> One big use-case is project-wide refactoring. For example, right now
> the ability to rename via check-syntax arrows is limited to a single
> file, because Check Syntax has no way of knowing about other potential
> references to the identifier. A "project" that knew the scope of the
> identifier would be able to find the rest of the references.
Let's conduct a Gedankenexperiment. You have a project that
consists of files A, B, and C. A exports f, which B and C use.
You rename f to g, via our fancy lightweight refactoring tool
called CheckSyntax. Everything works.
Then you return to project 2, which uses files A and D. D
uses f from A. Argh, f is gone and the project is broken.
(I have considered this before, but I just don't know how
to do it properly.)
> A second use-case, mentioned by Noel, is project-wide testing. This
> requires the ability to find a different sort of references: the tests
> for a particular bit of code (or for the whole system). Similarly for
> building, where finding the "main module" is the important bit.
>
> So, I think the important thing to think about is how can we specify,
> in our code, the scope that we intend our program to be a part of, and
> where to find ancillary information like tests or build scripts or
> main modules or source control repositories.
This is a better task for project management.
-- Matthias