Re: [racket-dev] highlighting function position with an underline.
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
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
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
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
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
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
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
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
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?
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?
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
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
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
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