[plt-scheme] Jane Street Summer Project 2009

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Feb 3 11:38:22 EST 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

Posted on the users mailing list.