[racket] Neophyte Alert

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Wed Aug 31 15:35:58 EDT 2011

Josh Tilles wrote at 08/31/2011 01:03 PM:
> Dear Racketeers,
> I'm (comparatively) young, and so also not familiar with the social 
> protocols of IRC & newsgroups in the world of software development.

Just ask questions.  That's what everyone does, as you'll see from 
skimming the email list archives.

> -- Is there any sort of general practice or prevailing taste in when 
> to use (for example) *null* vs *empty* vs *(list)*? What about *(let 
> ([...]))* vs *(local (define ...))*?

I think most people do "'()" when they want a literal null list.  Don't 
use "(list)", since that's a procedure call.

As for "let" and such vs. local "define" and such, there is no universal 
agreement.  Flip a coin and start doing it one way, and once you have 
more experience, you might make an informed decision to switch.

Don't worry too much about conventions.  There is disagreement on a lot 
of things.  You will quickly find better ways to do things than how you 
initially do them.  The most important thing, if you're not going to go 
through HtDP, is to start coding, intermixed with reading.

> -- When is it appropriate to use RackUnit, and when should Contracts 
> be used instead?

Contracts (and Typed Racket) are orthogonal to doing unit tests with a 
library like RackUnit.  Unit tests tests that your module behaves as 
expected.  Contracts and Typed Racket are more useful for making people 
call your module correctly.  (That's not the full answer, but does that 
make sense?)

> P.S. Has anyone given any thought to consolidating some of the Racket 
> discussion to a StackExchange site? Or something else of that ilk?

Racket info is getting spread over too many places already, IMHO.  Eli 
is the only person in the world who can find and follow them all.  I'd 
like to get more people on the Racket email list, and off their little 
islands where they're getting lower quality and not being brought into 
the fold.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110831/36f07e92/attachment.html>

Posted on the users mailing list.