[racket-dev] Thanks for faster builds!

2012-04-25 Thread John Clements
I recently completed a full build from source in 15-20 minutes; I think that's 
about *half* of what it used to take.  Many thanks!

John



smime.p7s
Description: S/MIME cryptographic signature
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] conditional scribble documents

2012-04-25 Thread Danny Yoo
I'm working on building a Scribble extension that lets me write
conditional bits of Scribble code.

Some use cases: 1.  writing a document that can be author-anonymized
2. tutorial material, with solutions to be generated in the document
targetted for teachers.

I do not want to hide or show content with styles: it's too easy to do
View Source on an HTML document.  I really do want conditional
generation.


Unlike cond-element, the branch should not be tied to the output
format, but rather to some external parameterization.

However, I don't see a clean way of introducing the parameterization
when Scribble is being executed.  I could hack with the '++xref' flag
so that the module/function I name there will be a no-op in terms of
returning xrefs, but will as a side-effect set up the parameters I
need.  But that makes me feel extremely dirty.

I do want to be able to say something like:

   scribble ... ++load my-module.rkt ...

where my-module.rkt will add the parameterizations I need to generate
conditional content, but of course there's no such thing as ++load
yet.



Suggestions?  Thanks!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] conditional scribble documents

2012-04-25 Thread Matthias Felleisen

For HtDP/2e, I use plain old conditionals and variables. 
I used to set an environment variable when I ran a shell
script. Then I converted everything to Racket and set 
variables according to shell arguments: 

 $ ./xhtml draft 

creates the draft version of HtDP/2e by setting a *draft 
variable to #t and in other places I simply write 

 @(if *draft Draft Release)

and such. -- Matthias




On Apr 25, 2012, at 3:58 PM, Danny Yoo wrote:

 I'm working on building a Scribble extension that lets me write
 conditional bits of Scribble code.
 
 Some use cases: 1.  writing a document that can be author-anonymized
 2. tutorial material, with solutions to be generated in the document
 targetted for teachers.
 
 I do not want to hide or show content with styles: it's too easy to do
 View Source on an HTML document.  I really do want conditional
 generation.
 
 
 Unlike cond-element, the branch should not be tied to the output
 format, but rather to some external parameterization.
 
 However, I don't see a clean way of introducing the parameterization
 when Scribble is being executed.  I could hack with the '++xref' flag
 so that the module/function I name there will be a no-op in terms of
 returning xrefs, but will as a side-effect set up the parameters I
 need.  But that makes me feel extremely dirty.
 
 I do want to be able to say something like:
 
   scribble ... ++load my-module.rkt ...
 
 where my-module.rkt will add the parameterizations I need to generate
 conditional content, but of course there's no such thing as ++load
 yet.
 
 
 
 Suggestions?  Thanks!
 _
  Racket Developers list:
  http://lists.racket-lang.org/dev

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


Re: [racket-dev] conditional scribble documents

2012-04-25 Thread Danny Yoo
On Wed, Apr 25, 2012 at 6:38 PM, Matthias Felleisen
matth...@ccs.neu.edu wrote:

 For HtDP/2e, I use plain old conditionals and variables.
 I used to set an environment variable when I ran a shell
 script. Then I converted everything to Racket and set
 variables according to shell arguments:

  $ ./xhtml draft

 creates the draft version of HtDP/2e by setting a *draft
 variable to #t and in other places I simply write

  @(if *draft Draft Release)

 and such. -- Matthias


I know I can always hack around Scribble limitations.I can always
do a trick that LaTeX users know: to create a named file that acts
like a flag and use the InputIfFileExists LaTeX macro.  But I always
feel very dirty when I do that: I feel like I'm unable to communicate
intent to my tools when I take back-channels like that.

Conditional generation is a common use case.  In particular, the use
case I'm considering directly affects the Bootstrap curriculum work
I'm doing in the summer: we need to generate documentation for both
students and teachers, and we'd really like to use the same source
file.

As such, I'd really like a good way to set up parameterizations in a
way that's directly supported by the Scribble command line tool.  The
scribble tool is hardcoded to set up certain parameterizations, such
as current-render-mixin, through its command line arguments.  I'd like
that facility to be open to extension.

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


Re: [racket-dev] conditional scribble documents

2012-04-25 Thread Eli Barzilay
20 minutes ago, Danny Yoo wrote:
 
 I know I can always hack around Scribble limitations.

(How is this different from running any other program that needs to
work in several differen ways? ...)


 Conditional generation is a common use case.  In particular, the use
 case I'm considering directly affects the Bootstrap curriculum work
 I'm doing in the summer: we need to generate documentation for both
 students and teachers, and we'd really like to use the same source
 file.

... for example, why not set up files that set some parameter and then
run the program.  You said that you want a `++load my-module.rkt' --
why not change my-module.rkt - my-module.scrbl, and just render
it?


 As such, I'd really like a good way to set up parameterizations in a
 way that's directly supported by the Scribble command line tool.
 The scribble tool is hardcoded to set up certain parameterizations,
 such as current-render-mixin, through its command line arguments.
 I'd like that facility to be open to extension.

Alternatively, propagating some user-defined command line flag to the
scribble code is the same solution as using an environment variable.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev