
@leif if there’s something wrong with Travis, then lets talk about that in the PR before merging

In general we should have a rationale before breaking CI

@samth I have no idea what you are talking about as the build finished successfully: https://travis-ci.org/racket/racket/builds/278853287

@leif did you rerun some of the builds? it gave a message about failing here https://racket.slack.com/archives/C3P4M37H7/p1506138806000017

Yes, as the error had nothing to do with Racket, nor Travis, but (almost certainly) http://unicode.org\|unicode.org being unavailable for the few minutes the build was running.

Like, I’m not trying to be obtuse. I just don’t know how that error could have been avoided.

Since, if we are going to depend on external sources like that in our build (which is fine imo), they will sometimes go down.

But I could be missing something.

I guess in this case I could have waited until http://unicode.org\|unicode.org went back up. But that doesn’t really solve the problem because it can still go down when the merge test is running.

(Unless that is an acceptable risk?)

Just make a comment that the travis failure is due to http://unicode.org\|unicode.org being down

Okay, will do

And done. And I will do that going into the future. Thanks @samth

This sort of thing makes me wonder if travis has different error modes. Because errors caused by a server being unavailable should probably be put into a different category as errors from the code.

(sometimes…)

Yeah, something like “could not run”.

I’d like this for when the northwestern machine is rebuilding, instead of: 0.28s$ curl -L -o installer.sh <http://plt.eecs.northwestern.edu/snapshots/current/installers/racket-test-current-x86_64-linux-precise.sh>
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 314 100 314 0 0 1899 0 --:--:-- --:--:-- --:--:-- 1903
100 389 100 389 0 0 1474 0 --:--:-- --:--:-- --:--:-- 1474
0.01s$ sh installer.sh --in-place --dest ~/racket/
installer.sh: 2: installer.sh: Syntax error: newline unexpected

Ya, that would be nice.

I’ll have to look into it a bit more later.

I have three functions I want to iterate through till #f I want to avoid for loops what is the normal practice of this in Racket?

@mtelesha I would use a for loop and use in-producer

@samth using a for loop in a functionalish language just feels wrong :slightly_smiling_face:

@mtelesha If you think about it as a comprehension then maybe it will feel better

@samth How about apply? In R that is the normal way for getting around loops

you can also use apply, but you shouldn’t think of for/list
or for/fold
as “for loops” in the imperative sense you’re trying to avoid

@mtelesha From my experience, lapply
(and friends), are more like map
in other FP languages…

@mtelesha Also (unlike in R), for loops are actually reasonably fast, and (imo) a much cleaner way of saying things.

(Also they are proper expressions, unlike in some other languages >.> )