Re: [racket-dev] highlighting function position with an underline.

2010-10-26 Thread Neil Van Dyke

John Clements wrote at 10/26/2010 02:33 AM:

Who thinks it would be helpful, though, if Check Syntax were to, say, underline 
the function position?


Not for the non-beginner languages, please.


After thinking about it for a while, I'm currently of the opinion that one 
serious shortcoming of our syntax is that we fail to distinguish the function 
position from that of the arguments, something that the traditional f(x) 
notation does pretty clearly.
  


FWIW, when I was first learning non-Scheme Lisps, I visualized the 
function name as part of the parentheses pair.  So, this is atomic 
syntax for the application of function myfunc:


   (myfunc  )

With some background between the parens, and elastic to accommodate 
arguments, and with the name permanently fixed as part of the left 
paren.  Perhaps the (myfunc and its ) are die-cast metal tags on the 
ends of a piece of elastic or on parts of a slide rule, though I never 
thought of it quite that concretely.  To reinforce: the ) are like 
little handles on the very ends that you can pull and push, and they 
mark the very ends, too.


When I moved to Scheme, I gave up this fairly physical notion of the 
syntax, since clearly it would discourage me from thinking about 
procedures as first-class objects, which Scheme seemed to consider 
important.


However, if new students are somehow confused by this syntax, and you 
want to teach the noble lie that procedures always have names, and 
therefore that students could use the more physical/visual notion of the 
syntax that always has parentheses... I suggest that the first thing to 
do is to make the color of the parentheses pair match the color of the 
procedure name.


Hand-wavey cog-sci: By making parens a different color, as DrRacket 
does, they are more a different thing than the procedure name things, 
and then we have to think more about their semantic and spatial 
relationships with other things.


Optionally, in addition to making parens use the same color as their 
procedures, you could then use hue or brightness or something to 
indicate nesting depth or syntactic form identity, always keeping the 
parens matching their procedure.  (You have to explain what the color 
differences mean, then, and worry about whether they interrupt reading 
flow too much or complicate looking at more than one syntactic construct 
thing at a time.)


Or maybe you don't have change anything in DrRacket, and instead simply 
tell students some physical/visual ways to conceptualize the syntax 
itself.  Students who have trouble remembering the syntax could latch 
onto conceptualization that works for them, til they no longer need the 
training wheels.  Or til you have to teach that procedure are first-class.


--
http://www.neilvandyke.org/

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


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

2010-10-26 Thread Eli Barzilay
Does anyone have a preference or an objection to use this change in
the release?

* The important bit here is the sh installers for unix -- they're
  currently using `plt' and `mz'.  (There were some complaints about
  this.)

* It's easy to verify -- just run the generated installers.  (And look
  inside the source tgz/zip files.)  Even if there are problems,
  fixing them is just repackaging the installers, keeping the same
  contents.

(Clarification: I don't have an opinion.)


A few seconds ago, e...@racket-lang.org wrote:
 
 2cda694 Eli Barzilay e...@racket-lang.org 2010-10-26 07:10
 :
 | Fix the names used by the `sh', `tgz', and `zip' installers to use
 | `racket', `racket-textual' and `racket-full' instead of `plt', `mz', and
 | `full'.
 |
 | (Also use uniform argument names in packaging functions.)
 :
   M collects/meta/build/build |  108 
 +-

-- 
  ((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


[racket-dev] Web language

2010-10-26 Thread Eli Barzilay
I want to finally move meta/web/html to a proper place.  Any opinions
about a name for the collection?  Some reasonable options:

* `scribble/html' -- for obvious reasons.

* `scribble/web' -- possibly a too-broad name, since there's a whole
bunch of stuff that could be considered part of a web language.

* `scribble/xml' -- the xhtml-specific bits in this are the bindings
for the xhtml DTDs (including `xhtml' which spits out the required
xml prefix), so it's also useful for other xml output.

* `scribble/text/html' -- clarify that it's similar to
`scribble/text', but looks inconvenient to be used in general.

I'm going with the first one, but will not push immediately, so it's a
good point to say something if you have a different opinion.

-- 
  ((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 #21341: master branch updated

2010-10-26 Thread Jay McCarthy
I like the change, but I object to late changes in releases. The build
script may be an okay exception. My net opinion is no opinion.

Jay

On Tue, Oct 26, 2010 at 5:28 AM, Eli Barzilay e...@barzilay.org wrote:
 Does anyone have a preference or an objection to use this change in
 the release?

 * The important bit here is the sh installers for unix -- they're
  currently using `plt' and `mz'.  (There were some complaints about
  this.)

 * It's easy to verify -- just run the generated installers.  (And look
  inside the source tgz/zip files.)  Even if there are problems,
  fixing them is just repackaging the installers, keeping the same
  contents.

 (Clarification: I don't have an opinion.)


 A few seconds ago, e...@racket-lang.org wrote:

 2cda694 Eli Barzilay e...@racket-lang.org 2010-10-26 07:10
 :
 | Fix the names used by the `sh', `tgz', and `zip' installers to use
 | `racket', `racket-textual' and `racket-full' instead of `plt', `mz', and
 | `full'.
 |
 | (Also use uniform argument names in packaging functions.)
 :
   M collects/meta/build/build |  108 
 +-

 --
          ((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




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

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

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

2010-10-26 Thread Eli Barzilay
10 minutes ago, Jay McCarthy wrote:
 I like the change, but I object to late changes in releases. The
 build script may be an okay exception. My net opinion is no opinion.

(OK, so I have two weak votes on the two sides now.)

The main point that makes this an exception is:

  * [...] Even if there are problems, fixing them is just
repackaging the installers, keeping the same contents.

In other words, a bug in code almost always requires a new release,
but a bug in packaging requires just re-packaging and that can be done
any time (and this has been done in the past when there were packaging
issues).

-- 
  ((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] Web language

2010-10-26 Thread Sam Tobin-Hochstadt
On Tue, Oct 26, 2010 at 10:01 AM, Eli Barzilay e...@barzilay.org wrote:

 OK, I changed it -- but here are some of the points that made me think
 that `html' is the right choice:

Here's one more (and IMHO more significant) point: XHTML is on the way
out as a web technology.  In particular, HTML5 is treating the whole
HTML-in-XML idea as mostly failed and continuing without paying it
much attention.  For more details, see:
  http://dev.w3.org/html5/html4-differences/#syntax
and
  http://wiki.whatwg.org/wiki/HTML_vs._XHTML
-- 
sam th
sa...@ccs.neu.edu
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Web language

2010-10-26 Thread Sam Tobin-Hochstadt
On Tue, Oct 26, 2010 at 10:49 AM, Eli Barzilay e...@barzilay.org wrote:
 5 minutes ago, Sam Tobin-Hochstadt wrote:

 If you're planning to serve things under the text/html mime type
 (which racket-lang.org currently does, for example) then it should
 definitely be called `html'.

 Do you mean the Content-Type header?  I understood at some point
 that this was a valid, and it sounds like this quote (from the second
 link you posted):

  Note that XHTML 1.0 previously defined that documents adhering to
  the compatibility guidelines were allowed to be served as text/html,
  but HTML 5 now defines that such documents are HTML, not XHTML.

 Keeps it valid -- except that the proper label for this is now HTML,
 and possibly affects parsing in some ways that I'd be insane to rely
 on.  Right?

Basically, (a) you should use this mime type, since 'application/xml'
is liable to behave badly in some browsers and (b) this means that
it's HTML (and always has been), and (c) HTML5 will specify the
rendering behavior of your page if you make mistakes like forgetting
to close tags.
-- 
sam th
sa...@ccs.neu.edu
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] building docs, compile collects

2010-10-26 Thread Jon Rafkind
Eli helped me write a module that installs a compile manager which
compiles all loaded files on the fly.
$ cat compile.rkt
#lang racket/base

(require compiler/cm)
(current-load/use-compiled
(make-compilation-manager-load/use-compiled-handler))

$ racket -t compile.rkt -l racket/base -t somefile.rkt
...
$ ls compiled
somefile_rkt.dep
somefile_rkt.zo

Any dependancies of 'somefile.rkt' would have been compiled as well.
This is basically the behavior I want so I'm happy. Does anyone want
that module (compile.rkt) in the collects tree (with docs on how to use
it) ?

On 10/25/2010 07:46 PM, Robby Findler wrote:
 Well, if you're working on things that drracket shares (like the
 quiet.rktl test suite does) then you can't use that. But if you read
 the docs that you were pointed to earlier, you should be in good
 shape.

 Robby

 On Mon, Oct 25, 2010 at 6:20 PM, Matthias Felleisen
 matth...@ccs.neu.edu wrote:
 On Oct 25, 2010, at 7:14 PM, Eli Barzilay wrote:

 IOW, it sounds to me like you want to use drracket with the
 auto-compile feature on for all files

 Amen, which is what I thought when I read Jon's message.

 Real friends use drracket. -- Matthias

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

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

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


[racket-dev] 5.0.2 changelog

2010-10-26 Thread Jon Rafkind
Here is the raw changelog for 5.0.2. If you would like to summarize your
changes please do so, otherwise someone (me/eli/ryan) will do it for
you. If there are any other important items to note for this release
please make a note of them.

Matthew Flatt
commit bf4fc2574c06132fece7342219fe6ea589e42f6d
fix syntax colorer for #true and #false
commit 99df8e126790077c11b4363a273ebf777bff8514
allow internal definitions in `when', `unless', `cond, `case', `match'
commit 15302dc844ecf931145f895677cc8eb765b69960
adjust futures to decouple blocked futures from worker threads
 which required adding a notion of lightweight continuation to
 the runtime system, where a lightweight continuation involves
 only frames from JIT0generated code (so that details of the stack
 layout are known, for example)

Mike Sperber
commit 38cf78e213ee8f246ce322becb419aaed6ec2391
Allow specifying arbitary expressions in a signature declaration.
   
Fixes PR 11282

Vincent St-Amour
commit 8baa1682af76965400ab1071a46f8ba50f7c7165
Turned the optimizer on by default.
commit 8d6230956dc8c207c097a389fa1f0c7273bb55b7
Documented the optimizer.

Jon Rafkind
commit d112eb4ceb8b94aebf1f699d1591386579e07a22
add line numbers pane to drracket

Will M. Farr
commit beb21754564fa8f20eae7e0e3109f2c1d06260c4
Added flvector-copy (with tests and docs).
commit 82096abb1b6fd4a8872f528437ba95c44a4aedba
Added interation forms for/vector, for*/vector, for/flvector, and
for*/flvector and for-clause in-flvector.

Jay McCarthy
commit 01a41a812e83d0fb3a31940de0b52504ac4bbdb6
Closing pr11216. Adding one armed check-error to teaching languages.
commit d17deb5fef8342e2dc25b6ddd027bd71d6373a8f
Adding hash table functions to ASL
commit 407dcee206678785b4b87bb513d7ba5f55ad8ab5
Adding match to ASL
commit 347e946548c26bd51b682284816aa7f6f34b2d92
Adding WebSocket support

Stevie Strickland
commit ec0711bf4996dde06ecddbc8fcb95f44987a6915
Add chaperone contract-related properties.
   
  * Flat contracts are chaperone contracts, and chaperone contracts
are (proxy) contracts.
  * Check in chaperone contracts that a chaperone (or chaperone-friendly
value) is indeed returned.

Ryan Culpepper
commit 5a8d2f010e9e7858ff8c32ffadf73adac11cd98a
added data/gvector, docs (need tests)
commit d7a87c79e0211071fecb8474e6f7f66317b089d4
Merged changes to syntax/parse
  Changed backtracking algorithm, runtime representations
- syntax classes, ~describe no longer implicitly commit
- ~describe no longer delimits effect of cut
  Added keyword  optional args for stxclasses
  Added ~do and #:do, ~post, ~commit and #:commit,
~delimit-cut and #:no-delimit-cut
  Added syntax/parse/debug, syntax/parse/experimental/*
- expr/c for contracting macro sub-expressions
  moved from syntax/parse to syntax/parse/experimental/contract
- syntax class reflection (~reflect, ~splicing-reflect)
- eh-alternative-sets (~eh-var)
- provide-syntax-class/contract
  (only for params, not attrs so far)
  Changed ~fail to not include POST progress (#:fail still does)
old (~fail _) is now (~post (~fail _))
  Made msg argument of ~fail optional
  Removed generic repetition constraint violated msg
  Removed atom-in-list stxclass
  Removed unnecessary datum-syntax on cdr of pair pattern
massive improvements to long-list microbenchmarks
  Optimization: integrable syntax classes (id, expr, keyword)
need better measurements
  Optimization: ad hoc elimination of head/tail choice point
for (EH ... . ()) patterns
  Added unstable/wrapc (proc version of expr/c)

Robby Findler
commit 5e01ac55373d2987410da7d95f26f42535cfae3b
added a pinhole property to images
commit 561ac12a91e02fbc298272cc97d96e00d92f98ae
got started on the -i parser

Sam Tobin-Hochstadt
commit 0635fc6d7542ea412e4586ca6ca051fdd2d91adb
Create data/ collection.
   
 - Initially populated with queues, skip-lists, and interval-maps
from unstable/
 - Tests in tests/data, docs in data/scribblings

Jens Axel Søgaard
commit 64c3a98e45bda91b39eb811456ab409b72f0936e
Added triangle/sss, triangle/ass, triangle/sas, triangle/ssa,
triangle/aas, triangle/asa, and, triangle/saa.

Kevin Tew
commit 5bb2e148de87457ebb4790287d3b83b872c91a78
Parallel docs build
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] planet remove triggers re-installation?

2010-10-26 Thread John Clements
Let me preface this by saying that I'm sure this is somehow my fault.  
Nevertheless, it seems broken.  Trying to *remove* a planet package triggers 
its re-download and installation. See the transcript below.

I'm guessing this has something to do with my use of development links, though 
I don't currently have any development links for this package.  I'm going to 
take a big hammer and start deleting stuff, and I'm guessing this will fix the 
problem, but it's certainly confusing.

John 


pcp062721pcs:~/plt/src/build clements$ raco planet remove clements rsound.plt 1 
7

= Removing (clements rsound.plt 1 7) =
setup-plt: version: 5.0.2.1 [3m]
setup-plt: variants: 3m
setup-plt: main collects: /Users/clements/plt/collects
setup-plt: collects paths: 
setup-plt:   /Users/clements/git-clements/clements/collects
setup-plt:   /Users/clements/clements/matthias/collects
setup-plt:   /Users/clements/Library/Racket/5.0.2.1/collects
setup-plt:   /Users/clements/plt/collects
setup-plt: --- cleaning collections ---
setup-plt: deleting: in planet/clements/rsound.plt/1/7
setup-plt: deleting: in planet/clements/rsound.plt/1/7/private
setup-plt: deleting: in planet/clements/rsound.plt/1/7/test
setup-plt: --- updating info-domain tables ---
setup-plt: updating: 
/Users/clements/Library/Racket/planet/300/5.0.2.1/cache.rktd
setup-plt: --- post-installing collections ---
setup-plt: done
Erasing metadata
Deleting files in 
/Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7
Trimming empty directories
Rebuilding documentation index
setup-plt: version: 5.0.2.1 [3m]
setup-plt: variants: 3m
setup-plt: main collects: /Users/clements/plt/collects
setup-plt: collects paths: 
setup-plt:   /Users/clements/git-clements/clements/collects
setup-plt:   /Users/clements/clements/matthias/collects
setup-plt:   /Users/clements/Library/Racket/5.0.2.1/collects
setup-plt:   /Users/clements/plt/collects
setup-plt: --- pre-installing collections ---
setup-plt: --- compiling collections ---
setup-plt: making: scribblings/main/user
setup-plt: --- updating info-domain tables ---
setup-plt: --- creating launchers ---
setup-plt: --- building documentation ---
setup-plt: skipping: planet/cce/scheme.plt/4/1/scribblings/main.scrbl
setup-plt: skipping: planet/untyped/unlib.plt/3/23/scribblings/unlib.scrbl
setup-plt: skipping: planet/cce/scheme.plt/6/3/reference/manual.scrbl
setup-plt: rendering: scribblings/main/user/start.scrbl
downloading clements/rsound:1 from planet.racket-lang.org via HTTP

= Installing rsound.plt on Tue, 26 Oct 2010 11:51:31 =
setup-plt: Unpacking archive from 
/Users/clements/Library/Racket/planet/300/packages/clements/rsound.plt/1/7/rsound.plt
setup-plt:   unpacking README in 
/Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7/./
setup-plt:   unpacking draw.rkt in 
/Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7/./
...



smime.p7s
Description: S/MIME cryptographic signature
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] planet remove triggers re-installation?

2010-10-26 Thread Carl Eastlund
Do you have any other packages that depend on rsound?  It looks like
Planet may be re-downloading it to satisfy some other dependency.
References to Planet packages show up in odd places -- based on when
the download occurred during raco planet remove, I'd say some part
of the documentation had a reference to it, although perhaps the
documentation index simply did not get rebuilt appropriately.

Carl Eastlund

On Tue, Oct 26, 2010 at 2:55 PM, John Clements
cleme...@brinckerhoff.org wrote:
 Let me preface this by saying that I'm sure this is somehow my fault.  
 Nevertheless, it seems broken.  Trying to *remove* a planet package triggers 
 its re-download and installation. See the transcript below.

 I'm guessing this has something to do with my use of development links, 
 though I don't currently have any development links for this package.  I'm 
 going to take a big hammer and start deleting stuff, and I'm guessing this 
 will fix the problem, but it's certainly confusing.

 John


 pcp062721pcs:~/plt/src/build clements$ raco planet remove clements rsound.plt 
 1 7

 = Removing (clements rsound.plt 1 7) =
 setup-plt: version: 5.0.2.1 [3m]
 setup-plt: variants: 3m
 setup-plt: main collects: /Users/clements/plt/collects
 setup-plt: collects paths:
 setup-plt:   /Users/clements/git-clements/clements/collects
 setup-plt:   /Users/clements/clements/matthias/collects
 setup-plt:   /Users/clements/Library/Racket/5.0.2.1/collects
 setup-plt:   /Users/clements/plt/collects
 setup-plt: --- cleaning collections ---
 setup-plt: deleting: in planet/clements/rsound.plt/1/7
 setup-plt: deleting: in planet/clements/rsound.plt/1/7/private
 setup-plt: deleting: in planet/clements/rsound.plt/1/7/test
 setup-plt: --- updating info-domain tables ---
 setup-plt: updating: 
 /Users/clements/Library/Racket/planet/300/5.0.2.1/cache.rktd
 setup-plt: --- post-installing collections ---
 setup-plt: done
 Erasing metadata
 Deleting files in 
 /Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7
 Trimming empty directories
 Rebuilding documentation index
 setup-plt: version: 5.0.2.1 [3m]
 setup-plt: variants: 3m
 setup-plt: main collects: /Users/clements/plt/collects
 setup-plt: collects paths:
 setup-plt:   /Users/clements/git-clements/clements/collects
 setup-plt:   /Users/clements/clements/matthias/collects
 setup-plt:   /Users/clements/Library/Racket/5.0.2.1/collects
 setup-plt:   /Users/clements/plt/collects
 setup-plt: --- pre-installing collections ---
 setup-plt: --- compiling collections ---
 setup-plt: making: scribblings/main/user
 setup-plt: --- updating info-domain tables ---
 setup-plt: --- creating launchers ---
 setup-plt: --- building documentation ---
 setup-plt: skipping: planet/cce/scheme.plt/4/1/scribblings/main.scrbl
 setup-plt: skipping: planet/untyped/unlib.plt/3/23/scribblings/unlib.scrbl
 setup-plt: skipping: planet/cce/scheme.plt/6/3/reference/manual.scrbl
 setup-plt: rendering: scribblings/main/user/start.scrbl
 downloading clements/rsound:1 from planet.racket-lang.org via HTTP

 = Installing rsound.plt on Tue, 26 Oct 2010 11:51:31 =
 setup-plt: Unpacking archive from 
 /Users/clements/Library/Racket/planet/300/packages/clements/rsound.plt/1/7/rsound.plt
 setup-plt:   unpacking README in 
 /Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7/./
 setup-plt:   unpacking draw.rkt in 
 /Users/clements/Library/Racket/planet/300/5.0.2.1/cache/clements/rsound.plt/1/7/./
 ...
_
  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-26 Thread Sam Tobin-Hochstadt
On Mon, Oct 25, 2010 at 1:46 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests

Done.
-- 
sam th
sa...@ccs.neu.edu
_
  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-26 Thread Carl Eastlund
On Mon, Oct 25, 2010 at 11:09 PM, Eli Barzilay e...@barzilay.org wrote:
 9 hours ago, Ryan Culpepper wrote:
 [...]

 -- Release candidates are at
 --   http://pre.racket-lang.org/release/installers

 There is now a build there that includes Matthew's change to the
 unsafe bindings.  (As I said earlier -- it would be good to re-run
 tests that are contract-heavy, even if you already did.)

Dracula re-test: done.

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


Re: [racket-dev] 5.0.2 changelog

2010-10-26 Thread John Clements

On Oct 26, 2010, at 12:28 PM, Matthias Felleisen wrote:

 
 1. BSL, BSL+, ISL, and ISL+ (HtDP teaching languages) no longer support 
 checked signatures. 
 
 2. The stepper should kind of mostly work for universe programs. John? 

Precisely.

That is: there's more junk that could be hidden, but the universe program that 
I tested did in fact work[*] just fine. Has this been broken long enough that 
fixing it deserves a bullet? I'm inclined to say no.

John

[*] please insert usual caveats re: use of the word work.



smime.p7s
Description: S/MIME cryptographic signature
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev