Re: [racket-users] Re: What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Ben Greenman
On 3/11/19, 'John Clements' via Racket Users wrote: > I would suggest maybe just using racket here: > > #lang racket > > (require setup/parallel-build) > > (define racket-files > (for/list ([file (in-directory "/tmp")] > #:when (regexp-match #px"\\.rkt$" file)) > file)) > >

[racket-users] Re: What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Alex Harsanyi
To add one more answer to this thread :-) In addition to compiling files specified on the command line, `raco make` will recursively compile all files referenced via `require`. This means that if you have a top level file for your application, you can tell `raco make` to compile that file,

Re: [racket-users] What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Greg Hendershott
I think the best practice (at least my usual practice these days) is to make a package. Say the top of your tree is /path/to/project. Once: raco pkg install /path/to/project Thereafter your "make" is: raco setup --pkgs project This also works fine for c:\path\to\project. (Making it a

Re: [racket-users] Re: What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread 'John Clements' via Racket Users
I would suggest maybe just using racket here: #lang racket (require setup/parallel-build) (define racket-files (for/list ([file (in-directory "/tmp")] #:when (regexp-match #px"\\.rkt$" file)) file)) (parallel-compile-files racket-files #:worker-count

Re: [racket-users] Re: What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Eric Griffis
On Mon, Mar 11, 2019 at 12:04 PM Brian Adkins wrote: > > Hmm... maybe the problem was just my lack of shell skills. I think the > following works: > > raco make -j 8 */*.rkt This will only make the rkt files in subdirectories of the current working directory, excluding sub-subdirectories and

Re: [racket-users] What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread George Neuner
On 3/11/2019 3:00 PM, Brian Adkins wrote: I looked over the documentation for raco make, and I didn't see anything about how to recursively make all *.rkt files in a directory tree. I suppose I could use something like:  find . -name \*.rkt | xargs raco make, but I like being able to use all

[racket-users] Re: What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Brian Adkins
On Monday, March 11, 2019 at 3:00:34 PM UTC-4, Brian Adkins wrote: > > I looked over the documentation for raco make, and I didn't see anything > about how to recursively make all *.rkt files in a directory tree. I > suppose I could use something like: find . -name \*.rkt | xargs raco make, >

[racket-users] What is the best way to "raco make" all *.rkt files in a directory tree?

2019-03-11 Thread Brian Adkins
I looked over the documentation for raco make, and I didn't see anything about how to recursively make all *.rkt files in a directory tree. I suppose I could use something like: find . -name \*.rkt | xargs raco make, but I like being able to use all 8 "cores" with -j 8, and I *think* I'd lose

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Philip McGrath
I think it's fair to say that the Racket style guide is not as rigid as some other style guides for some other languages: as it says itself in the introduction, it "isn’t complete and it isn’t perfect" and is more a set of "guidelines and best practices" than binding universal rules. I think it is

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Brian Adkins
On Monday, March 11, 2019 at 1:22:48 PM UTC-4, Matthias Felleisen wrote: > > > > > On Mar 11, 2019, at 1:18 PM, Brian Adkins > wrote: > > > > I want let semantics, but I've been using define more because it's > preferred in the Racket style guide. I don't want the behavior of define > above,

[racket-users] Avoiding tail-indentation

2019-03-11 Thread Hendrik Boom
On Mon, Mar 11, 2019 at 01:17:08PM -0400, Greg Hendershott wrote: > To be fair: > > As a new user, it's possible to have the intuition that `define` is > just a way to avoid indentation -- that it "writes a `let` for you, > from the point of the define to 'the end of the enclosing scope'".

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Brian Adkins
Yes, I hadn't really thought through the semantics of define (i.e. whether it had let or letrec semantics). So, in my case, since I want let semantics, I will use let. I'm happy to follow the Racket style guide when I get to the point of contributing code that is covered by it, but I think I

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Matthias Felleisen
> On Mar 11, 2019, at 1:18 PM, Brian Adkins wrote: > > I want let semantics, but I've been using define more because it's preferred > in the Racket style guide. I don't want the behavior of define above, so > using letrec to get a runtime error instead of compile time error doesn't > make

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Brian Adkins
On Monday, March 11, 2019 at 1:13:30 PM UTC-4, Brian Adkins wrote: > > > > On Monday, March 11, 2019 at 12:29:40 PM UTC-4, Matthias Felleisen wrote: >> >> >> >> > On Mar 11, 2019, at 11:21 AM, Brian Adkins wrote: >> > >> > I just discovered that define will fail at runtime, where let would

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Greg Hendershott
To be fair: As a new user, it's possible to have the intuition that `define` is just a way to avoid indentation -- that it "writes a `let` for you, from the point of the define to 'the end of the enclosing scope'". And it's possible for that intuition to seem correct for a very long time --

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Brian Adkins
On Monday, March 11, 2019 at 12:29:40 PM UTC-4, Matthias Felleisen wrote: > > > > > On Mar 11, 2019, at 11:21 AM, Brian Adkins > wrote: > > > > I just discovered that define will fail at runtime, where let would fail > at compile time. Besides helping to keep the indentation level from >

Re: [racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Matthias Felleisen
> On Mar 11, 2019, at 11:21 AM, Brian Adkins wrote: > > I just discovered that define will fail at runtime, where let would fail at > compile time. Besides helping to keep the indentation level from marching to > the right "too much", what are the benefits of define over let? > > --- snip

Re: [racket-users] Help with evaluation of examples in Scribble

2019-03-11 Thread Ryan Culpepper
On 3/10/19 4:16 PM, Matt Jadud wrote: Oh! Thank you, Matthew. I see. So, I'm running into the sandbox... as in, the sandbox is doing what it should, and as a result, it is preventing the networked accesses that I've added to my documentation. That's awfully obvious (now that it is put that

[racket-users] define fails at runtime, where let fails at compile time

2019-03-11 Thread Brian Adkins
I just discovered that define will fail at runtime, where let would fail at compile time. Besides helping to keep the indentation level from marching to the right "too much", what are the benefits of define over let? --- snip --- #lang racket (define (f n) (+ n 1)) (define (foo) (define b

Re: [racket-users] How to fix typos in documentation?

2019-03-11 Thread Gustavo Massaccesi
I just want to clarify that if someone finds an error in the docs or a bug, it's perfectly fine to just send a bug report: * Inside Racket: Go to the menu > About > Submit Bug Report ... * In Github: Submit an "Issue" Please include enough information to reproduce the bug. For example for a