[racket] Racket development: Running/compiling from source rather than from a pre-built collection

From: Patrick Mahoney (paddy.mahoney at gmail.com)
Date: Fri Aug 3 15:25:54 EDT 2012

Thank you Vincent, that is a useful script!

What I settled on was the following racket script. It defines two helpers
that I call at the repl to start and stop my frtime dev work:

#lang racket
 (require setup/link)

 (define install-path "C:/Program Files/Racket/collects/frtime")
 (define dev-path "C:/path/to/development/frtime/collection")

 (define start-developing-frtime
   (lambda ()
     (start-developing-collection dev-path install-path)))


 (define stop-developing-frtime
   (lambda ()
     (stop-developing-collection dev-path install-path)

  (define start-developing-collection
    (lambda (dev-coll-path install-coll-path)
      (links install-coll-path #:remove? #t)
      (links dev-coll-path)))

  (define stop-developing-collection
    (lambda (dev-coll-path install-coll-path)
      (start-developing-collection install-coll-path dev-coll-path)))

Thank you all,
-Patrick

On 25 July 2012 16:41, Vincent St-Amour <stamourv at ccs.neu.edu> wrote:

> Patrick,
>
> I usually keep multiple single-directory (i.e. not unix-style) Racket
> installs around, including one for development. I keep each install
> separate, and switch between them using this script:
>
>     https://github.com/takikawa/racket-dev-goodies/blob/master/plt-bin
>
> Vincent
>
>
> At Tue, 24 Jul 2012 21:12:01 -0400,
> Patrick Mahoney wrote:
> >
> > [1  <multipart/alternative (7bit)>]
> > [1.1  <text/plain; UTF-8 (7bit)>]
> > Hello again,
> >
> > I was able to resolve my problem. First I renamed the frtime collection
> in
> > the install path. This resulted in racket complaining that the collection
> > couldn't be found. Next, I linked to the collection within the frtime
> > source directory.
> >
> > raco link path/to/github/repo/directory
> >
> > Following linking to this location, the language declaration resolved to
> > the frtime language within my github tree.
> >
> > Thanks all,
> > -Patrick
> >
> > On 24 July 2012 18:52, Patrick Mahoney <paddy.mahoney at gmail.com> wrote:
> >
> > > Hello All,
> > >
> > > I forked the github Racket repo, and created a new branch in order to
> > > update Frtime from the scheme or mzscheme #langs to Racket. This has
> been
> > > progressing well, until I ran into a small issue that I think likely
> > > affects most individuals working on Racket source for which collections
> > > exist in the collection paths.
> > >
> > > (module animation frtime
> > > ...
> > >
> > >
> > > -Despite making changes to the frtime language, excising the scheme and
> > > mzscheme languages within the source that was checked out, it became
> > > apparent that this declaration and others referring to collections were
> > > relying on the imports defined from the mzscheme lang. After running
> Check
> > > Syntax, right-clicking on the lang declaration, and opening the files
> all
> > > the way down to a file where changes had been made (say
> lang-utils.rkt),
> > > the unedited source was visible. This source showing (sans my edits)
> was
> > > that found within the C:/Program Files/Racket/collects/frtime
> directory,
> > > rather than my github racket source directory.
> > >
> > > How does one go about unregistering a collection such that all
> references
> > > to that collection subsequently look not into the collections
> directory,
> > > but compile and run the files from within your checked out source? I
> guess
> > > this question could likely could be generalized to, "How do Racket
> > > developers make edits to source files backing collections and run them
> > > without references to collections referring to the pre-compiled
> > > collections, or those in the Racket installation?". I am interested in
> how
> > > to resolve this problem, and I apologize that I don't yet know the
> language
> > > well enough to formulate the problem in the correct terms.
> > >
> > > Can anyone provide some guidance here?
> > >
> > > For anyone interested in the branch itself, find it at:
> > > https://github.com/paddymahoney/racket/commits/frtime-update
> > >
> > > Thank you all!
> > > -Patrick
> > >
> > >
> > >
> > [1.2  <text/html; UTF-8 (quoted-printable)>]
> >
> > [2  <text/plain; us-ascii (7bit)>]
> > ____________________
> >   Racket Users list:
> >   http://lists.racket-lang.org/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120803/bb15dfaa/attachment-0001.html>

Posted on the users mailing list.