Re: [racket-dev] Pre-Release Checklist for v5.2.1, second call

2012-01-24 Thread Noel Welsh
On Fri, Jan 20, 2012 at 8:18 PM, Ryan Culpepper r...@cs.utah.edu wrote:
 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
    load into racket or drracket (as appropriate)

DONE!

N.

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Pre-Release Checklist for v5.2, Second Call

2011-10-21 Thread Noel Welsh
On Thu, Oct 20, 2011 at 8:36 PM, Ryan Culpepper r...@cs.utah.edu wrote:
 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
    load into racket or drracket (as appropriate)

Done.

N.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Who page

2011-09-05 Thread Noel Welsh
Band sounds more rock'n'roll, which is what we're aiming for.

Party on,
N.

On Mon, Sep 5, 2011 at 12:19 PM, Paulo J. Matos pa...@matos-sorge.com wrote:
 On 03/09/11 19:01, Neil Van Dyke wrote:

 Finally, Racket is supported by an band of volunteers


 Maybe initially someone wrote 'an army' and then 's/band/army' since 'band'
 sounds less threatning. :)
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Download link

2011-08-14 Thread Noel Welsh
On Sun, Aug 14, 2011 at 2:39 AM, Eli Barzilay e...@barzilay.org wrote:
 One option is a
 geoip database that could be used in JS (but all I found was expensive
 stuff), and another option is to find some known distribution network
 that does this kind of thing by itself (but again, all I found were
 things that are very ad-intense).

Free GeoIP database:

http://www.maxmind.com/app/geolitecountry

I don't know any free content distribution networks, but I haven't
really looked.

HTH,
N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Roogle?

2011-08-05 Thread Noel Welsh
With the power of asynchronous requests (aka ajax) it is. I've gotta
fix Myna first; maybe then I'll have a spare moment to implement it.

[Either add a stage to the build process so docs.racket-lang.org gets
a different search to the local docs or do an Ajax request to the full
text server and, update the JS index results with the full text
results if the request completes.]

(There are a bunch of really interesting problems here for machine
learning or NLP inclined people who want to work on real systems.)

N.

On Fri, Aug 5, 2011 at 8:01 AM, Eli Barzilay e...@barzilay.org wrote:
 Changing from a simple JS search that can be installed with Racket to
 a search server is not something that hangs low...
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Roogle?

2011-08-05 Thread Noel Welsh
On Fri, Aug 5, 2011 at 8:12 AM, Eli Barzilay e...@barzilay.org wrote:
 About a minute ago, Noel Welsh wrote:
 With the power of asynchronous requests (aka ajax) it is. I've gotta
 fix Myna first; maybe then I'll have a spare moment to implement it.

 That doesn't help with the goal of standalone docs.


Sorry, don't understand this.

 Oh, you mean running something *different* on docs.racket-lang.org?

That is one possibility. The other option is to always make an ajax
request to the full text search. It's asynchronous, so it won't stop
page rendering, and if it doesn't return successfully (no Internet
connection, for example) the user experience won't be affected (beyond
not having the full text results in addition to the current javascript
index results).

 (And the search can be
 solved in an even easier way with a google custom search.)

Ok. I thought there were issues with Google, but, yeah, if it works it
is certainly easier than setting up Lucene.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Roogle?

2011-08-05 Thread Noel Welsh
On Fri, Aug 5, 2011 at 8:45 AM, Eli Barzilay e...@barzilay.org wrote:
 Ah, if you mean a way to have both kinds of searches work on your
 installation

Yes.

 Well, the issue was exactly the dependency on an on-line connection
 and no user-specific docs.

For the first, the ajax request should get around it. For the second:
m'eh. You'll still get the JS index results. One could transmit the
set of installed packages to the full text server, but the great is
the enemy of the good, and it just needs to be good enough.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Roogle?

2011-08-05 Thread Noel Welsh
On Fri, Aug 5, 2011 at 4:44 PM, Stephen Chang stch...@ccs.neu.edu wrote:
 For online, full-text search, couldn't one just use google and add
 site:docs.racket-lang.org to the query?

Yeah, that seems to do it. The ordering of results is a bit odd
sometimes. I don't know the details but Google offers site specific
search under certain conditions. I think the site specific search is
basically equivalent what you suggest.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] bug czar and documentation king

2011-08-05 Thread Noel Welsh
The king is dead -- long live the king!

On Fri, Aug 5, 2011 at 9:01 PM, Matthias Felleisen matth...@ccs.neu.edu wrote:

 We than Ryan Culpepper (Utah) for his work as bug czar for the past year or 
 so.

 As of the next release, Sam Tobin-Hochstadt (NEU) will take over the bug czar 
 duty.

 Ryan will become king of documentation, with the charge to improve its 
 organization and presentation.

 Thanks guys -- Matthias
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] search (was Roogle?)

2011-08-05 Thread Noel Welsh
This matches my understanding.

N.

