[racket-dev] dependencies and racket

From: Daniel Farina (daniel at heroku.com)
Date: Fri Dec 30 20:53:09 EST 2011

On Fri, Dec 30, 2011 at 9:45 AM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> It's good to see interest in Racket from cloud people.  Feel free to ask
> lots of questions on the Racket "users" and "dev" email lists as you work
> through your solution.

Well, this a side-interest for personally, but *anyone* can make a
'build pack' for Heroku, and they can be simple.  Take the Python
build pack for instance, which is little more than three bash files in
the 'bin' directory:

https://github.com/heroku/heroku-buildpack-python

And one for Go:

https://github.com/kr/heroku-buildpack-go

The Go one, in particular, is not baked into the platform (one must
set "BUILDPACK_URL" to use it, and it downloads its own preferred
version of the compiler) and yet does what it needs to do in about 50
lines of not-very-dense bash -- downloads and installs the compiler
and dependencies , and that's it.  There is nothing particularly
'cloudy' about these, and the most simple Racket buildpack would do
little more than download Racket, or maybe run raco distribute.  I
came to this list because it appears to me that such a distributed
binary would download dependencies on the fly per invocation of the
Racket program, and that would be a lousy property for the software
being written, and could also have a negative impact on PlaneT as an
infrastructure (it also might just not work, depending if writes were
attempted to a read-only part of the file system).  I also wanted to
seek out idioms already in the wild for handling this problem.

I do not see this as a "cloud" problem, but rather a tooling or
communication gap in packaging and distributing Racket applications
that make use of anything except libraries included in the Racket
distribution.

-- 
fdr



Posted on the dev mailing list.