On Fri, Aug 5, 2011 at 8:33 PM, Matthias Felleisen matth...@ccs.neu.edu wrote:

 So where does this leave us:

 1. with very little data about real searches, which happen locally, via 
 DrRacket  (would it matter if we could do a Guillaume-style data collection 
 for a few dozen students?)

 2. with an understood deficit on our search; I haven't seen anyone deny this

 3. a few options on improving search when we're on-line via JS calls to 
 search engines (this clearly requires some experimentation before we commit)

 4a. John's wonderful idea of search the examples in our docs. Well, I imagine 
 he's searching for all one-argument functions, runs them on the example, and 
 produces the list of functions that compute acceptable results. Now, if we 
 hashed these searches, we get a crowd-sourcing problem -- perhaps. The more 
 users/students search for pure functions, the better we get. Perhaps.

 4b. and we know that once text search is incorporated we may wish to look for 
 some form of semantic search.

 Did I overlook something? -- Matthias

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] New plot library [Was: (to Jay) Re: What I'm working on]

2011-08-03 Thread Noel Welsh
This is great -- a better plotting library will make some of work a lot easier.

 Noel: Do you happen to have a kernel density estimator implementation that
 uses FFT or is otherwise more efficient than O(n^2)? Currently, (plot2d
 (density samples)) works, but is slow on large samples.

Nope, sorry.

---

Regarding Guilllaume's point, I have an unfinished library along these lines:

 https://github.com/noelwelsh/bonfire

The basic idea is to compose images out of circles, lines, etc. much
like the new drawing library in HTDP/2e. However I'm allowing
constraints between elements -- e.g. this line must be 110% of the
width of this graphical element. I super don't have time to work on
this so if someone wants to implement this idea that would be great.

Regarding Eli's rebuttal -- *of course* it's badly designed -- it's
R!!! The idea, however, is valid.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Racket on Rockets

2011-07-28 Thread Noel Welsh
On Wed, Jul 27, 2011 at 9:20 PM, Tony Garnock-Jones to...@ccs.neu.edu wrote:

 Would it be fair to say that were such a thing to come into existence,
 the VM would need to be changed as part of that work?

There is nothing you can't do with a brave heart and a disassembler.
In other words, I've occasionally thought it would be fun to write a
generic object inspector via abuse of the FFI.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Racket on Rockets

2011-07-28 Thread Noel Welsh
On Tue, Jul 26, 2011 at 6:20 PM, Jay McCarthy jay.mccar...@gmail.com wrote:
 I was recently telling some people that I thought 'Ruby on Rails' was
 mostly an ORM plus a set of default dispatching rules with convenient
 ways of extending the defaults.

I agree, though I don't have much RoR experience. However, that isn't
where the action is in web frameworks these days. My opinion is that
it resides in two areas:

 1. rich clients -- that is, interfaces that use a lot of
Javascript. Here FRP within the browser and between the browser and
server would be a big win. Interesting to stuff to look at: Opa,
WebSharper, (and Javascript frameworks like backbone.js, and the Scala
reactive project, etc.)

 2. Scalable servers like https://github.com/jdegoes/blueeyes

Both could be addressed from Racket. I'm not convinced it really has
the computing horsepower to do a bang-up job for #2 (certainly it has
the abstractions) but then neither does Node.js and that doesn't stop
Node's extremely active supporters.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.2

2011-07-24 Thread Noel Welsh
On Tue, Jul 19, 2011 at 10:16 PM, Ryan Culpepper r...@cs.utah.edu wrote:
 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
    load into racket or drracket (as appropriate)

.done.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)

2011-05-07 Thread Noel Welsh
You have to contact the Myna server somehow to get suggestions. You
can do this via the server or via the client, with the usual
tradeoffs. I would go with the JS client as it's much faster to set
up, and code the HTML in such a way that it still works if JS is
disabled. (This is straightforward, and the example in the API docs
does this.)

N.

On Sat, May 7, 2011 at 2:33 PM, Eli Barzilay e...@barzilay.org wrote:
 Do you mean that it requires JS to work?  What about non-JS browsers?
 (There are some people who find it important -- I've even made some
 changes to the front page to make it friendlier to text browsers.)

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)

2011-05-06 Thread Noel Welsh
On Thu, May 5, 2011 at 12:31 AM, Justin Zamora jus...@zamora.com wrote:
 A sentence like that would be a good replacement for the awful,
 Racket is a programming language currently on the front page of
 racket-lang.org

We are men of science; untested hypotheses do not become us. Luckily,
your buddies at Untyped have recently created a system called Myna for
testing these kind of hypotheses:

  http://mynaapp.com/

We'd *love* to use Racket as a case study. I'm sure you have enough
traffic to get some good results fairly quickly, and this problem is a
straight-forward application of Myna.

If you've heard of A/B testing, this blog post explains why Myna isn't
A/B testing:

  
http://untyped.com/untyping/2011/02/11/stop-ab-testing-and-make-out-like-a-bandit/

Cheers,
Noel

PS: Anyone else reading this who would like to use Myna -- drop me an
email at this address or n...@untyped.com.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)

2011-05-06 Thread Noel Welsh
In retrospect I think this post was a bit opaque. So, some exposition:

We have a hypothesis: changing the description of Racket will increase
adoption. We can measure this and optimise for it. The measure of
adoption could be doesn't bounce or downloads Racket, for example.
(Bouncing means leaving the page immediately. Yes these measures
aren't perfect but the great is the enemy of the good in these
situations.) We have various different descriptions we can try. Myna
is a system for optimising the choice of description. A/B testing is
the current industry standard. It is essentially hypothesis testing.
Myna uses better mathematics to achieve better results.

HTH,
N.

On Fri, May 6, 2011 at 9:22 AM, Noel Welsh noelwe...@gmail.com wrote:
 On Thu, May 5, 2011 at 12:31 AM, Justin Zamora jus...@zamora.com wrote:
 A sentence like that would be a good replacement for the awful,
 Racket is a programming language currently on the front page of
 racket-lang.org

 We are men of science; untested hypotheses do not become us. Luckily,
 your buddies at Untyped have recently created a system called Myna for
 testing these kind of hypotheses:

  http://mynaapp.com/

 We'd *love* to use Racket as a case study. I'm sure you have enough
 traffic to get some good results fairly quickly, and this problem is a
 straight-forward application of Myna.

 If you've heard of A/B testing, this blog post explains why Myna isn't
 A/B testing:

  http://untyped.com/untyping/2011/02/11/stop-ab-testing-and-make-out-like-a-bandit/

 Cheers,
 Noel

 PS: Anyone else reading this who would like to use Myna -- drop me an
 email at this address or n...@untyped.com.


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.1, second call

2011-04-26 Thread Noel Welsh
Ok, thanks. That's 90% of the work done.
N.

On Tue, Apr 26, 2011 at 10:31 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 I just ran the test scripts for Rackunit and the SRFIs without problems, so
 I'm marking your items as done.

 Ryan

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] location of foldts?

2011-03-07 Thread Noel Welsh
Yes, something like that seems the right solution.

N.

On Mon, Mar 7, 2011 at 1:22 PM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 The rackunit foldts seems test-suite specific so perhaps it should be
 called foldts-test-suite (similar to fold-test-results).

 Robby
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Racktest was: OMG the thread that will never die about testing

2011-02-20 Thread Noel Welsh
Here's a proposal that attempts to synthesise prior discussion. It
support the features I want without imposing overhead on Eli.

;; Base Types

(define-type (Dict Key Value)
  (U (HashTable Key Value) (Listof (Pair Key Value

(define-type Name (Listof Symbol))
(define-type Info (Dict Symbol Any))

;; Test Results

(struct: Test-Info ([name : Name] [info : Info] [result: Test-Result]))

(define-type Test-Result (U success failure))

(struct: Success ())
;; Skipped and Pending are a subtype of Success -- report it if you support it
(struct: Skipped Success ())
(struct: Pending Success ())

(struct: Failure ([exn : (U exn #f)]))
;; An error is a failure that occurred outside a testing construct --
report it if you support it
(struct: Error Failure ())

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Racktest was: OMG the thread that will never die about testing

2011-02-20 Thread Noel Welsh
On Mon, Feb 21, 2011 at 1:17 AM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 I predict that if we continue, this discussion will devolve into an exchange 
 of too
 simple! too simple! and too complex! too complex!.

No, that's where we started. ;-P

I thought my proposal quite elegantly combined the conflicting views
(though I didn't address construction vs. execution, but that was
deliberately deferred).

 Here's a new proposal. I'll convert the rackunit gui to use my proposed
 result type (probably with minor changes). Any other test framework
 maintainer can design a result type that models their own testing framework,
 and I'll write a conversion function from their type to mine. I believe the
 type I proposed subsumes the others, and I don't think anyone has expressed
 interest in the arrows going the other direction.

Well, ok.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] [racket] tests/eli-tester feedback (Was: Racket unit testing)

2011-02-15 Thread Noel Welsh
[Trimmed Neil from CCs]

On Tue, Feb 15, 2011 at 12:32 PM, Eli Barzilay e...@barzilay.org wrote:

 * It uses TR -- but it has to be very minimal.  (*Extremely* minimal,
  since it's a candidate for inclusion in the `racket' language, which
  is why I was thinking of not much more than agreed structs and
  parameters.)

Not a problem. TR just keeps the types straight.

 * I don't see why some results are structs and some are exceptions.

Test failures should include continuation marks etc. Exceptions feel
like the right types for these.

 * I don't see the point of a `pending' struct -- if it's supposed to
  represent a pending test, then it seems to me that the test itself
  should be modified when it has been executed.

I don't understand this. Some Rackunit users want to write tests that
are have not yet been implemented, and want the UI to report how many
yet-to-be implemented tests they have. I think you interpreted pending
in the sense of concurrency. I mean it here in the sense of yet to be
written. It is useful to annotate tests you know you have to write but
haven't yet done so.

 * Slightly worse: how would pending tests be used with something like
  my tester or the rackunit lightweight things where there is no way
  to know the tests in advance?

See above, I think.

 * The test-listener thing is good (I missed it when I looked at the
  code earlier).

Well, we agree on 1 thing. :)

 * I'm not sure about things around test-name -- it should be free
  form information that the testing framework should render later on.
  Perhaps with a minimal spec of source and name, where a name can be
  #f.  (I'm thinking of these anonymous tests here.)  (This might be
  some unification of your name and info things, which should really
  always come together since you'd never modify one without the
  other.)

Agreed info and name should be unified. In the current design a name
can always be null, indicating no name. It is a list to represent a
hierarchy of names.

 * The `with-*' macros should go away.  They're leaks of the higher
  level code.

 * The same goes for `pass' and `fail'.  Even more importantly `lift',
  which is dictating some treatment of errors etc.

No problem there.

N.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] sxml package takeover/updates?

2011-02-15 Thread Noel Welsh
On Tue, Feb 15, 2011 at 7:52 PM, John Clements
cleme...@brinckerhoff.org wrote:

 Opinions? Does anyone feel strongly about preserving the cross-platform 
 nature of the current library?


Nope. Racketizing the library would be good.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] call for ideas

2011-02-09 Thread Noel Welsh
An addition to my earlier post:

We're shifting to using Chef (opscode.com) for deployment to all our
production servers. Chef works like this:

 - you write recipes, which specify how to install and configure a
particular service (e.g. Racket)
 - for each type of machine you specify the recipes it includes
 - you tell Chef to deploy recipes to machines. It does all the remote
access and fiddling around

Combine this with VMs in the cloud and it makes sys admin *vastly*
easier. You take a base image that consists of Linux distro + chef
client, then run Chef to turn it into whatever type of machine you
want. You can add new machines in  1 min of user time (though the
install typically takes ~10mins or more you don't need to be around
for that).

Hope that makes sense. I can explain in more detail.

N.

On Wed, Feb 9, 2011 at 2:45 AM, Matthias Felleisen matth...@ccs.neu.edu wrote:


 Dear Developers, we need ideas and input.
...
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] call for ideas

2011-02-08 Thread Noel Welsh
On Wed, Feb 9, 2011 at 2:45 AM, Matthias Felleisen matth...@ccs.neu.edu wrote:
 We have decided to reorganize the systems maintenance tasks over the
 next few months. Part of the goal is to modernize, and part of the goal
 is to give Eli more time for real projects.

Good plan.

 - DNS

What's there to do? If I fiddle with our DNS setting once a year that's a lot.

 - web pages

We use Bytemark's Symbiosis
(http://www.bytemark.co.uk/hosting/symbiosis) on our machine for
hosting simple sites. It has simple config and auto-updates with
security updates.

 - mailing lists

Google groups. Life is too short to mess around with email :)

 - source repository

Github. It has this system to hook into commits:

  http://help.github.com/post-receive-hooks/

 - bug reporting

Kahu (http://www.getkahu.com/) It is written in Racket. :)

[If you seriously consider this, we'll set you up with demo accounts.
Kahu is billed as helpdesk (= bug tracking) and resource management so
it isn't a perfect fit.]

There are many other bug tracking systems.

 - @racket-lang.org mail addresses

Google.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1

2011-02-07 Thread Noel Welsh
On Mon, Jan 31, 2011 at 10:50 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
    load into racket or drracket (as appropriate)

DONE.

N.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] How to represent the startline in Lexer SRE Operators ??

2011-02-07 Thread Noel Welsh
I don't think you can do with just the lexer (it has been a while
since I used it). I suggest representing newlines in your AST, and
using the parser to deal with newline + whatever tokens in an
appropriate way.

HTH,
N.

On Thu, Jan 27, 2011 at 6:45 PM, jenny sun
jenny.sun.jenny@gmail.com wrote:
 Hi, does anybody know how to represent the startline with whitespace,
 in lex, we can write, means that I only match the spaces from the start
 line...
 ^[ ]*

 But, there is no ^ operator in Lexer SRE Operators ???

 Thanks
 --jenny
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Compiling latest pre-release on Ubuntu

2011-01-24 Thread Noel Welsh
Different kernel, same Ubuntu:

$ cat /etc/issue
Ubuntu 10.04.1 LTS \n \l

$ uname -r
2.6.32-24-server

Is your box 64-bit? If not, that might indicate the issue:

$ uname -a
Linux kahu 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC
2010 x86_64 GNU/Linux

It's also running in a VM.

N.

On Mon, Jan 24, 2011 at 3:09 PM, Stephen Chang stch...@ccs.neu.edu wrote:
 stchang@mton:~/plt/src/build$ cat /etc/issue
 Ubuntu 10.04.1 LTS \n \l
 stchang@mton:~/plt/src/build$ uname -r
 2.6.32-27-generic
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket-lang down?

2011-01-21 Thread Noel Welsh
It's dead dead dead for me and others on IRC.

N.

On Thu, Jan 20, 2011 at 6:56 AM, Jon Rafkind rafk...@cs.utah.edu wrote:
 its working for me. i just submitted a bug, too.

 On 01/19/2011 04:44 PM, John Clements wrote:

 It looks like racket-lang.org is down.

 John
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Building without docs

2011-01-20 Thread Noel Welsh
On Thu, Jan 20, 2011 at 7:12 PM, John Clements
cleme...@brinckerhoff.org wrote:
 There are a bunch of comments in raco's main.rkt about absolutely never ever 
 creating a .zo for this file.  Does this call to racket create such a file?

I can check, but not till tomorrow afternoon at the earliest.
(racket-lang.org being down today wedged my attempts at installation.)

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Building without docs

2011-01-18 Thread Noel Welsh
For posterity, this works:

On Mon, Jan 17, 2011 at 3:12 PM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 You can also set PLT_SETUP_OPTIONS to -D and then make install will
 avoid building the docs.

This does not:

 On Mon, Jan 17, 2011 at 9:02 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu 
 wrote:
 % make
 % make plain-install
 % raco setup -D

as make plain-install only creates racket.

Below is a Chef recipe for building Racket. As some point this will
appear on Github.

N.


package g++

# Fetch Racket tarball
remote_file /usr/local/racket-textual-5.0.2-src-unix.tgz do
  source 
http://download.racket-lang.org/installers/recent/racket-textual/racket-textual-5.0.2-src-unix.tgz;
  mode 0644
end

directory /usr/local/racket-textual-5.0.2 do
  mode 0755
  action :create
end

script install_racket-textual-5.0.2 do
  interpreter bash
  cwd /usr/local
#  user kahu
  code -EOH
  pwd
  ls
  tar zxf racket-textual-5.0.2-src-unix.tgz
  cd racket-textual-5.0.2/src
  mkdir build
  cd build
  pwd
  export PLT_SETUP_OPTIONS=-D
  ../configure
  make
  make install
  EOH
end

file /usr/local/racket-textual-5.0.2-src-unix.tgz do
  action :delete
end

directory /usr/local/racket-textual-5.0.2 do
#  owner kahu
#  group kahu
  mode 0755
end

link /usr/local/plt do
  to /usr/local/racket-textual-5.0.2
end
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Building without docs

2011-01-17 Thread Noel Welsh
Well, that didn't work, but we've decided to upgrade to Racket anyway
:)   What's the equivalent process for Racket?

Thanks,
N.

On Wed, Jan 12, 2011 at 12:58 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Wed, 12 Jan 2011 11:29:03 +, Noel Welsh wrote:
 I'm trying to build 4.2.2 without building the docs. I thought I could
 just run make and then setup-plt -D, but make does not install the
 binaries. Looking through the Makefile did not lead to enlightenment.
 Any suggestions?

 Does `make plain-install' followed by `setup-plt -D' work? (Version
 4.2.2 is old enough that I forget what worked back then.)


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Building without docs

2011-01-12 Thread Noel Welsh
Hi all,

I'm trying to build 4.2.2 without building the docs. I thought I could
just run make and then setup-plt -D, but make does not install the
binaries. Looking through the Makefile did not lead to enlightenment.
Any suggestions?

Thanks,
N.

PS: FWIW, I'm writing a Chef (http://wiki.opscode.com) recipe to
install PLT. I'll release the recipe when it is done.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Search logs

2011-01-09 Thread Noel Welsh
Hi,

Can I get access to (some of) the search logs for the online docs? I'd
like to do some analysis of what people are searching for and see if I
can come up with anything interesting.

Ta,
N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Git

2011-01-05 Thread Noel Welsh
+1

The learning curve isn't great, but the more I learn about git the
more I like it.

N.

On Wed, Jan 5, 2011 at 8:25 PM, Jay McCarthy jay.mccar...@gmail.com wrote:
 Me too! Git is great now.

 Jay

 2011/1/5 Carl Eastlund c...@ccs.neu.edu:
 Thanks to everyone whose efforts and patience helped us switch from
 Subversion to Git.  There was a steep learning curve, but now that I'm
 familiar with git, its flexibility has been quite handy.  It has been
 invaluable for collaborating with the rest of you on the PLT git
 repository, with a few remaining uses of the legacy svn repository,
 and even with myself when switching computers, working on an
 airplane, etc.  It has even proved useful for collaboration with
 others who do not use version control -- if I get code via an emailed
 tarball, I can just jump back to wherever those edits started from,
 commit them, and rebase my changes to go from there, so my history
 doesn't get out of sync with anyone else's.

 Thanks again!

 Carl Eastlund
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev




 --
 Jay McCarthy j...@cs.byu.edu
 Assistant Professor / Brigham Young University
 http://faculty.cs.byu.edu/~jay

 The glory of God is Intelligence - DC 93
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Adding alpha to color%

2010-12-31 Thread Noel Welsh
Great, thanks!

N.

On Thu, Dec 30, 2010 at 2:14 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 Done.

 At Wed, 24 Nov 2010 10:44:59 -0700, Matthew Flatt wrote:
 I would like to add alpha to `color%', but I haven't gotten around to it.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] enter! verbosity

2010-12-11 Thread Noel Welsh
On Sat, Dec 11, 2010 at 10:07 PM, Carl Eastlund c...@ccs.neu.edu wrote:
 On Sat, Dec 11, 2010 at 4:58 PM, Eli Barzilay e...@barzilay.org wrote:
 Yesterday, Jakub Piotr Cłapa wrote:
 On 10.12.10 21:05, Noel Welsh wrote:
  It is moderately useful to see what is reloaded if you renter enter!
...

 I can see the usefulness of this output for someone in the process of
 developing the language in question, and testing it at the Racket
 REPL.  But it's not as useful for just trying out other languages

Agreed. I think silent output is more useful than the current system
so withdraw what may be construed as support for the current output.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] enter! verbosity

2010-12-10 Thread Noel Welsh
It is moderately useful to see what is reloaded if you renter enter!

N.

On Fri, Dec 10, 2010 at 5:26 PM, Carl Eastlund c...@ccs.neu.edu wrote:
 Whenever I use enter! in racket, it spews a huge list of notifications
 of every file being loaded.  Is there any reason for this?  It seems
 like a complete waste of screen space, it obscures anything useful I
 did before the enter!, and the first time it made me worry I'd done
 something wrong.

 --Carl
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Fixing uncertified context error in in-vector

2010-12-05 Thread Noel Welsh
On Sun, Dec 5, 2010 at 1:38 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
...
 For now, just export `normalise-inputs'. Ryan and I are looking to an
 overhaul of syntax certificates.

An easy fix. I'll do that.

 Also, you're using `unsafe-fx...' on numbers that haven't been checked
 to be fixnums (i.e., `exact-nonnegative-integer?' does not imply
 fixnum). I think you should just use generic arithmetic.

You can't allocate more than a fixnum number of bytes, I believe. So
start and stop must be fixnums if they're to be valid. This leaves
only step. I'll check over the code and tighten up the checks before
submitting. Or just use generic arithmetic.

Thanks.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Fixing uncertified context error in in-vector

2010-12-05 Thread Noel Welsh
Ah, I'll fix that up. That's 3 bugs in the code so far. AFAIK none
have yet been found in practice!

N.

On Sun, Dec 5, 2010 at 4:31 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 Yes, but the `unsafe-fx' operations that I'm concerned about are the ones
 checking whether an index is valid:

  (unless (and (exact-nonnegative-integer? start) (unsafe-fx start len))
    (raise-type-error who (format exact non-negative integer in [0,~a) len) 
 start))
  (unless (and (integer? stop) (unsafe-fx= -1 stop) (unsafe-fx= stop len))
    (raise-type-error who (format exact integer in [-1,~a] or #f len) stop))


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
I've merged the changes back into for.rkt and pushed the changes. This
is just refactoring the in-vector code. I'll do a separate commit when
I modify in-fXvector. And yes, tests all pass :)

N.



On Fri, Dec 3, 2010 at 1:22 AM, Eli Barzilay e...@barzilay.org wrote:

 1. At this level, I think that the costs are very important -- and
   there's two possible costs here: (a) it adds more files to
   racket/base which adds some overhead to starting up; (b) more
   importantly, there is no inlining across module boundaries, ...
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
Since merging with HEAD I get repeatable segfaults in the prompt tests:

...
and 19526 exception field tests.

Errors were:
(Section (got expected (call)))
((syntax) (9 10 (#procedure:dynamic-require (quote set-local-dfs) ten)))
(Other messages report successful tests of error-handling behavior.)
Section(prompt)
Seg fault (internal error) at 0x1c0
Bus error

These errors didn't appear with my changes before merging. I went back
to the revision before my commit and I still get this segfault. I've
rebuilt (raco setup) numerous times. Is this a known problem? If it
is, I can push the rest of my changes. If not, I guess I better
rebuild from source.

N.

On Fri, Dec 3, 2010 at 10:38 AM, Noel Welsh noelwe...@gmail.com wrote:
 I've merged the changes back into for.rkt and pushed the changes. This
 is just refactoring the in-vector code. I'll do a separate commit when
 I modify in-fXvector. And yes, tests all pass :)

 N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
That's the problem -- doing a full rebuild has fixed it.

in-flvector and in-fxvector have been extended (and doc'ed and
tested), and I also optimised some of the code to use unsafe ops. The
vector defns in ffi/vector.rkt should probably use these tools to
provide sequence abstractions, but I'm out of steam for now.

(This process makes testing changes so time consuming I don't know how
y'all ever get anything done. Maybe rebuild once a day or something.)

N.

On Fri, Dec 3, 2010 at 1:20 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 Is it possible that your binary didn't get rebuilt? The test failure
 and crash seem to be in recently added tests to go with recent repairs
 to the Racket binary.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Refactoring in-vector and friends

2010-12-01 Thread Noel Welsh
Hi all,

I spent (far too much) time this morning refactoring the definition of
in-vector to expose the building blocks to compose these
macro/functions. After refactoring the code for defining in-vector is:

  (define-:vector-like-gen :vector-gen unsafe-vector-ref)

  (define-in-vector-like in-vector
vector vector? vector-length :vector-gen)

  (define-sequence-syntax *in-vector
(lambda () #'in-vector)
(make-in-vector-like #'vector?
 #'unsafe-vector-length
 #'in-vector
 #'unsafe-vector-ref))

This could obviously be made smaller but it sufficient to enable reuse
for in-flvector (my goal), in-f64vector etc. In doing so I split
for.rkt into three (I couldn't handle refactoring the 1000+ lines of
for.rkt; I needed something smaller to understand it all). Since this
is a moderately large change I'm looking for comments/objections
before committing. If you have objections please let me know -- if I
don't hear any I'll commit tomorrow. Diff is attached.

N.


vector.diff
Description: Binary data
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-11-27 Thread Noel Welsh
On Sat, Nov 27, 2010 at 12:55 AM, Jay McCarthy jay.mccar...@gmail.com wrote:
 I would like to remove the implicit preference the Web Server gives to
 Xexprs and the old esoteric bytes response format.

Seems like a good move to me. If a framework wants to privilege some
response type over others it can provide the necessary shortcuts.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Adding alpha to color%

2010-11-24 Thread Noel Welsh
Thanks. If I get the time I'll take a crack at it.

N.

On Wed, Nov 24, 2010 at 5:44 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 I would like to add alpha to `color%', but I haven't gotten around to it.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.0.2, second call

2010-10-27 Thread Noel Welsh
On Mon, Oct 25, 2010 at 6:46 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
    load into racket or drracket (as appropriate)

DONE

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release for v5.0.2 has begun

2010-10-21 Thread Noel Welsh
On Thu, Oct 21, 2010 at 1:44 PM, Doug Williams
m.douglas.willi...@gmail.com wrote:
 Noel and Neil, were the unsafe-flround and unsafe-fllog problems you saw
 just with the newer nightly builds or with the released version of Racket?
 [I haven't had any problems with the released versions.]

Nightly builds. It was flround, not unsafe-flround, that caused crashes for me.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] ssh g...@git.racket-lang.org requires password

2010-10-12 Thread Noel Welsh
I think those instructions are for committeerrss. You will probably
have a better experience overall if you go with the github mirror:

  http://github.com/plt/racket

To clone this just issue

  git clone http://github.com/plt/racket.git

HTH,
N.

On Tue, Oct 12, 2010 at 12:40 PM, Horace Dynamite
horace.dynam...@gmail.com wrote:
 I'm trying to follow the PLT git instructions located here,

 http://git.racket-lang.org/intro.html

 It says that you should get back information about your permissions
 when you connect to the gitolite server like so,
...
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Possible build platform for ARM

2010-10-07 Thread Noel Welsh
Some time ago Jay asked if anyone had a hardware suggestion for an ARM
PC. I don't think anyone answered; in my case that was because there
wasn't a capable device that I knew of. The Pandaboard --
http://pandaboard.org/ -- which is supposed to start shipping this
month looks like it might be viable. It is a dual-core A9, so it
should have the performance to compile Racket on ARM at a reasonable
speed. The only comparable device I know of is the Beagleboard, which
is substantially slower.

Also, if someone had an accessible ARM device any crazy people who
were developing, e.g., assemblers, on Racket would be able to target
that platform (and hence iPhone, iPad, and Android devices).

Cheers,
N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] flonum vs. inexact-real

2010-10-03 Thread Noel Welsh
On Sat, Oct 2, 2010 at 7:48 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 With the current memory manager, I don't think there's any potential space
 gain from using 32-bit floats instead of 64-bit floats. Is there any
 other reason to use 32-bit floating point?

In theory one can get better performance with floats. For example, you
can pack more floats than doubles into the SIMD registers on Intel
chips. Anyone paying this much attention to performance isn't going to
be using Racket anyway, so I don't think this is a valid argument.

Regarding what Neil said: don't listen to him!!1! There is a better
representation: NaN boxing. E.g.:

  
http://blog.mozilla.com/rob-sayre/2010/08/02/mozillas-new-javascript-value-representation/

IEEE floating point allows many representations for NaN but all
hardware only ever uses one. The idea with NaN boxing is you some of
these other representations for type tags. You get 32-bit ints, and
unboxed 64-bit  doubles. Presumably you rely on your tracing JIT to do
unboxing for non-float types (AFAIK LauJIT and Trace/JaegerMonkey are
the only VMs to use this representation). I believe on 64-bit machines
Mozilla are using 128-bit wide values in their JS VM. One could light
the Dave Herman signal (or just read the blog posts) for more info.

Cheers,
N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] RFC: Coding Guidelines

2010-09-02 Thread Noel Welsh
On Thu, Sep 2, 2010 at 11:57 AM, Eli Barzilay e...@barzilay.org wrote:
 Well -- you do, in a sense.  When something is broken, someone needs
 to fix it.  There's tons of stuff that is (or has) bitrotting away
 since there's no proper owner to take care of some code, or bugs in
 code with no clear owner need to wait for someone to volunteer to do
 the work -- and that's less likely to happen.

Agreed. I think less stuff should be in the core, and this would go
some way to solving the problem. I think you want this as well.

To elaborate, I think Racket should still come with all the libraries
it currently does but 1) they should have versions like Planet does
and 2) they should be distributable independently of Racket core. This
way a particular library update is independent of updates to other
libraries or the core.

N.

 My worry re ownership is that making a mess there will lead to more of
 these problems.  To make a concrete example, there's some unstable
 code now that is a big extension to a big library -- and if the
 theoretical plan where the unstable manager merges that code in, we
 get three people involved: (a) the original author of the library, (b)
 the author of the extension, and (c) the unstable manager.  Now what
 happens to bugs in the resulting extended library?  To me, this sounds
 like a recipe for one of those silly volleyball moments where the
 three players stand next to the ball with I thought *you'd* pick it
 looks.

 Because of this, I much rather see such extension getting in by (b)
 cooperating with (a) to get the extension in.  With the result being
 - (a) making sure he knows all the bits and becoming the owner of
  the result;
 - (b) becoming the owner of the resulting extended library;
 - or deciding on a clear separation where the two parts are visible
  (possibly involving work on either side), and the two maintain their
  own bits.


  * \Primum non nocere\ -- after looking this up (bad for such a
    document), I strongly disagree with it.  IIUC, it reads as if
    it works, don't mess with it

 Idiomatically that would be if it ain't broke, don't fix it. I too
 strongly disagree with this.

 (Yeah, I saw that -- and the context that it's coming from is dealing
 with a very different kind of machine, where the rules are very
 different...)

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

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] [plt] Push #20898: master branch updated

2010-08-23 Thread Noel Welsh
On Mon, Aug 23, 2010 at 12:26 AM, Will M. Farr wmf...@gmail.com wrote:
 Thanks for sharing your code, and for the comments.  Let me see if I 
 understand this correctly: the following code should produce a total, a 
 vector whose elements are the partial sums of elements at lower indices than 
 the corresponding element of the input vector, and a vector whose elements 
 are partial sums of elements at the index and lower indices of the input 
 vector, right?

Yes, that's correct.

 1. In my forms, the length is optional, and distinguished (when provided) 
 from the for-clauses by a keyword argument.  In yours, it must be provided as 
 the first for-clause (thus requiring that the index be named).

Yes. Note that my for/vector form will iterate over the indices even
if no other sequence is provided. Thus you can write stuff like this
(taken from some code of mine):

  (for/vector ([i n]) (create-row (+ i l)))

You can ignore the name if you want:

  (for/vector ([_ n-pts]) ...)

 2. In my forms, the final body expression must produce exactly one value, 
 which becomes the vector element.  In yours, the final body expression must 
 produce exactly as many values as the third argument to the length clause (if 
 provided) or 1 (if no third argument is present).

Yes.

 As for difference 1, I think it's nice to be able to avoid providing a length 
 if I don't want to.  Sometimes I may not really care about the efficiency of 
 the loop, but will later need a vector, in which case it's a lot less effort 
 to use (for/vector ((i (in-range 3))) ...) than to have to provide a length.  
 I also prefer the distinguished #:length keyword instead of shoehorning the 
 length argument into a not-really-for-clause.  I'm curious what others think, 
 however.

I like having the index bound to a name if I want it. Otherwise I'm
fine with specifying it in an alternate way.

 Difference #2 seems more significant to me.  I really like the idea of being 
 able to produce multiple vectors simultaneously---as you say, it can have 
 efficiency benefits and also be really convenient.  However, note that the 
 for/list form does not allow multiple values from the last body expression, 
 so there is an argument from consistency to prohibit it in for/vector as well.

We don't have to repeat the mistakes of the past :)

 I'd be open to adding another keyword argument, however, to designate some 
number of vectors (independently of the presence or absence of the #:length 
keyword) for the output.  I'll put that in the next version, and we can see 
what other people think.  As with the #:length argument, I would prefer this 
to be a separate keyword---maybe #:num-vecs, maybe something else---rather 
than trying to fit it into a special for-clause.

Alternatively, it could be a for/vectors / for/fold/vectors form. I'm neutral.

N.
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] PLaneT Library of Iterations/Comprehensions

2010-08-22 Thread Noel Welsh
Hi Will,

My numerics package on Github has for/vector with some slight
extensions to yours. I think it also has more error checking so you
might want to look at it. I also have for/fold/vector and some
sequence abstractions. The code is all parameterised at expansion time
by the vector representation.

http://github.com/noelwelsh/numeric

N.


On Wed, Aug 18, 2010 at 5:02 PM, Will M. Farr wmf...@gmail.com wrote:
 Hello all,

 I've been thinking for a while about putting together a PLaneT library of 
 some iteration/comprehension forms that I often use that are not found in the 
 racket core.  Right now, I have a small it-comp.plt local PLaneT package that 
 contains

 for/vector
 for/flvector
 in-flvector

 The for/... forms have the option of having a first expression that gives the 
 length of the resulting object (similar to srfi-42's vector-of-length-ec 
 form) to allow generating more efficient code:

 (for/vector ((x (in-range 3))) x) = (vector 0 1 2)
 (for/vector 3 ((x (in-range 3))) x) = (vector 0 1 2) ; but more efficiently

 I'll be adding more forms from time to time, as I need them.  Eventually, 
 I'll release this to PLaneT, but I thought I might ask the community two 
 questions first:

 1. Am I duplicating the functionality of some library?  (If so, I'll just 
 contribute to that instead.)
 2. Do you have any iteration favorites that I should include in the 
 library?  (Code welcome, but I'm also happy to implement suggestions myself.)

 Alternately, if you guys want to add these to the core, I'd be happy to 
 contribute code and tests

 Thanks,
 Will
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] [plt] Push #20898: master branch updated

2010-08-22 Thread Noel Welsh
On Sun, Aug 22, 2010 at 9:36 PM, Will M. Farr wmf...@gmail.com wrote:
 Matthew  co,
...
 I'll make sure to throw a syntax error if I see a #:when in the for-clauses, 
 and I think I should give up on the for*/vector #:length variant.  I was 
 hoping that you would have some sort of neat trick to keep a running counter 
 during the nested iteration

I'm pretty sure this will exclude a lot of my code. I'll have to check tomorrow.

My for/vector allows one to construct multiple vectors in one
iteration. This is fairly useful to efficient code. I also bind the
length to a name. I thought I checked that this counter was exactly
the length after the comprehension terminated, but it appears I don't.
 Code is below.

You won't be surprised to hear I prefer my variant ;-).  I have uses
for every feature that I can dreg up if anyone is interested. I'm keen
to see a for/vector comprehension in Racket.

N.

  (define-syntax (for/fold/vector stx)
(syntax-case stx ()
  [(for/fold/vector
([accum-id init-expr] ...)
([idx length] for-clause ...)
body ...)
   (syntax
(for/fold/vector
 ([accum-id init-expr] ...)
 ([idx length 1] for-clause ...)
 body ...))]

  [(for/fold/vector
([accum-id init-expr] ...)
([idx length n-vectors])
body ...)
   (syntax
(let ([l length])
  (for/fold/vector
   ([accum-id init-expr] ...)
   ([idx l n-vectors] [_ (in-range l)])
   body ...)))]

  [(for/fold/vector
()
([idx length n-vectors] for-clause0 for-clause ...)
body ...)
   (with-syntax ([(v-id ...)
  (datum-syntax
   stx
   (for/list ([i (in-range (syntax-datum (syntax
n-vectors)))])
 (gensym 'for-vector))
   (syntax n-vectors))]
 [(temp-id ...)
  (datum-syntax
   stx
   (for/list ([i (in-range (syntax-datum (syntax
n-vectors)))])
 (gensym 'for-vector))
   (syntax n-vectors))])
 (syntax
  (let* ([l length]
 [idx 0]
 [v-id (make-vector l)] ...)
(begin
  (for (for-clause0 for-clause ...)
   (let-values (([temp-id ...] (let () body ...)))
 (vector-set! v-id idx temp-id) ...
 (set! idx (add1 idx
  (values v-id ...)]

  [(for/fold/vector
([accum-id0 init-expr0] [accum-id init-expr] ...)
([idx length n-vectors] for-clause0 for-clause ...)
body ...)
   (with-syntax ([(v-id ...)
  (datum-syntax
   stx
   (for/list ([i (in-range (syntax-datum (syntax
n-vectors)))])
 (gensym 'for-vector))
   (syntax n-vectors))]
 [(temp-id ...)
  (datum-syntax
   stx
   (for/list ([i (in-range (syntax-datum (syntax
n-vectors)))])
 (gensym 'for-vector))
   (syntax n-vectors))])
 (syntax
  (let* ([l length]
 [idx 0]
 [v-id (make-vector l)] ...)
(let-values (([accum-id0 accum-id ...]
  (for/fold ([accum-id0 init-expr0]
 [accum-id  init-expr] ...)
  (for-clause0 for-clause ...)
(let-values (([accum-id0 accum-id ... temp-id ...]
  (let () body ...)))
  (vector-set! v-id idx temp-id) ...
  (set! idx (add1 idx))
  (values accum-id0 accum-id ...)
  (values accum-id0 accum-id ... v-id ...)]))

  (define-syntax (for/vector stx)
(syntax-case stx ()
  [(for/vector (for-clause ...)
   body ...)
   (syntax (for/fold/vector () (for-clause ...) body ...))]))
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev