Re: [racket-dev] P4P: A Syntax Proposal
Infix notation can be achieved unambiguously if you use LL(1) with backtracking ...which I didn't want to do. Pedagogically, it has been immensely valuable to explain to kids that + and - aren't some special thing, but are just mere operators -- and so are string-append and image-overlay and so on. Plus, there isn't much arithmetic in many Scheme programs, which means the quantity of actual infix is small. Infix goes beyond just arithmetic, ruby allows this sort of syntax some_list.map{...}.filter{...}.map{...}.fold_right{...} Which I find much more readable than (fold-right (map (filter (map some_list))) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Language selection considered harmful
When I'm answering such questions, it is getting extremely difficult to tell people what to do, and often leads to some confusingly broken dialog. See for example: http://stackoverflow.com/questions/3572450/packaging-system-in-racket This is mostly a rant since I don't see any easy way to improve it, especially given the problem of dealing with htdp based classes. It doesn't look like the documentation is very explicit about how to run r6rs programs in drracket, the only information I could find was running programs on the command line with plt-r6rs and other such commands. It looks like there are two places where the docs should say something about drracket and r6rs: http://docs.racket-lang.org/guide/standards.html?q=r6rsq=r6rs#(part._.R6.R.S) http://docs.racket-lang.org/r6rs/Running_Top-Level_Programs.html?q=r6rsq=r6rs _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Language selection considered harmful
On 08/26/2010 09:48 AM, Eli Barzilay wrote: On Aug 26, Jon Rafkind wrote: When I'm answering such questions, it is getting extremely difficult to tell people what to do, and often leads to some confusingly broken dialog. See for example: http://stackoverflow.com/questions/3572450/packaging-system-in-racket This is mostly a rant since I don't see any easy way to improve it, especially given the problem of dealing with htdp based classes. It doesn't look like the documentation is very explicit about how to run r6rs programs in drracket, the only information I could find was running programs on the command line with plt-r6rs and other such commands. It looks like there are two places where the docs should say something about drracket and r6rs: http://docs.racket-lang.org/guide/standards.html?q=r6rsq=r6rs#(part._.R6.R.S) http://docs.racket-lang.org/r6rs/Running_Top-Level_Programs.html?q=r6rsq=r6rs (Improving that would be nice, but I run into these things in many contexts, not just r6rs.) ya.. well im hacking on the r6rs docs right now at least _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Language selection considered harmful
On 08/26/2010 09:33 AM, Eli Barzilay wrote: It's getting to be difficult to tell people what to do wrt choosing a language. There are several things that contribute to this: * I can't use default language to refer to the module language, since it's not the default. * I can't use module language to refer to it since it's not known by that name -- and module is no longer something that newbies know about. * I can't even refer to some sane label in the language dialog, since there is only a description instead of a name -- unlike other languages. * The term language itself is very confusing -- no easy way to distinguish a language in the #lang sense and language in the entry in the language selection dialog sense. What about having some sub-options under use language declared in source for some common things people use? drracket could just insert the appropriate #lang line and use that language. * Use language declared in source * racket * r5rs * r6rs * typed-scheme * ... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #21160: master branch updated
http://www.cs.utah.edu/~rafkind/tmp/lines.png This is not yet enabled, to see it change (show-line-numbers?) to #t. I don't know how to add menu options and configuration stuff off-hand, if anyone can whip it up quickly go for it, otherwise it will take me some extra time to figure it out. Also this doesn't work well for split panes. When the definitions canvas is split the line numbers don't get split as well. On 09/28/2010 02:24 PM, rafk...@racket-lang.org wrote: rafkind has updated `master' from e4a598ccb2 to d112eb4ceb. http://git.racket-lang.org/plt/e4a598ccb2..d112eb4ceb =[ 1 Commits ]== Directory summary: 100.0% collects/drracket/private/ ~~ d112eb4 Jon Rafkindrafk...@racket-lang.org 2010-09-28 13:49 : | add line numbers pane to drracket : M collects/drracket/private/unit.rkt | 143 +++-- =[ Overall Diff ]=== collects/drracket/private/unit.rkt ~~ --- OLD/collects/drracket/private/unit.rkt +++ NEW/collects/drracket/private/unit.rkt @@ -447,8 +447,103 @@ module browser threading seems wrong. (set! definitions-text% (make-definitions-text%))) definitions-text%))) +;; TODO: get this from the configuation file +;; also add a menu entry that sets this property dynamically +(define (show-line-numbers?) #f) + +;; links two editor's together so they scroll in tandem +(define (linked-scroller %) + (class % + (super-new) + (field [linked #f]) + (init-field line-numbers?) + + (inherit insert line-start-position line-end-position) + + (define/public (link-to! who) + (set! linked who)) + + #; + (define/override (scroll-editor-to . args) + (printf Scroll editor to ~a\n args)) + #; + (define/override (scroll-to-position . args) + (printf Scroll-to-position ~a\n args)) + + (define (visible? want-start want-end) + (define start (box 0)) + (define end (box 0)) + (send this get-visible-line-range start end) + (and (= want-start (unbox start)) +(= want-end (unbox end + + (define/public (scroll-to-line start end) + (when (not (visible? start end)) + (send this scroll-to-position + (send this line-end-position start) + #f + (send this line-end-position end + + (define/augment (after-delete start length) + (when (not line-numbers?) + (when linked + (send linked ensure-length (send this last-line + (inner (void) after-delete start length)) + + (define/augment (after-insert start length) + (when (not line-numbers?) + #; + (printf Send ~a linked ensure-length ~a\n linked (send this last-line)) + (when linked + (send linked ensure-length (send this last-line + (inner (void) after-insert start length)) + + (define/public (ensure-length length) + (define lines (send this last-line)) + #; + (printf Line count has ~a needs ~a\n lines length) + (when line-numbers? + (when ( lines (add1 length)) + (send this delete + (line-start-position (add1 length)) + (line-end-position lines) + #f + )) + (send this begin-edit-sequence) + (for ([line (in-range (add1 lines) (add1 (add1 length)))]) + #; + (printf Insert line ~a\n line) + (insert (format ~a\n line))) + (send this end-edit-sequence))) + + (define/override (on-paint . args) + (define start (box 0)) + (define end (box 0)) + (define (current-time) (current-inexact-milliseconds)) + (send this get-visible-line-range start end) + #; + (printf text: Repaint at ~a to ~a at ~a!\n (unbox start) (unbox end) (current-time)) + (when linked + (send linked scroll-to-line (unbox start) (unbox end))) + (super on-paint . args)) + #; + (define/override (on-scroll-on-change . args) + (printf Scroller on-scroll-on-change ~a\n args)) + #; + (define/override (scroll-to . args) + (printf Scrolled to ~a\n args) + #; + (super on-scroll event + +;; an editor that does not respond to
Re: [racket-dev] Pre-Release Checklist for v5.0.2
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) done source - ok binary - ok _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] building docs, compile collects
If I run 'racket -f quiet.rktl' in collects/tests/racket a bunch of collects will be pulled in (mzlib, scheme, racket, etc.). So I would need to do 'raco setup -D racket mzlib scheme', not to mention first figure out what collections are pulled in to begin with. On 10/25/2010 03:57 PM, Robby Findler wrote: Oh, yes. Just run make install and then raco setup -D racket. Write it down on a postit and stick it on your screen. :) Or make a little script that does the whole git pull thing and onwards. Robby On Mon, Oct 25, 2010 at 4:22 PM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: On Mon, Oct 25, 2010 at 5:15 PM, Jon Rafkind rafk...@cs.utah.edu wrote: On 10/25/2010 03:06 PM, Sam Tobin-Hochstadt wrote: On Mon, Oct 25, 2010 at 4:54 PM, Jon Rafkind rafk...@cs.utah.edu wrote: My motivation is to quickly test changes to core libraries (like collects/racket) after doing a 'git pull --rebase'. Given that this is your motivation, why not just use: 'raco setup -D' which skips the documentation altogether? The issue is building collects that I don't care about nor do the tests exercise (like algol60, or all of drracket). In the event that there is some subtle issue between my changes and a collect that I don't want to build then DrDr will find it. Try 'raco setup racket' -- sam th sa...@ccs.neu.edu _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ 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
Re: [racket-dev] 5.0.2 changelog
Would people like a list of their own commits and they can choose which ones should have an accompanying release note? $ git log da9b718bf80c3e678e1d9372c521d512e0b91747..master --author=rafkind On 10/27/2010 03:55 PM, Jay McCarthy wrote: On Tue, Oct 26, 2010 at 12:34 PM, Jon Rafkind rafk...@cs.utah.edu wrote: 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 I don't know where this list came from but it is lacking. There are some changes to PLAI and to the Web server. Jay 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
[racket-dev] 5.0.2 changelog
Please find your name below and provide some blurb for the 5.0.2 changelog Author: Jay McCarthy j...@racket-lang.org - Adding define-datatype to ASL - PLAI changes - Webserver changes Author: Sam Tobin-Hochstadt sa...@racket-lang.org Faster loading of TR files? Author: Casey Klein clkl...@racket-lang.org redex things? Author: Matthew Flatt mfl...@racket-lang.org Modules spliced at the file level instead of collection level. Internal definitions for `when', `unless', `cond', `case', and `match' #true and #false forms Author: Robby Findler ro...@racket-lang.org - Check syntax changes - triangle primitives Author: Jay McCarthy j...@racket-lang.org - New hash functions Author: ryan - data/gvector - syntax/parse updates _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] 5.0.2 changelog
On 10/28/2010 06:36 AM, Sam Tobin-Hochstadt wrote: On Thu, Oct 28, 2010 at 1:40 AM, Jon Rafkind rafk...@cs.utah.edu wrote: Author: Sam Tobin-Hochstadt sa...@racket-lang.org Faster loading of TR files? Not worth mentioning. You do have the optimizer-by-default in the changelog, right? yessir _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] try the GRacket2 branch
Maybe I screwed something up but I can't tell if I'm running gr2 or not. I built the gr2 branch and ran drscheme but so far it looks exactly the same as gr1 (which I am positive is actually gr1). Is there an easy way to tell if I'm running gr2? Or should gr2 look identical to gr1? On 10/28/2010 12:25 AM, Matthew Flatt wrote: The git repository now includes a gr2 branch for the new implementation of `racket/gui', which we've been informally calling GRacket2. The new `racket/gui' is intended to be mostly compatible with the current library, but there are some significant incompatibilities. Those differences are described below in a copy of the Porting from v5.0.x to vX.Y notes that are linked from the Release Notes page of the documentation. GRacket2 is a misnomer in the sense that you can use the new `racket/gui' with just `racket'. Furthermore, the drawing layer is mostly unbundled from the GUI layer into a separate `racket/draw' library, so you can manipulate images without a GUI (e.g., without an X11 connection). The documentation doesn't yet reflect the GUI--Draw split, Slideshow's pict library doesn't yet use `racket/draw', etc., but I hope to get to that next. More immediately, it's time for you to try out the gr2 branch for everyday work. I've switched to GRacket2 for SirMail, Slideshow, and DrRacket --- even during lecture. All library functionality is in place, but I'm sure that gaps and problems will show up as we put the library to work (and I know that some of the tests still fail). I expect to see many bug reports; once the bug reports slow down, I'll take that as a sign that GRacket2 can move to master branch. GRacket, Racket, Drawing, and GUIs -- Version X.Y includes two major changes to the Racket drawing and GUI API: * The drawing portion of the GUI toolbox is now available as a separate layer: `racket/draw'. This layer can be used independent of the `racket/gui/base' library, although `racket/gui' re-exports `racket/draw'. (The `racket/draw' library is built on top of the widely used Cairo drawing library and Pango text-rendering library.) * The GRacket executable is no longer strictly necessary for running GUI programs; the `racket/gui/base' library can be used from Racket. The GRacket executable still offers some additional GUI-specific functiontality however. Most notably, GRacket is a GUI application under Windows (as opposed to a console application, which is launched slightly differently by the OS), GRacket is a bundle under Mac OS X (so the dock icon is the Racket logo, for example), and GRacket manages single-instance mode for Windows and X. The drawing and GUI libraries have also changed in further small ways. Bitmaps --- Drawing to a bitmap may not produce the same results as drawing to a canvas. Use the `make-screen-bitmap' function (from `racket/gui') or the `make-bitmap' method of `canvas%' to obtain a bitmap that uses the same drawing algorithms as a canvas. A color bitmap can have an alpha channel, instead of just a mask bitmap. When drawing a bitmap, alpha channels are used more consistently and automatically than mask bitmaps. More significantly, drawing into a bitmap with an alpha channel preserves the drawn alphas; for example, drawing a line in the middle of an empty bitmap produces an image with non-zero alpha only at the drawn line. Only bitmaps created with the new `make-gl-bitmap' function support OpenGL drawing. Use the new `make-bitmap', `read-bitmap', `make-monochrome-bitmap', `make-screen-bitmap', and `make-gl-bitmap' functions to create bitmaps, instead of using `make-object' with `bitmap%'. The new constructors are less overloaded and provide more modern defaults (such as alpha channels by default). Image formats can be read into a `bitmap%' from from input ports, instead of requiring a file path. A newly created bitmap has an empty content (i.e., white with zero alpha), instead of unspecified content. Canvases Drawing to a canvas always draws into a bitmap that is kept offscreen and periodically flushed onto the screen. The new `suspend-flush' and `resume-flush' methods of `canvas%' provide some control over the timing of the flushes, which in many cases avoids the need for (additional) double buffering of canvas content. OpenGL drawing in a canvas requires supplying 'gl as a style when creating the `canvas%' instance. OpenGL and normal dc% drawing no longer mix reliably in a canvas. Drawing-Context Transformations --- A `dc%' instance supports rotation (via `set-rotation'), negative scaling factors for flipping, and a general transformation matrix (via `set-initial-matrix'). A transformation matrix has the form `(vector xx xy yx yy x0 y0)', where a point (x1, y1) is transformed to a point (x2, y2)
Re: [racket-dev] try the GRacket2 branch
I got it to work, I think my initial trouble was I ran $ git checkout -b gr2 instead of $ git checkout gr2 On 10/28/2010 12:11 PM, Robby Findler wrote: Under ubuntu the menus are ubuntu colors instead of grey. Under mac os x, the splash screen's progress bar is slightly taller. Robby On Thu, Oct 28, 2010 at 12:42 PM, Matthew Flatt mfl...@cs.utah.edu wrote: The version number on GRacket2 right now is 5.0.2.2. At Thu, 28 Oct 2010 11:26:43 -0600, Jon Rafkind wrote: Maybe I screwed something up but I can't tell if I'm running gr2 or not. I built the gr2 branch and ran drscheme but so far it looks exactly the same as gr1 (which I am positive is actually gr1). Is there an easy way to tell if I'm running gr2? Or should gr2 look identical to gr1? On 10/28/2010 12:25 AM, Matthew Flatt wrote: The git repository now includes a gr2 branch for the new implementation of `racket/gui', which we've been informally calling GRacket2. The new `racket/gui' is intended to be mostly compatible with the current library, but there are some significant incompatibilities. Those differences are described below in a copy of the Porting from v5.0.x to vX.Y notes that are linked from the Release Notes page of the documentation. GRacket2 is a misnomer in the sense that you can use the new `racket/gui' with just `racket'. Furthermore, the drawing layer is mostly unbundled from the GUI layer into a separate `racket/draw' library, so you can manipulate images without a GUI (e.g., without an X11 connection). The documentation doesn't yet reflect the GUI--Draw split, Slideshow's pict library doesn't yet use `racket/draw', etc., but I hope to get to that next. More immediately, it's time for you to try out the gr2 branch for everyday work. I've switched to GRacket2 for SirMail, Slideshow, and DrRacket --- even during lecture. All library functionality is in place, but I'm sure that gaps and problems will show up as we put the library to work (and I know that some of the tests still fail). I expect to see many bug reports; once the bug reports slow down, I'll take that as a sign that GRacket2 can move to master branch. GRacket, Racket, Drawing, and GUIs -- Version X.Y includes two major changes to the Racket drawing and GUI API: * The drawing portion of the GUI toolbox is now available as a separate layer: `racket/draw'. This layer can be used independent of the `racket/gui/base' library, although `racket/gui' re-exports `racket/draw'. (The `racket/draw' library is built on top of the widely used Cairo drawing library and Pango text-rendering library.) * The GRacket executable is no longer strictly necessary for running GUI programs; the `racket/gui/base' library can be used from Racket. The GRacket executable still offers some additional GUI-specific functiontality however. Most notably, GRacket is a GUI application under Windows (as opposed to a console application, which is launched slightly differently by the OS), GRacket is a bundle under Mac OS X (so the dock icon is the Racket logo, for example), and GRacket manages single-instance mode for Windows and X. The drawing and GUI libraries have also changed in further small ways. Bitmaps --- Drawing to a bitmap may not produce the same results as drawing to a canvas. Use the `make-screen-bitmap' function (from `racket/gui') or the `make-bitmap' method of `canvas%' to obtain a bitmap that uses the same drawing algorithms as a canvas. A color bitmap can have an alpha channel, instead of just a mask bitmap. When drawing a bitmap, alpha channels are used more consistently and automatically than mask bitmaps. More significantly, drawing into a bitmap with an alpha channel preserves the drawn alphas; for example, drawing a line in the middle of an empty bitmap produces an image with non-zero alpha only at the drawn line. Only bitmaps created with the new `make-gl-bitmap' function support OpenGL drawing. Use the new `make-bitmap', `read-bitmap', `make-monochrome-bitmap', `make-screen-bitmap', and `make-gl-bitmap' functions to create bitmaps, instead of using `make-object' with `bitmap%'. The new constructors are less overloaded and provide more modern defaults (such as alpha channels by default). Image formats can be read into a `bitmap%' from from input ports, instead of requiring a file path. A newly created bitmap has an empty content (i.e., white with zero alpha), instead of unspecified content. Canvases Drawing to a canvas always draws into a bitmap that is kept offscreen and periodically flushed onto the screen. The new `suspend-flush' and `resume-flush' methods of `canvas%' provide some control over the timing of the flushes, which in many cases avoids the need for (additional) double buffering of canvas content. OpenGL drawing in a canvas requires
Re: [racket-dev] try the GRacket2 branch
On 10/28/2010 01:05 PM, Casey Klein wrote: On Thu, Oct 28, 2010 at 1:25 AM, Matthew Flatt mfl...@cs.utah.edu wrote: More immediately, it's time for you to try out the gr2 branch for everyday work. In case there's anyone else who wants to try but (somehow) knows even less about git than I do, here's what I did to checkout the branch. $ git clone g...@git.racket-lang.org:plt gr2 $ git branch gr2 origin/gr2 $ git checkout gr2 It seems to have worked, but there may be a more git-savvy way to do it. You should be able to do just $ git clone ... $ git checkout gr2 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Demodularizer
How do you run the resulting _merged file? I ran 'raco demod p.rkt' and got compiled/p_rkt_zo_merged.zo. Then I tried running racket on it but got an error $ ~/bin/plt/bin/racket p_rkt_zo_merged compiled/p_rkt_zo_merged.zo: read (compiled): ill-formed code (bad count: 436459 != 801349, started at 11951) Also just some quick stats: $ cat p.rkt #lang racket (define (hello) (printf Hello world!)) (hello) $ ls -l compiled/p_rkt.zo ;; just using raco make 352 $ ls -l compiled/p_rkt_zo_merged.zo 448410 Would you mind renaming the command to 'demodularize' ? On 10/29/2010 07:53 PM, Jay McCarthy wrote: Here is a message from Blake Johnson about something I just pushed for him: Jay recently committed my changes implementing raco demod, which will flatten a modular program into a single compiled module. How to use it: Run raco demod filename. This will produce a demodularized zo file called filename_merged.zo which can then be run by passing it to racket. This process can take quite a while, so if you want to see what is going on, you can set PLTSTDERR=debug or info. Once the zo file is created, it can be moved and run from anywhere because it has no dependencies. What it doesn't do (yet): - Dead code elimination This is partially implemented but doesn't handle every case properly, so it is turned off for now. - Optimize the program This is the next big thing I'm working on, which involves decompiling the zo slightly and converting it into c structs so that the existing optimizer can run on it. - Work with programs that dynamically manipulate modules This means things like DrRacket won't be able to be demodularized. We have some ideas on how to handle this, but it probably won't happen any time soon. Other improvements: zo-parse and zo-marshal should be able to handle any .zo you throw at them. Help needed: Any programs that don't work after demodularization would be helpful. Thanks, Blake Johnson At the moment, we have not measured any performance improvements, etc after using the demodularizer. At the moment, we do not anticipate that there will be any because we are not doing DCE or the re-optimization. We'll let everyone know when we measure that. For the moment, this may be of particular interest to any out there that are doing program analysis and would like whole programs. Jay _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Demodularizer
Ok nevermind about the bug, I had some leftover .zo files. When I erased my compiled directory and reran the demodularizer it worked. Another quick stat: $ time raco demod p.rkt real 3m55.563s 1.8ghz amd On 10/29/2010 10:40 PM, Jon Rafkind wrote: How do you run the resulting _merged file? I ran 'raco demod p.rkt' and got compiled/p_rkt_zo_merged.zo. Then I tried running racket on it but got an error $ ~/bin/plt/bin/racket p_rkt_zo_merged compiled/p_rkt_zo_merged.zo: read (compiled): ill-formed code (bad count: 436459 != 801349, started at 11951) Also just some quick stats: $ cat p.rkt #lang racket (define (hello) (printf Hello world!)) (hello) $ ls -l compiled/p_rkt.zo ;; just using raco make 352 $ ls -l compiled/p_rkt_zo_merged.zo 448410 Would you mind renaming the command to 'demodularize' ? On 10/29/2010 07:53 PM, Jay McCarthy wrote: Here is a message from Blake Johnson about something I just pushed for him: Jay recently committed my changes implementing raco demod, which will flatten a modular program into a single compiled module. How to use it: Run raco demod filename. This will produce a demodularized zo file called filename_merged.zo which can then be run by passing it to racket. This process can take quite a while, so if you want to see what is going on, you can set PLTSTDERR=debug or info. Once the zo file is created, it can be moved and run from anywhere because it has no dependencies. What it doesn't do (yet): - Dead code elimination This is partially implemented but doesn't handle every case properly, so it is turned off for now. - Optimize the program This is the next big thing I'm working on, which involves decompiling the zo slightly and converting it into c structs so that the existing optimizer can run on it. - Work with programs that dynamically manipulate modules This means things like DrRacket won't be able to be demodularized. We have some ideas on how to handle this, but it probably won't happen any time soon. Other improvements: zo-parse and zo-marshal should be able to handle any .zo you throw at them. Help needed: Any programs that don't work after demodularization would be helpful. Thanks, Blake Johnson At the moment, we have not measured any performance improvements, etc after using the demodularizer. At the moment, we do not anticipate that there will be any because we are not doing DCE or the re-optimization. We'll let everyone know when we measure that. For the moment, this may be of particular interest to any out there that are doing program analysis and would like whole programs. Jay _ 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] adding preferences
I currently have a preference to enabling/disabling line numbers in the 'view' menu which is easy to set up in drracket/collects/main.rkt. A user asked me to add a checkbox they could select in edit-preferences-general which I see is controlled by framework/private/preferences.rkt but I can't seem to get a reference to the definitions text from there. I suppose I can make the preference set the 'drracket:show-line-numbers property but it would be nice if it could dynamically update the line numbers, much like 'view-show line numbers' currently does. Is there a way to get to the definitions text in those callbacks? _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] adding preferences
nevermind, I see preferences:add-to-general-checkbox-panel in drracket/private/main.rkt On 11/01/2010 10:27 PM, Jon Rafkind wrote: I currently have a preference to enabling/disabling line numbers in the 'view' menu which is easy to set up in drracket/collects/main.rkt. A user asked me to add a checkbox they could select in edit-preferences-general which I see is controlled by framework/private/preferences.rkt but I can't seem to get a reference to the definitions text from there. I suppose I can make the preference set the 'drracket:show-line-numbers property but it would be nice if it could dynamically update the line numbers, much like 'view-show line numbers' currently does. Is there a way to get to the definitions text in those callbacks? _ 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] for behavior with empty sequence
Is this the right behavior for a `for' loop when no sequences are given? - (for () (printf ok!\n)) ok! - (for ([x (in-list (list))]) (printf ok!\n)) - I would expect the body to occur 0 times. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #21491: master branch updated
It occured to me while making this small patch that the name of the macro shown in the error message might not be the same as the one the user called. Namely, if the user renames or prefixes the macro when requiring it then they will get a mismatch. This seems to be consistent with how `raise-syntax-error' already works though so is it a big deal? On 11/09/2010 05:26 PM, rafk...@racket-lang.org wrote: rafkind has updated `master' from 3936a40717 to 81eac261dc. http://git.racket-lang.org/plt/3936a40717..81eac261dc =[ 1 Commits ]== Directory summary: 100.0% collects/racket/private/ ~~ 81eac26 Jon Rafkind rafk...@racket-lang.org 2010-11-09 17:23 : | better error message for define-syntax-rule : M collects/racket/private/misc.rkt | 22 -- =[ Overall Diff ]=== collects/racket/private/misc.rkt --- OLD/collects/racket/private/misc.rkt +++ NEW/collects/racket/private/misc.rkt @@ -12,18 +12,20 @@ (define-syntax define-syntax-rule (lambda (stx) (syntax-case stx () -[(dr (foo . pattern) template) - (identifier? #'foo) +[(dr (name . pattern) template) + (identifier? #'name) (syntax/loc stx - (define-syntax foo - (lambda (x) - (syntax-case** dr #t x () free-identifier=? - [(_ . pattern) (syntax/loc x template)]] -[(dr (foo . pattern) template) - (raise-syntax-error 'define-syntax-rule expected an identifier stx #'foo)] -[(dr (foo . pattern)) + (define-syntax name + (lambda (user) + (syntax-case** dr #t user () free-identifier=? + [(_ . pattern) (syntax/loc user template)] + [else (raise-syntax-error 'name (format ~a did not match pattern ~a (syntax-datum user) '(name . pattern)))] + ] +[(dr (name . pattern) template) + (raise-syntax-error 'define-syntax-rule expected an identifier stx #'name)] +[(dr (name . pattern)) (raise-syntax-error 'define-syntax-rule no template provided stx)] -[(dr (foo . pattern) template . etc) +[(dr (name . pattern) template . etc) (raise-syntax-error 'define-syntax-rule too many templates stx #'etc)] [(dr head . template) (raise-syntax-error 'define-syntax-rule invalid pattern stx #'head)]))) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #21533: master branch updated
On 11/16/2010 02:39 PM, Robby Findler wrote: I added (but have not pushed, apprently) queue-map. Mind if we keep that one instead? Instead of what.. queue-list? I guess you can implement queue-list in terms of queue-map as (queue-map values queue), but I'd rather not write that in user code. Also, I think that a rename like the below is a bad idea if the queues have been released already. I added queue-count yesterday or so, so its fairly fresh. (The rename was not my idea) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] proposed clarification to async-apply docs
FWIW I agree with John and disagree with Jay. On 11/16/2010 03:45 PM, Jay McCarthy wrote: The typesetting on async-apply clearly refers to the argument rather than to a well-known function. This is a convention of the docs that I don't think merits special attention here, although this case may indicate we should make a how to read the documentation section that points out these conventions. Jay On Tue, Nov 16, 2010 at 1:26 PM, John Clements cleme...@brinckerhoff.org wrote: My quick reading of the documentation for the #:async-apply argument to the _fun form led to a misunderstanding; the docs seemed to be suggesting that some built-in 'async-apply' procedure was doing all of these magical things, whereas the point was to indicate that the *user* must provide an async-apply that behaves correctly. I wound up going through and replacing 'async-apply' with 'the given async-apply procedure' in about five places. I think the text is clearer now; let me know if I shouldn't commit these changes. Otherwise, I'll commit them locally and push them sometime soon. John pcp062767pcs:~/plt/collects/scribblings/foreign clements$ git diff types.scrbl diff --git a/collects/scribblings/foreign/types.scrbl b/collects/scribblings/foreign/types.scrbl index 9d753ac..233f48d 100644 --- a/collects/scribblings/foreign/types.scrbl +++ b/collects/scribblings/foreign/types.scrbl @@ -401,19 +401,22 @@ procedure with the generated procedure type can be applied in a foreign thread (i.e., an OS-level thread other than the one used to run Racket). The call in the foreign thread is transferred to the OS-level thread that runs Racket, but the Racket-level thread (in the -sense of @racket[thread]) is unspecified; the job of -...@scheme[async-apply] is to arrange for the callback procedure to be -run in a suitable Racket thread. The @scheme[async-apply] function is +sense of @racket[thread]) is unspecified; the job of the provided +...@scheme[async-apply] procedure is to arrange for the callback procedure to be +run in a suitable Racket thread. The given @scheme[async-apply] procedure is applied to a thunk that encapsulates the specific callback invocation, and the foreign OS-level thread blocks until the thunk is called and completes; the thunk must be called exactly once, and the callback -invocation must return normally. The @scheme[async-apply] procedure +invocation must return normally. The given @scheme[async-apply] procedure itself is called in atomic mode (see @scheme[atomic?] above). If the callback is known to complete quickly, requires no synchronization, and works independent of the Racket thread in which it runs, then -...@scheme[async-apply] can apply the thunk directly. Otherwise, -...@racket[async-apply] must arrange for the thunk to be applied in a -suitable Racket thread sometime after @racket[async-apply] itself +it is safe for the given +...@scheme[async-apply] procedure to apply the thunk directly. Otherwise, +the given @racket[async-apply] procedure +must arrange for the thunk to be applied in a +suitable Racket thread sometime after the given +...@racket[async-apply] procedure itself returns; if the thunk raises an exception or synchronizes within an unsuitable Racket-level thread, it can deadlock or otherwise damage the Racket process. Foreign-thread detection to trigger pcp062767pcs:~/plt/collects/scribblings/foreign clements$ _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] code base metrics
And because I already started it, here is the entire collects tree (370k file) http://www.cs.utah.edu/~rafkind/tmp/racket-definitions.txt On 11/29/2010 03:34 PM, Matthias Felleisen wrote: That makes sense. For now, I am fine with this very first-order approximation. Thanks On Nov 29, 2010, at 5:32 PM, Jon Rafkind wrote: There is one thing defined at phase 0, module-begin. The module exports a bunch of stuff (provide (rename-out [module-begin #%module-begin]) (except-out (all-from-out scheme/base) #%module-begin) (all-from-out scheme/unit) (all-from-out scheme/contract) (for-syntax (all-from-out scheme/base))) I realize you probably wanted something like 'only count exports of things defined in the module' but thats a little harder to compute, which is why the metric is a first approximation. On 11/29/2010 03:29 PM, Matthias Felleisen wrote: Thanks, that's great. But what does this mean: collects/racket/signature/lang.rkt defined 1 exported 2747 -- Matthias On Nov 29, 2010, at 4:24 PM, Jon Rafkind wrote: On 11/29/2010 12:20 PM, Jon Rafkind wrote: I hacked my old tool to get a first approximation and ran it on all the files of the collects/racket tree. I can run it on the entire collects tree if you want, but its sort of slow so it will take a while. I couldn't expand all the files because local requires failed, I'll try to fix that. Here is a better list collects/racket/file.rkt defined 29 exported 18 collects/racket/include.rkt defined 5 exported 4 collects/racket/set.rkt defined 32 exported 26 collects/racket/gui/info.rkt defined 3 exported 2 collects/racket/gui/init.rkt defined 0 exported 3354 collects/racket/gui/base.rkt defined 4 exported 209 collects/racket/gui/lang/reader.rkt defined 6 exported 3 collects/racket/gui/dynamic.rkt defined 5 exported 2 collects/racket/gui/installer.rkt defined 1 exported 1 collects/racket/match/define-forms.rkt defined 1 exported 1 collects/racket/match/compiler.rkt defined 13 exported 1 collects/racket/match/struct.rkt defined 1 exported 1 collects/racket/match/runtime.rkt defined 11 exported 6 collects/racket/match/gen-match.rkt defined 3 exported 2 collects/racket/match/patterns.rkt defined 194 exported 163 collects/racket/match/reorder.rkt defined 11 exported 1 collects/racket/match/parse-legacy.rkt defined 1 exported 1 collects/racket/match/parse.rkt defined 2 exported 1 collects/racket/match/parse-helper.rkt defined 15 exported 11 collects/racket/match/parse-quasi.rkt defined 3 exported 1 collects/racket/match/legacy-match.rkt defined 11 exported 15 collects/racket/match/match-expander.rkt defined 1 exported 1 collects/racket/match/match.rkt defined 11 exported 16 collects/racket/match/split-rows.rkt defined 2 exported 1 collects/racket/system.rkt defined 0 exported 8 collects/racket/control.rkt defined 0 exported 24 collects/racket/package.rkt defined 10 exported 11 collects/racket/runtime-path.rkt defined 2 exported 7 collects/racket/tcp.rkt defined 1 exported 12 collects/racket/runtime-config.rkt defined 1 exported 1 collects/racket/init.rkt defined 0 exported 3206 collects/racket/serialize.rkt defined 5 exported 12 collects/racket/surrogate.rkt defined 1 exported 1 collects/racket/cmdline.rkt defined 5 exported 2 collects/racket/splicing.rkt defined 15 exported 11 collects/racket/provide-syntax.rkt defined 1 exported 1 collects/racket/require-transform.rkt defined 30 exported 22 collects/racket/load/lang/reader.rkt defined 6 exported 3 collects/racket/stream.rkt defined 19 exported 17 collects/racket/contract/regions.rkt defined 5 exported 3 collects/racket/contract/private/object.rkt defined 15 exported 6 collects/racket/contract/private/arrow.rkt defined 104 exported 17 collects/racket/contract/private/ds.rkt defined 45 exported 9 collects/racket/contract/private/guts.rkt defined 95 exported 69 collects/racket/contract/private/misc.rkt defined 121 exported 28 collects/racket/contract/private/provide.rkt defined 4 exported 2 collects/racket/contract/private/base.rkt defined 5 exported 3 collects/racket/contract/private/hash.rkt defined 22 exported 1 collects/racket/contract/private/vector.rkt defined 52 exported 4 collects/racket/contract/private/helpers.rkt defined 12 exported 9 collects/racket/contract/private/basic-opters.rkt defined 0 exported 0 collects/racket/contract/private/arr-i.rkt defined 26 exported 1 collects/racket/contract/private/opt-guts.rkt defined 40 exported 31 collects/racket/contract/private/legacy.rkt defined 22 exported 18 collects/racket/contract/private/arr-util.rkt defined 2 exported 2 collects/racket/contract/private/box.rkt defined 26 exported 2 collects/racket/contract/private/prop.rkt defined 72 exported 19 collects/racket/contract/private/opt.rkt defined 20 exported 6 collects/racket/contract/private/arr-i-old.rkt defined 22 exported 1 collects/racket/contract/private/arr-i-parse.rkt defined 45
Re: [racket-dev] code base metrics
Oh, there were some errors while running the script so to clean it up I just did 'grep defined out' :p /home/kazzmir/svn/plt/racket/collects/htdp/tests/guess-gui.rkt:10:3: view: name is not defined, not a parameter, and not a primitive name in: view On 12/01/2010 08:40 PM, Matthias Felleisen wrote: Thanks. When I re-run my 'averaging' I get around 34% exports. BTW, your script is broken. Look for view: name _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] full tree text search
On 12/08/2010 10:12 PM, Eli Barzilay wrote: Is this different from a recursive grep? (See also `git grep' -- and there's a web interface for that, http://git.racket-lang.org//plt?a=searchh=HEADst=greps=foo ) Oh I had no idea git grep existed. Well that looks good enough for now. (BTW, recursive grep on the command line is not so trivial.. $ find . -name *.rkt | xargs grep foo ) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] spam planet bug reports
FWIW, recaptcha is really easy to set up. Like less than 10 minutes from not knowing anything about it to having a working system. http://www.google.com/recaptcha On 12/11/2010 07:33 AM, Robby Findler wrote: Some spam system figured out my low-tech anti-spam device for planet so I changed the regexp to insist that the version numbers begin with a 'v' (and I give less of a clue in the error message now). If this stops working soon, Ill probably just disable planet bug report submissions until I can find time to figure out how to make a captcha work. Sorry for the inconvenience. Robby _ 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] sudo make install
A user on IRC complained about an issue where after building and installing racket (with 'sudo make install') he received the following error upon starting drracket: Error saving preferences: open-output-file: cannot open output file: ~/.racket/.LOCKracket-prefs.rktd (Permission denied; errno=13) Apparently some part of the installation process writes to ~/.racket and since he used 'sudo' it was with root privileges. Its worth noting that if you use 'su -c make install' things work because 'su -c' changes $HOME to /root whereas sudo does not. The user used 'sudo make install' because he passed '--prefix=/usr/local' to configure and so expected things to install there. I suppose this is a case of user error but its extremely subtle so I wouldn't call it that. Maybe during installation ~/.racket shouldn't be used, and /tmp/racket could be used instead or something? _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] sudo make install
I reproduced this. 'make install' was killed due to a memory shortage but before it died it wrote out .racket. This happened somewhere while the scribble files were being processed. $ find .racket .racket .racket/5.0.99.6 .racket/5.0.99.6/doc .racket/5.0.99.6/doc/handin-server .racket/5.0.99.6/doc/handin-server/in.sxref .racket/5.0.99.6/doc/handin-server/stamp.sxref .racket/5.0.99.6/doc/handin-server/out.sxref On 12/31/2010 02:44 PM, Jon Rafkind wrote: Well I'm not sure when he will pop into irc again but I'll try to reproduce this scenario. On 12/31/2010 02:43 PM, Robby Findler wrote: Probably whatever is writing to the preferences file should not be doing that. If he could send along whatever is in the .racket/ directory (and owned by root) that would be useful. Robby On Fri, Dec 31, 2010 at 1:38 AM, Jon Rafkind rafk...@cs.utah.edu wrote: A user on IRC complained about an issue where after building and installing racket (with 'sudo make install') he received the following error upon starting drracket: Error saving preferences: open-output-file: cannot open output file: ~/.racket/.LOCKracket-prefs.rktd (Permission denied; errno=13) Apparently some part of the installation process writes to ~/.racket and since he used 'sudo' it was with root privileges. Its worth noting that if you use 'su -c make install' things work because 'su -c' changes $HOME to /root whereas sudo does not. The user used 'sudo make install' because he passed '--prefix=/usr/local' to configure and so expected things to install there. I suppose this is a case of user error but its extremely subtle so I wouldn't call it that. Maybe during installation ~/.racket shouldn't be used, and /tmp/racket could be used instead or something? _ 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
Re: [racket-dev] sudo make install
On 01/03/2011 10:52 AM, Robby Findler wrote: On Mon, Jan 3, 2011 at 11:42 AM, Matthew Flatt mfl...@cs.utah.edu wrote: At Mon, 3 Jan 2011 11:39:28 -0600, Robby Findler wrote: I've changed the handin server so it puts its docs in the main tree like (I believe) it is supposed to. That breaks the distribution build. The handin-server docs were intentionally not installed into the main tree, because handin-server is not included in the distribution. So what the irc person was doing is just not supposed to work, I guess? I'd still like to find out what preference was getting set, so if Jon tries again, that'd be interesting to me. As of commit commit e6d45e2ae6804a73c9cea2a41d544c4a65b7a5d9 Author: Robby Findler ro...@racket-lang.org Date: Mon Jan 3 08:19:51 2011 -0600 a 'sudo make install' does not create the ~/.racket directory and things install fine into /usr/local when --prefix=/usr/local is given to `configure' _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] sudo make install
Won't that make .racket be owned by root again when some preference file gets written out during 'make install'? On 01/03/2011 12:47 PM, Robby Findler wrote: Ah. So the problem was that root owned the .racket directory itself. Should I revert my commit? Robby On Mon, Jan 3, 2011 at 1:39 PM, Jon Rafkind rafk...@cs.utah.edu wrote: On 01/03/2011 10:52 AM, Robby Findler wrote: On Mon, Jan 3, 2011 at 11:42 AM, Matthew Flatt mfl...@cs.utah.edu wrote: At Mon, 3 Jan 2011 11:39:28 -0600, Robby Findler wrote: I've changed the handin server so it puts its docs in the main tree like (I believe) it is supposed to. That breaks the distribution build. The handin-server docs were intentionally not installed into the main tree, because handin-server is not included in the distribution. So what the irc person was doing is just not supposed to work, I guess? I'd still like to find out what preference was getting set, so if Jon tries again, that'd be interesting to me. As of commit commit e6d45e2ae6804a73c9cea2a41d544c4a65b7a5d9 Author: Robby Findler ro...@racket-lang.org Date: Mon Jan 3 08:19:51 2011 -0600 a 'sudo make install' does not create the ~/.racket directory and things install fine into /usr/local when --prefix=/usr/local is given to `configure' _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] sudo make install
On 01/03/2011 12:55 PM, Sam Tobin-Hochstadt wrote: On Mon, Jan 3, 2011 at 2:51 PM, Robby Findler ro...@eecs.northwestern.edu wrote: Or maybe there is another possible solution that involves changing how the distribution and or the docs build works? I think the conventional solution is for `make install' to do much less work than it current does. In normal Make-built software, `make' does all of the compilation, and `make install' just does the copying. That way, `make install' wouldn't be doing things like reading preferences and creating the '.racket' directory. Yea, I kind of feel like 'make' should build all the collects and docs and whatnot. Unless there is a good reason not to. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] raco setup hangs
`raco setup' hangs when it tries to build my planet package. I narrowed down the problem to this file #lang racket/base (require racket/class) (define bar (mixin () () (define (foo) (let loop ([x 0]) (printf loop!\n) (loop (begin ;; uncomment for this to fail #; (send this anything) 2)) Put that in bar.rkt or whatever and add it as the main file of info.ss. If the line (send this anything) is uncommented then `raco setup' will hang. It dosen't print loop! or anything so its not obvious whats wrong. `raco make bar.rkt' works though. I'm not exactly sure when this behavior started occurring but it was something like 3 weeks ago. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] raco setup hangs
thanks, it works now On 01/13/2011 01:14 PM, Matthew Flatt wrote: This was a bug in the optimizer's tracking of inlining so that it tried to unroll `loop' forever. It's now fixed. At Mon, 10 Jan 2011 17:16:45 -0700, Jon Rafkind wrote: `raco setup' hangs when it tries to build my planet package. I narrowed down the problem to this file #lang racket/base (require racket/class) (define bar (mixin () () (define (foo) (let loop ([x 0]) (printf loop!\n) (loop (begin ;; uncomment for this to fail #; (send this anything) 2)) Put that in bar.rkt or whatever and add it as the main file of info.ss. If the line (send this anything) is uncommented then `raco setup' will hang. It dosen't print loop! or anything so its not obvious whats wrong. `raco make bar.rkt' works though. I'm not exactly sure when this behavior started occurring but it was something like 3 weeks ago. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket-lang down?
its working for me. i just submitted a bug, too. On 01/19/2011 04:44 PM, John Clements wrote: It looks like racket-lang.org is down. John _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1
On 01/31/2011 03:50 PM, Ryan Culpepper wrote: Checklist items for the v5.1 release (using the v5.0.99.900 release candidate build) Search for your name to find relevant items, reply when you finish an item (please indicate which item/s is/are done). Also, if you have any commits that should have been picked, make sure that the changes are in. Important: new builds are created without announcement, usually whenever I pick a few commits. If you need to commit changes, please make sure you tell me to pick it into the release branch. -- Release candidates are at -- http://pre.racket-lang.org/release/installers This link is a 404. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] Using mz-5.0.99.900-src-unix.tgz, configure error'd out config.status: error: cannot find input file: plot/Makefile.in _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] Running the plt binary installer: http://pre.racket-lang.org/release/installers/plt-5.0.99.900-bin-i386-linux-ubuntu-jaunty.sh Checking the integrity of the binary archive... ok. Unpacking into /tmp/work/x/plt/racket-tmp-install... done. Cannot handle distribution of shared-libraries (yet) === context === /tmp/work/x/plt/racket-tmp-install/collects/setup/unixstyle-install.rkt:383:0: move/copy-distribution /tmp/work/x/plt/racket-tmp-install/collects/setup/unixstyle-install.rkt: [running body] Error: installation failed (Removing installation files in /tmp/work/x/plt/racket-tmp-install) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1, second call
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] Done _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] drafting the v5.1 release announcement
Here are some items I pulled from the commit log Robby: 823b6629aae7a1c668c2dffb2d89a16fc4a5889c add an extra check to make sure drracket is more likely to startup when things go wrong in strange ways Please merge to the 5.1 release branch ce4bf97bde32032b0663c623d8ef1f2158a96fae monitor the font size preference in order to redo the one-line size computation for the search bar closes PR 11687 0411cddba53914a33af88d720fd4d05634aac016 added set/c and made sets print as set, seteq, or seteqv closes PR 11454 670d58d134eaf2dc5ed6ef4ea60f53d66321acda added un/cache-image, a function that enables/disables the drawing cache in 2htdp/image images b77847904e4d05a731ca331c7d84e3532c980521 adjust the way the () colorer status thingy draws 2f009ca529fcbe4ebe496379a5403cbcf1a0cd14 changed the way equal% and snip% interact. Specifically: - snip% now implements equal% its equal-to? delegates to other-equal-to?. - snip%'s other-equal-to and equal-hash-code and equal-secondary-hash-code all just amount to using eq?. The setup is here just to make snip% be the one that declares that it implements equal% so that various snips can adjust other-equal-to? (and the hash code methods) - image-snip% no longer implements equal% (but it extends snip% and it overrides other-equal-to? and the hash-code methods to do what they always did) 4917d2af4a680de5380f0b82ef13f82d216d7d76 added freeze to 2htdp/image d1fe2766559133ba3913c5aef1f3f72c1a8be758 adjust the bug report form so that hitting return does not submit the bug report as mentioned in PR 11551 0542d3ca7084579b1c209ee52e52edcc59a6ad53 added support for saving bug reports (for ease of offline submission) also cleaned up a bunch of little things in the bug report implementation: - the abort had race conditions - formatted the collections a little bit better (hopefully) - broke the implementation up into multiple files - fixed broken interaction with drracket (the drracket frame mixin is now being used properly) 18dacad6c825e4fb18b37f1eae259d6c73419fc6 a first attempt at a rewording of the blame error messages to admit the possibility that the contract was wrong and also to claim that fixing the blamed module or the contract is all that is required note that two test cases are failing, but only because they depend on the wording of the error messages; once that is set, I'll fix them. a63bbf82abb4b43b59d67ce9383c21b3ad1074ee added current-trace-results Matthew: dfa36afa894ecc4a9626ecbe1ba36e4ff1f00a77 change `floating-point-bytes-real' to always produce a flonum ff0a591b7beaadf68053b1f0beba2595a442aef0 change FFI `_float' to coerce to Racket double-precision flonum 3ef32d915ba6d07e5191aa980ba0a936e1970462 make inexacts `eqv?' only when precision is the same plus some other small fixes b5bc288f676a81129ea93aaffeaebefa18831879 Windows: fix `path-list-string-path-list' to throw away quotes --- which seems to be what the command shell does with quotes in PATH, at least; Microsoft isn't in the habit of documenting this sort of thing fb406390b7dbb44f8811d2ff07f058019c026715 fix readline port to obey port protocol use interaction port handler --- in particular, it no longer blocks on a read request; the call to the readline library now uses a separate thread, so that the input port can return an event 069a7c2b4871477bf35a120b33ff5d7358e23a7c add `current-get-interaction-input-port' and adjust `racket/gui' so that GUI events are dispatched while a REPL is blocked on input b112fd76df4305b178a7e761fe0d29214a37c518 add `reparent' to `subwindow%' 98822cf1f989efd7c22f5d9587a65aeee29f26c0 adjust `racket/gui' and dependencies to survive a locked preference file - adds a `#:timeout-lock-there' argument to `get-preference' - fixes preference looup in `racket/gui' - make preference names consistently use `GRacket' and consistently fall back on `MrEd' names - fix Emacs-style undo mode while we're at it d8e123753c40fadc6d51513cf1fa5e4eca614bc8 gtk: enable input-method (e.g., Chinese) support 79cd92859c9f6227abfd2a97ca0f3aa209d2c6eb disable user-specific setup on `make install' by default and add a `--enable-userspecific' flag for `configure' d6fc7da7501ff636ebf13639def6909aaa4feb47 add `refresh-now' to `canvas%' --- this method doesn't have to be built in, but it encapsulates a common and not-too-obvious pattern 13ddab969b7a071f3b0a532a19f579cdf6e2cb9a enable ptherads by default for OpenBSD 55693e090f5f9686b286e69f1181565895194846 add `port-try-file-lock?' and `port-file-unlock' 7319b539f0fcef27637a507367e64bfce1808931 win64: initial CGC build cc82d3728525b5bac3f2cb91d249d5404a7a3bd0 Scribble Latex image support (missed an earlier commit)
Re: [racket-dev] [plt] Push #22306: master branch updated
On 03/15/2011 08:16 PM, mfl...@racket-lang.org wrote: mflatt has updated `master' from 056a3fb588 to 0efcf22ed4. http://git.racket-lang.org/plt/056a3fb588..0efcf22ed4 =[ 1 Commits ]== Directory summary: 23.6% collects/racket/ 63.7% collects/scribblings/reference/ 12.5% collects/tests/racket/ ~~ 0efcf22 Matthew Flatt mfl...@racket-lang.org 2011-03-15 20:09 : | racket/generator: clean-ups, including planned generalization | - syntax is now (generator formals body ...+) | - add `generator?' | - remove common run-time code from the `generator' macro expansion | - doc fixes | - start test suite : M collects/racket/generator.rkt | 60 ++-- M collects/scribblings/reference/sequences.scrbl | 173 - A collects/tests/racket/generator.rktl M collects/tests/racket/mzlib-tests.rktl |1 + There are also some generator tests in collects/tests/racket/for.rktl. Shall I move over to generator.rktl? _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] prefix-out
Is there a good reason why `prefix-out' does not allow more than one require-spec? Currently to attach a prefix to multiple identifiers you must use `combine-out' (provide (prefix-out foo: (combine-out x y)) Instead of (provide (prefix-out foo: x y)) The issue was raised on IRC, so its not an immediate concern of mine. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #22426: master branch updated
If I cilck on the line:column thing in the toolbar area next to the gc icon it and select 'show line and column numbers' then the line:column becomes hidden. If I then click in the same area to bring up the popup I see that 'show line and column numbers' is still selected and clicking it does not bring back the line:column display. Also if line:column is being shown and I click 'show character offsets' (which did not already have a checkmark next to it) then the line:column goes away and I see 'show line and column numbers' without a checkmark next to it (when before it did have one). A further issue seems to be if the line:column display is hidden then its not clear where to click to get it back. Not that I really care but I don't see the problem with always displaying either line:column or character offset (or maybe both). On 04/10/2011 06:38 PM, ro...@racket-lang.org wrote: robby has updated `master' from 6b503fa947 to c4e0559db4. http://git.racket-lang.org/plt/6b503fa947..c4e0559db4 =[ 3 Commits ]== Directory summary: 17.2% collects/drracket/private/ 23.5% collects/framework/private/ 53.7% collects/scribblings/framework/ 5.5% collects/string-constants/ ~~ 2c2669b Robby Findler ro...@racket-lang.org 2011-04-10 17:43 : | fix the handling of the drracket:show-line-numbers? preference | so the line numbers change no matter who sets the preference : M collects/drracket/private/main.rkt | 10 +- M collects/drracket/private/unit.rkt | 14 +- ~~ f3936ac8 Robby Findler ro...@racket-lang.org 2011-04-10 19:30 : | correct capitolization for menu items : M collects/string-constants/english-string-constants.rkt |4 ++-- ~~ c4e0559 Robby Findler ro...@racket-lang.org 2011-04-10 19:35 : | made the line/column thingy's popup menu be able to show the line numbers in the definitions window | - added add-line-number-menu-items | - some minor fixes to the docs | related to discussion in PR 11837 : M collects/drracket/private/unit.rkt | 11 ++ M collects/framework/private/frame.rkt | 56 --- M collects/scribblings/framework/frame.scrbl | 117 ++--- M collects/string-constants/english-string-constants.rkt |1 + _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #22482: master branch updated
It looks like places and futures have been combined into a single 'parallel' variable within configure, so does it make sense to have both --enable-places and --enable-futures instead of --enable-parallel ? On 04/19/2011 09:27 AM, t...@racket-lang.org wrote: tewk has updated `master' from 7389eef5b2 to 4fd6144e3d. http://git.racket-lang.org/plt/7389eef5b2..4fd6144e3d =[ 1 Commits ]== Directory summary: 43.2% src/racket/ 7.6% src/worksp/ 49.0% src/ ~~ 4fd6144 Kevin Tew t...@racket-lang.org 2011-04-19 09:05 : | [Places] place are now turned on by default : M src/configure | 20 ++-- M src/racket/configure.ac | 20 ++-- M src/worksp/mzconfig.h |2 +- =[ Overall Diff ]=== src/configure ~ --- OLD/src/configure +++ NEW/src/configure @@ -1327,7 +1327,7 @@ Optional Features: --enable-jitcompile JIT support (enabled by default) --enable-foreigncompile foreign support (enabled by default) --enable-libffi use installed libffi (enabled by default) - --enable-places compile places support + --enable-places compile places support (usually enabled by default) --enable-futurescompile futures support (usually enabled by default) --enable-cgcdefault use CGC (Boehm or Senora) as default build --enable-sgcuse Senora GC instead of the Boehm GC @@ -2216,10 +2216,12 @@ show_explicitly_disabled ${enable_foreign} Foreign show_explicitly_disabled ${enable_libffi} Installed libffi show_explicitly_enabled ${enable_places} Places -show_explicitly_enabled ${enable_gc2_places_testing} GC2 Places Testing +show_explicitly_disabled ${enable_places} Places show_explicitly_enabled ${enable_futures} Futures show_explicitly_disabled ${enable_futures} Futures +show_explicitly_enabled ${enable_gc2_places_testing} GC2 Places Testing + show_explicitly_enabled ${enable_sgc} SGC show_explicitly_enabled ${enable_sgcdebug} SGC debug mode show_explicitly_enabled ${enable_compact} Compact 3m GC @@ -3907,7 +3909,7 @@ case $OS in case `$UNAME -m` in #Required for CentOS 4.6 x86_64) - enable_futures_by_default=yes + enable_parallel_by_default=yes CGC_X86_64=1 ;; ppc) @@ -3917,7 +3919,7 @@ case $OS in EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)' ;; i386|i486|i586|i686) - enable_futures_by_default=yes + enable_parallel_by_default=yes ;; *) ;; @@ -3979,7 +3981,7 @@ case $OS in case `$UNAME -m` in i386|x86_64) - enable_futures_by_default=yes + enable_parallel_by_default=yes ;; *) ;; @@ -8253,6 +8255,12 @@ fi ### places ### +if test ${enable_parallel_by_default} = yes ; then + if test ${enable_places} = ; then +enable_places=yes + fi +fi + if test ${enable_places} = yes ; then cat confdefs.h \_ACEOF @@ -8264,7 +8272,7 @@ fi ### futures ### -if test ${enable_futures_by_default} = yes ; then +if test ${enable_parallel_by_default} = yes ; then if test ${enable_futures} = ; then enable_futures=yes fi src/racket/configure.ac ~~~ --- OLD/src/racket/configure.ac +++ NEW/src/racket/configure.ac @@ -38,7 +38,7 @@ AC_ARG_ENABLE(jit, [ --enable-jitcompile JIT support (enabled b AC_ARG_ENABLE(foreign, [ --enable-foreigncompile foreign support (enabled by default)], , enable_foreign=yes) AC_ARG_ENABLE(libffi, [ --enable-libffi use installed libffi (enabled by default)], , enable_libffi=yes) -AC_ARG_ENABLE(places, [ --enable-places compile places support]) +AC_ARG_ENABLE(places, [ --enable-places compile places support (usually enabled by default)]) AC_ARG_ENABLE(futures, [ --enable-futurescompile futures support (usually enabled by default)]) AC_ARG_ENABLE(cgcdefault, [ --enable-cgcdefault use CGC (Boehm or Senora) as default build]) @@ -283,10 +283,12 @@ show_explicitly_disabled ${enable_foreign} Foreign show_explicitly_disabled ${enable_libffi} Installed libffi show_explicitly_enabled ${enable_places} Places -show_explicitly_enabled ${enable_gc2_places_testing} GC2 Places Testing +show_explicitly_disabled ${enable_places} Places show_explicitly_enabled ${enable_futures} Futures show_explicitly_disabled ${enable_futures} Futures +show_explicitly_enabled ${enable_gc2_places_testing} GC2 Places Testing + show_explicitly_enabled ${enable_sgc} SGC show_explicitly_enabled ${enable_sgcdebug} SGC debug mode show_explicitly_enabled ${enable_compact} Compact 3m GC @@ -540,7 +542,7 @@ case $OS in case
Re: [racket-dev] Pre-Release Checklist for v5.1.1
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] The binary installers had problems with libffi.so.5. Source distributions are still compiling. I used plt-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh mz-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh My notes: textual - failed in normal mode after install $ ./racket ./racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory failed in unix mode during install Unpacking into /tmp/work/x/binary/textual-unix/racket-textual-tmp-install... done. racket-textual-tmp-install/bin/racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory racket - failed in normal mode after install $ ./racket ./racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory failed in unix mode during install Unpacking into /tmp/work/x/binary/racket-unix/racket-tmp-install... done. racket-tmp-install/bin/racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory Error: installation failed (Removing installation files in /tmp/work/x/binary/racket-unix/racket-tmp-install) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1.1
Source distributions compiled ok. The racket distribution no longer produces a 'drscheme' executable even though it does produce 'mzscheme'. Is that a mistake? On 04/21/2011 11:50 AM, Jon Rafkind wrote: * Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] The binary installers had problems with libffi.so.5. Source distributions are still compiling. I used plt-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh mz-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh My notes: textual - failed in normal mode after install $ ./racket ./racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory failed in unix mode during install Unpacking into /tmp/work/x/binary/textual-unix/racket-textual-tmp-install... done. racket-textual-tmp-install/bin/racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory racket - failed in normal mode after install $ ./racket ./racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory failed in unix mode during install Unpacking into /tmp/work/x/binary/racket-unix/racket-tmp-install... done. racket-tmp-install/bin/racket: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory Error: installation failed (Removing installation files in /tmp/work/x/binary/racket-unix/racket-tmp-install) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] lots of new tests pushed
On 04/25/2011 12:32 PM, Robby Findler wrote: I just pushed tests for all non-racket and non-scheme collections that makes sure that all of the top-level libraries have their exports fully documented. I left out info.rkt and tried to drop obviously bad things from this list, but if you spot problems when drdr complains at you, please just go edit the file to remove libraries that shouldn't be there. Maybe a dumb question, but by 'documented' do you mean 'exported with a contract' ? It doesn't look like the implementation is checking scribble.. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] release blurb for 5.1.1
Here are some suggested items for the 5.1.1 release announcement. Please respond with any additions/deletions. The stuff in parentheses are short git sha1's. Use 'git show 12ab345' to see the commit. ryan: * new ffi/file module (..needs description..) (9bc3457bb) matthew * Removed drscheme, mred, and mred.app although mred for unix still exists (8d9e10f34e) * The installed version of libffi can be used instead of the distributed version (f3c3bb4441c) * `touch' and `future' are safe functions to execute inside futures (857003378 3bf0f800a76) * A new streams library compatible with `for' has been added to the racket collection as `racket/stream' (e652546bf52) * list-box% now supports multi-column (137d96c08917) eli * chrome is a supported browser in drracket (52ca08a8a9a) * All 3rd party copyrighted code has had their licenses clarified or changed to be compatible with the LGPL (f6f7e4eb3502 a3d00a910afb) robby * Added a widget to the status line of DrRacket that can toggle line numbers (c4e0559db4ca37) * The module browser graph is rendered much faster. (e928bd840c02) * Added `overlay/align', `underlay/align', `overlay/align/offset' and 'underlay/align/offset' (c1668d894e210) stephen * The stepper now supports lazy racket (da456f2e37e54) kathy * Addition of `define-wish' to the teaching languages and corresponding addition of support for wishes in test reports and check-expects (7758f508c56) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] narrow menus in 5.1
A user from #scheme on irc said drracket in 5.1 shows narrow menus. His system is ubuntu 10.10, the language is Portuguese. http://www.pasteall.org/pic/show.php?id=11565 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] gtk too-small menu bar
Fixed for me too, ubuntu 11.04 32bit, not using unity. thanks a lot Robby! On 05/17/2011 10:53 AM, Kevin Tew wrote: Its fixed for me now. Ubuntu 11.04 x86_64. Thanks. On 05/17/2011 10:04 AM, Robby Findler wrote: In consultation with Matthew, I've pushed a change that fixes the too small menu bar problem, at least on a VM on my laptop. If you're seeing this problem, can you check and see if the change fixes it for you too? Also, if someone could try it out on a unity setup, that'd be helpful. Thanks, Robby _ 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
Re: [racket-dev] guidelines on error messages -- please send feedback
Somewhat offtopic but could the *SL languages use levenshtien distances to find symbolically related variables? clang (a c++ compiler) does this and I find it immensely useful. foodar(); Error: `foodar' not found, did you mean 'foobar' ? On 06/03/2011 11:21 AM, Shriram Krishnamurthi wrote: Guillaume, Kathi and I have created a set of guidelines for writing error messages for *SL. For consistency, these guidelines need to be used also by authors of libraries including Teachpacks, etc. These guidelines are currently being applied to all the error messages in *SL in the core distribution. Please review these guidelines and let us know if anything is unclear. We'd like to hear back from you within a week, by Fri, June 10 We have had to compromise on the description a little to make everything fit into a small number of pages, which we did because we really do hope people will print these out and put them on the wall or next to their monitor to refer to while writing code. Therefore, lengthy descriptions are out. In particular, rationale is also out. If you are curious about the rationales for any of these things, please do ask. After this is settled next week, we will send this to users@ and also to edu@ to tell instructors to follow these terms. Thanks, Shriram _ 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] current-load/use-compiled
I'm trying to hook into the part of racket that loads files so I can automatically create .zo files when they don't exist (and no, I don't want to type raco make). Here is the code that loads the file and sets up the handler (more explanation follows the code). == load.rkt (let ([namespace (make-base-namespace)]) (define loader (current-load/use-compiled)) (parameterize ([current-namespace namespace] [current-load/use-compiled (lambda (path something) (define-values (parent self _) (split-path path)) (parameterize ([current-load-relative-directory parent]) (printf compile/load ~a ~a\n path something) (printf load directory ~a\n (current-load-relative-directory)) #; ((compile-zos #f #:module? #t) (list path) compiled) (define load-path (if (is-zo? path) path (build-path parent compiled (path-add-suffix self #.zo (printf Loading file ~a\n load-path) (loader load-path something)))]) (eval-syntax (with-syntax ([file test.rkt]) #'(require file) And here are the files being loaded == test.rkt #lang racket/base (require test1.rkt) (printf hello from test!\n) == test1.rkt #lang racket/base (require (for-syntax racket/base)) (define-syntax (foo stx) (printf hello from foo macro\n) #'(void)) (foo) #; (begin-for-syntax (printf hello from phase1 code\n)) (printf test1!\n) If I uncomment the 'begin-for-syntax' expression and run 'raco make' to produce a .zo file then running 'racket test.rkt' won't display the hello from phase1 code line. However if I run 'load.rkt' then no matter if there is a .zo or not I see that printf being executed. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] make-vector: out of memory making vector of length 0
I just updated to HEAD and I see this error during 'make install'. raco setup: making: compiler raco setup: making: raco make-vector: out of memory making vector of length 0 make-vector: out of memory making vector of length 0 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] documentation reorganization
I think the 'guide' and 'reference' links could use a description of what they are similar to the tutorial links. On 07/01/2011 06:45 PM, Ryan Culpepper wrote: I just pushed a commit intended to improve the usability of the main documentation page, especially for newcomers to Racket. You can also see the new version here: http://www.cs.utah.edu/~ryan/tmp/doc/ If you have a manual in the trunk, I probably changed it slightly. Take a look at the changes. The rest of this message is about the rationale behind the reorganization. -- Back in May, we heard from a newcomer to Racket who had gotten lost in the documentation and ended up going down the wrong path. His report sparked a discussion about, among other things, changing the documentation to make it more accessible to newcomers and visitors. While there are some gaps in the content of the documentation we have available, the primary problem seemed to be the organization; the newcomer didn't find the right manuals to read. The new documentation has four conceptual parts: Orientation, Racket, Teaching, and Everything Else. Orientation: The Getting Started link now stands alone; previously it was too easy to miss. The tutorials are now labeled as such in a separate section. Racket: The previous organization was too egalitarian. The Racket Reference was bare centimeters above the R6RS manual; R6RS is the standard, right?---guess I should start there! Core libraries were scattered throughout the documentation; you have to scroll to find the GUI manual. The new Racket Language and Core Libraries section makes it clear where the serious, comprehensive material about Racket starts. The core libraries are part reassurance (good, there's a standard GUI toolkit) and part advertisement (oh, there's a standard way of producing documentation). Teaching: The teaching materials are important enough to the Racket mission that they come next. Everything Else: There are a couple lesser improvements to the rest of the manuals. First, the old Languages section (again, overly egalitarian) is now much smaller, and its role is clarified. Racket is The Language; these are others... what does that mean? The link explains it. Second, I've done away with the @bold{X}: Y manual naming convention. In some cases this convention works, but in most cases it was a poor fit. @bold{Guide}: Racket is a bit inscrutable compared to The Racket Guide, and @bold{Version}: Racket Version Checking is grandiose for a manual that documents eight exports. The convention was confining, and it led to an arms race of bolding. If your manual didn't start with a bold keyword, it looked pitiful. I've changed major manuals to have names such as The Racket Guide, The Racket Drawing Toolkit, etc. I've renamed a few other manuals in that style, such as Web Applications in Racket (used to be Web: ...) and Extending DrRacket (used to be Plugins: ...). Use the unbolded X: Y pattern for manuals that are just the documentation for some collection; otherwise consider giving the manual a more descriptive name. -- This is intended as a first step. In particular, I wanted to get the first three parts (Orientation, Racket, Teaching) in better shape in time for the upcoming release. Ryan _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] interactive hack
command-repl +1 crepl -1 On 07/10/2011 09:54 AM, Eli Barzilay wrote: It's no longer mine, and it's really been years since it was really a hack. I think that I'll go with a shortened command-repl: `crepl'. On 2011-07-10, Matthias Felleisen matth...@ccs.neu.edu wrote: how about ElisInteractiveHack On Jul 10, 2011, at 8:39 AM, Eli Barzilay wrote: 10 minutes ago, Sam Tobin-Hochstadt wrote: Why not `interactive'? Interactive what? -- It's way too generic. And this is for the name of the module, right? A new toplevel collection. Used similarly to readline. (And supersedes it, hopefully, for casual users.) -- ((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 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1.2
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] Done. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23129: master branch updated
On 07/26/2011 10:57 AM, Eli Barzilay wrote: 25 minutes ago, rafk...@racket-lang.org wrote: 4e8e184 Jon Rafkind rafk...@racket-lang.org 2011-07-24 16:43 : | add lexer for honu : A collects/honu/core/read.rkt Is the C code going away? That is the hope. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] cannot disable libffi
I am trying to compile racket for a different architecture that libffi is not ported to so I tried to use --disable-libffi but foreign/libffi still gets configured. A) should that be happening and B) is there a way around it? $ ../configure --disable-libffi --host=x86 ... configure: error: libffi has not been ported to x86-unknown-none. configure: error: ../../../foreign/libffi/configure failed for foreign/libffi _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] cannot disable libffi
Ah it was --disable-foreign. --disable-libffi is to use the bundled ffi instead of the host one, or something. On 07/28/2011 11:42 AM, Jon Rafkind wrote: I am trying to compile racket for a different architecture that libffi is not ported to so I tried to use --disable-libffi but foreign/libffi still gets configured. A) should that be happening and B) is there a way around it? $ ../configure --disable-libffi --host=x86 ... configure: error: libffi has not been ported to x86-unknown-none. configure: error: ../../../foreign/libffi/configure failed for foreign/libffi _ 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.1.2 segfault during setup
The launchpad build farm showed a segfault while it was building the PPA package for 5.1.2. https://launchpadlibrarian.net/76556662/buildlog_ubuntu-lucid-i386.racket_5.1.2-1_FAILEDTOBUILD.txt.gz ... raco setup: re-rendering: scribblings/guide/guide.scrbl Seg fault (internal error) at 0x69fbac3a SIGSEGV SEGV_ACCERR SI_CODE 2 fault on 0x69fbac3a Aborted The amd64 builder did succeed, so I can probably just resubmit the package and hope it works. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] DrDr Feature Request
Another request: could DrDr process the latest push first? Its a little annoying to get emails for tests that failed when the latest push fixes them but DrDr is so far behind. Is there any benefit to testing all the intermediate pushes? On 08/08/2011 09:56 AM, Vincent St-Amour wrote: I love DrDr, but there's a small thing that annoys me about it. Some tests are prone to intermittent failures. For example, some benchmarks need to create a file, and several benchmarks share the same file, which leads to race conditions. Similarly, some DrRacket tests sometimes fail for focus reasons. So, whenever someone pushes, they may get failures from these tests, then have go look at the actual errors, and try to figure out if they actually broke something or not. (Or, they ignore these failures, which is bad.) Here are two potential solutions. Let's assume that I just pushed something, and a test started failing. - Have DrDr send me email for every push about the broken test for as long as it fails. If I get email more than once, it's likely that I actually broke something. If I only get email once, the problem went away on its own, and was likely an intermittent failure. - Have the possiblity to flag some tests as intermittent (something like `drdr:random'), and only report failures for these tests if they fail twice in a row. This would reduce the amount of noise, since I expect most of these tests to pass most of the time. Actual breakage would still be detected, since it's unlikely that such failures would go away on their own. Detection would happen one push late, but that shouldn't be too much of an issue. Or, maybe only notify the pusher after two failures in a row, but notify the responsible person right away. Any thoughts? Vincent _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] DrDr Feature Request
Could DrDr say This build is not the latest or The latest push is 234234? On 08/08/2011 11:37 AM, Jay McCarthy wrote: It is useful to test all of them to find out when errors start. It doesn't do the newest first, because then the calculation of new issue wouldn't make any sense, because you wouldn't have the previous push's tests. Jay On Mon, Aug 8, 2011 at 11:34 AM, Jon Rafkind rafk...@cs.utah.edu wrote: Another request: could DrDr process the latest push first? Its a little annoying to get emails for tests that failed when the latest push fixes them but DrDr is so far behind. Is there any benefit to testing all the intermediate pushes? On 08/08/2011 09:56 AM, Vincent St-Amour wrote: I love DrDr, but there's a small thing that annoys me about it. Some tests are prone to intermittent failures. For example, some benchmarks need to create a file, and several benchmarks share the same file, which leads to race conditions. Similarly, some DrRacket tests sometimes fail for focus reasons. So, whenever someone pushes, they may get failures from these tests, then have go look at the actual errors, and try to figure out if they actually broke something or not. (Or, they ignore these failures, which is bad.) Here are two potential solutions. Let's assume that I just pushed something, and a test started failing. - Have DrDr send me email for every push about the broken test for as long as it fails. If I get email more than once, it's likely that I actually broke something. If I only get email once, the problem went away on its own, and was likely an intermittent failure. - Have the possiblity to flag some tests as intermittent (something like `drdr:random'), and only report failures for these tests if they fail twice in a row. This would reduce the amount of noise, since I expect most of these tests to pass most of the time. Actual breakage would still be detected, since it's unlikely that such failures would go away on their own. Detection would happen one push late, but that shouldn't be too much of an issue. Or, maybe only notify the pusher after two failures in a row, but notify the responsible person right away. Any thoughts? Vincent _ 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
Re: [racket-dev] DrDr Feature Request
I noticed this functionality just now.. thanks a lot! On 08/08/2011 12:38 PM, Jay McCarthy wrote: Your wish is my command. On Mon, Aug 8, 2011 at 10:00 AM, Robby Findler ro...@eecs.northwestern.edu wrote: PS: I'm also happy if this class of tests only emails the responsible person, and not the pusher. Robby On Mon, Aug 8, 2011 at 10:59 AM, Robby Findler ro...@eecs.northwestern.edu wrote: I like the two-times-in-a-row thought. FWIW, please try to avoid race conditions of the second kind. I think the drracket test suites are special because they fail not-so-often and I don't actually know how to fix them. If either of those weren't true then I'd say they should just not run in drdr. (So the race-condition/using the same file thing fails this test.) Robby On Mon, Aug 8, 2011 at 10:56 AM, Vincent St-Amour stamo...@ccs.neu.edu wrote: I love DrDr, but there's a small thing that annoys me about it. Some tests are prone to intermittent failures. For example, some benchmarks need to create a file, and several benchmarks share the same file, which leads to race conditions. Similarly, some DrRacket tests sometimes fail for focus reasons. So, whenever someone pushes, they may get failures from these tests, then have go look at the actual errors, and try to figure out if they actually broke something or not. (Or, they ignore these failures, which is bad.) Here are two potential solutions. Let's assume that I just pushed something, and a test started failing. - Have DrDr send me email for every push about the broken test for as long as it fails. If I get email more than once, it's likely that I actually broke something. If I only get email once, the problem went away on its own, and was likely an intermittent failure. - Have the possiblity to flag some tests as intermittent (something like `drdr:random'), and only report failures for these tests if they fail twice in a row. This would reduce the amount of noise, since I expect most of these tests to pass most of the time. Actual breakage would still be detected, since it's unlikely that such failures would go away on their own. Detection would happen one push late, but that shouldn't be too much of an issue. Or, maybe only notify the pusher after two failures in a row, but notify the responsible person right away. Any thoughts? Vincent _ 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
Re: [racket-dev] [plt] Push #23267: master branch updated
What was the bug? :) On 08/16/2011 10:43 AM, mfl...@racket-lang.org wrote: mflatt has updated `master' from d05f138ed2 to 311d55b5cf. http://git.racket-lang.org/plt/d05f138ed2..311d55b5cf =[ 1 Commits ]== Directory summary: 100.0% src/racket/src/ ~~ 311d55b Matthew Flatt mfl...@racket-lang.org 2011-08-16 10:27 : | fix bug that affects `free-identifier=?' | | This bug is in the amazing that it lurked for years category, | as well as the stupid use of C preprocessor category. : M src/racket/src/syntax.c |5 +++-- =[ Overall Diff ]=== src/racket/src/syntax.c ~~~ --- OLD/src/racket/src/syntax.c +++ NEW/src/racket/src/syntax.c @@ -365,7 +365,7 @@ XFORM_NONGCING static MZ_INLINE void DO_WRAP_POS_INC(Wrap_Pos *w) #define WRAP_POS_INIT_END(w) (w.l = scheme_null, w.a = NULL, w.is_limb = 0, w.pos = 0) #define WRAP_POS_END_P(w) SCHEME_NULLP(w.l) #define WRAP_POS_FIRST(w) w.a -#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb= (w2).is_limb; w.pos = (w2).pos +#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb = (w2).is_limb; w.pos = (w2).pos /* Walking backwards through one chunk: */ @@ -3618,8 +3618,9 @@ static Scheme_Object *resolve_env(WRAP_POS *_wraps, if (_wraps) { WRAP_POS_COPY(wraps, *_wraps); WRAP_POS_INC(wraps); - } else + } else { WRAP_POS_INIT(wraps, ((Scheme_Stx *)a)-wraps); + } while (1) { if (WRAP_POS_END_P(wraps)) { _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23267: master branch updated
Oh sorry, I meant how did the bug manifest itself in racket programs. On 08/16/2011 11:02 AM, Jay McCarthy wrote: The C macro expanded into more than a single expression, but there was no {} after the else, so the latter expressions always ran. This is a great example :) Jay On Tue, Aug 16, 2011 at 11:00 AM, Jon Rafkind rafk...@cs.utah.edu wrote: What was the bug? :) On 08/16/2011 10:43 AM, mfl...@racket-lang.org wrote: mflatt has updated `master' from d05f138ed2 to 311d55b5cf. http://git.racket-lang.org/plt/d05f138ed2..311d55b5cf =[ 1 Commits ]== Directory summary: 100.0% src/racket/src/ ~~ 311d55b Matthew Flatt mfl...@racket-lang.org 2011-08-16 10:27 : | fix bug that affects `free-identifier=?' | | This bug is in the amazing that it lurked for years category, | as well as the stupid use of C preprocessor category. : M src/racket/src/syntax.c |5 +++-- =[ Overall Diff ]=== src/racket/src/syntax.c ~~~ --- OLD/src/racket/src/syntax.c +++ NEW/src/racket/src/syntax.c @@ -365,7 +365,7 @@ XFORM_NONGCING static MZ_INLINE void DO_WRAP_POS_INC(Wrap_Pos *w) #define WRAP_POS_INIT_END(w) (w.l = scheme_null, w.a = NULL, w.is_limb = 0, w.pos = 0) #define WRAP_POS_END_P(w) SCHEME_NULLP(w.l) #define WRAP_POS_FIRST(w) w.a -#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb= (w2).is_limb; w.pos = (w2).pos +#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb = (w2).is_limb; w.pos = (w2).pos /* Walking backwards through one chunk: */ @@ -3618,8 +3618,9 @@ static Scheme_Object *resolve_env(WRAP_POS *_wraps, if (_wraps) { WRAP_POS_COPY(wraps, *_wraps); WRAP_POS_INC(wraps); - } else + } else { WRAP_POS_INIT(wraps, ((Scheme_Stx *)a)-wraps); + } while (1) { if (WRAP_POS_END_P(wraps)) { _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] OT: ld static linking + linux version numbers - ??
On 08/31/2011 05:53 PM, John Clements wrote: TOTALLY OFF-TOPIC, sorry: I have an autoconf script that's failing to detect a certain library, and I've tracked it down to a failure of ld -lasound foo.c ..which tells me that it can't find -lasound. Digging around in /usr/lib, I see that there's a libasound.so.2, but not a libasound.so. I just created a symbolic link from libasound.so to libasound.so.2, and that seems to work, but that *can't* be the general solution. Can it? Put differently: is there a way to specify a library version using an ld -l flag? AFAIK to get the .so file you are supposed to install the development versions of the library. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Fwd: [clipperz] Re: Marketing Ideas
Is there any correlation between number of likes and well.. anything? On 09/09/2011 12:43 PM, John Clements wrote: Yes, we hate facebook. But our facebook page has a GENUINELY EMBARRASSING number of likes (uh... 57?). Forwarded from an entirely unrelated list, could we consider putting those facebook/twitter/linkedin like buttons on the racket-lang.org page? Is this something we've already considered and decided against? John Begin forwarded message: From: Robin ro...@ourstillwaters.org Date: September 7, 2011 10:10:41 PM PDT To: Clipperz clipp...@googlegroups.com Subject: [clipperz] Re: Marketing Ideas Reply-To: ro...@ourstillwaters.org Why not get a Facebook account and a Like button? Same for Twitter, Linked In, and the newest social/business networking sites. Also, have you advertised in any techy mags? Wired would be the obvious choice and probably well worth the cost, whatever it is. But secondary mags directed at IT types, Web developers, and programmers would at least get you some major exposure to the right group for subsequent word of mouth. Good luck guys! Robin On Sep 7, 12:54 am, Nate nate...@gmail.com wrote: Do you have any ideas on ways that the community can help market Clipperz? -- You received this message because you are subscribed to the Google Groups Clipperz group. To post to this group, send email to clipp...@googlegroups.com. To unsubscribe from this group, send email to clipperz+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/clipperz?hl=en. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Fwd: [clipperz] Re: Marketing Ideas
On 09/09/2011 01:50 PM, Neil Van Dyke wrote: If you add Facebook buttons to racket-lang.org, I recommend *not* doing it in the usual way, which is referencing JS/CSS/images/etc. from Facebook at page load time. That can actually silently track most people's reading/viewing/posting/messaging behavior across most popular Web pages these last few years, including their real-world identities. (And don't for a second think that Facebook doesn't really, really want to do that. :) Supposedly theres no other way to do it http://www.jwz.org/blog/2011/09/surprise-facebook-doesnt-like-privacy-countermeasures/ _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] current-read-interaction
For Honu I set up the `current-read-interaction' procedure to read a string of characters ended by a newline and to parse that with `honu-read-syntax'. This leads to two issues 1. this works on the command line but in drracket after typing '1' and pressing enter the prompt never comes back and drracket chews up some cpu. 2. I wanted to make ctrl-d quit the repl immediately so I look for an eof-object in the stream and if found I try to return #'(exit). The Honu parser gets involved at that point so it doesn't quite work, but anyway is that the right strategy? Here is my repl reader: (define (read-one-line name input) (define quit? #f) (define one-line (with-output-to-string (lambda () (let loop () (define next (read-char input)) (when (eof-object? next) (set! quit? #t)) (when (not (or (eof-object? next) (char=? next #\newline))) (display next) (loop)) (if quit? ;; this isn't right, somehow communicate to the system that the repl should close #'(exit) (honu-read-syntax name (open-input-string one-line (provide configure) (define (configure . args) (current-read-interaction read-one-line)) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23583: master branch updated
How do I see the Honu docs now? I just rebuilt, searching for 'honu' doesn't find it. On 09/21/2011 02:10 PM, e...@racket-lang.org wrote: eli has updated `master' from 5024b690ca to 81e0f3f3d7. http://git.racket-lang.org/plt/5024b690ca..81e0f3f3d7 =[ 1 Commits ]== Directory summary: 50.0% collects/honu/scribblings/ 49.9% collects/scribblings/honu/ ~~ 81e0f3f Eli Barzilay e...@racket-lang.org 2011-09-21 16:10 : | Move `scribblings/honu' to `honu/scribblings'. | | Also, use `user-doc' since it's not distributed, yet. : A collects/honu/scribblings/info.rkt R collects/{scribblings/honu = honu/scribblings}/honu.scrbl (100%) D collects/scribblings/honu/info.rkt =[ Overall Diff ]=== collects/honu/scribblings/info.rkt ~~ --- /dev/null +++ NEW/collects/honu/scribblings/info.rkt @@ -0,0 +1,3 @@ +#lang setup/infotab + +(define scribblings '((honu.scrbl (multi-page user-doc) (experimental 40 collects/scribblings/honu/info.rkt ~~ --- OLD/collects/scribblings/honu/info.rkt +++ /dev/null @@ -1,3 +0,0 @@ -#lang setup/infotab - -(define scribblings '((honu.scrbl (multi-page) (experimental 40 *** See above for renames and copies *** _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23583: master branch updated
On 09/21/2011 05:27 PM, Eli Barzilay wrote: An hour and a half ago, Jon Rafkind wrote: How do I see the Honu docs now? I just rebuilt, searching for 'honu' doesn't find it. Run `raco docs'. And then what? Do you see Honu in there? I don't. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23583: master branch updated
On 09/21/2011 05:34 PM, Ryan Culpepper wrote: On 09/21/2011 05:31 PM, Eli Barzilay wrote: Just now, Jon Rafkind wrote: On 09/21/2011 05:27 PM, Eli Barzilay wrote: An hour and a half ago, Jon Rafkind wrote: How do I see the Honu docs now? I just rebuilt, searching for 'honu' doesn't find it. Run `raco docs'. And then what? Do you see Honu in there? I don't. I don't know what went wrong, but I definitely see a honu manual there. Right below the algol manual. Jon: did you run raco setup as opposed to raco setup honu? The index, main page, etc aren't rebuilt unless you run setup on the whole tree. Ryan I did 'make make install' after doing a git pull, but i just tried to erase some stuff and am running 'raco setup' right now. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #23583: master branch updated
On 09/21/2011 05:35 PM, Jon Rafkind wrote: On 09/21/2011 05:34 PM, Ryan Culpepper wrote: On 09/21/2011 05:31 PM, Eli Barzilay wrote: Just now, Jon Rafkind wrote: On 09/21/2011 05:27 PM, Eli Barzilay wrote: An hour and a half ago, Jon Rafkind wrote: How do I see the Honu docs now? I just rebuilt, searching for 'honu' doesn't find it. Run `raco docs'. And then what? Do you see Honu in there? I don't. I don't know what went wrong, but I definitely see a honu manual there. Right below the algol manual. Jon: did you run raco setup as opposed to raco setup honu? The index, main page, etc aren't rebuilt unless you run setup on the whole tree. Ryan I did 'make make install' after doing a git pull, but i just tried to erase some stuff and am running 'raco setup' right now. Ok all set now.. not sure exactly what fixed it though. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] ACM publishing and ArXiv
So what exactly is the benefit of publishing with ACM these days? Is it just to prove that your paper was peer reviewed? On 09/30/2011 12:02 PM, John Clements wrote: On Sep 30, 2011, at 10:07 AM, John Clements wrote: In case you didn't catch Stephanie Weirich's post of this on plus.google.com, here's some very interesting information about ArXiv and ACM and where copyrights intersect. It may be that you can avoid much of this by only publishing draft versions of your paper on ArXiv; I Am Not A Lawyer. Oh for heaven's sake. Neglected to post the link. http://r6.ca/blog/20110930T012533Z.html John _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.2
On 10/17/2011 07:02 PM, Ryan Culpepper wrote: Checklist items for the v5.2 release * Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] done _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] no backtrace for error in macro
When this program is run in DrRacket the error is displayed in the interactions pane with a backtrace icon next to it but if you click that icon the backtrace window is blank. It would be nice to get some sort of backtrace or I suppose in the worst case no backtrace icon should appear. #lang racket (define-syntax (foo stx) (raise-syntax-error 'foo dont use foo)) (define-syntax (bar stx) #'(foo)) (bar) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] no backtrace for error in macro
Ok. Whats your (the) strategy for debugging these sorts of errors? Yesterday I just stared at the macro debugger output for a while until I saw where an identifier that ultimately raised a syntax error showed up. On 11/08/2011 10:41 AM, Robby Findler wrote: This is a change I made recently and I put a rationale and explanation in the commit message here: http://git.racket-lang.org/plt/commit/e1ce0a0d1e6120354ace65dc3fda76d0442fb3a1 Robby On Tue, Nov 8, 2011 at 11:30 AM, Jon Rafkind rafk...@cs.utah.edu wrote: When this program is run in DrRacket the error is displayed in the interactions pane with a backtrace icon next to it but if you click that icon the backtrace window is blank. It would be nice to get some sort of backtrace or I suppose in the worst case no backtrace icon should appear. #lang racket (define-syntax (foo stx) (raise-syntax-error 'foo dont use foo)) (define-syntax (bar stx) #'(foo)) (bar) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] no backtrace for error in macro
So is there a more efficient way to debug the issue than looking at the macro debugger that you know of? Also FWIW the error I meant arose from exactly the situation below. I created a new identifier meant to be used as a literal: (define-syntax my-new-literal (lambda (stx) (raise-syntax-error 'literal this is a literal meant to be used inside a macro)) And the literal ended up in code outside the intended form that would have consumed it so the literal's syntax error was raised. On 11/08/2011 10:51 AM, Robby Findler wrote: It isn't clear to me that the stacktrace is actually containing useful information in such cases. That is, the stack will not tell you which macro introduced the free identifier, only the code that finds the identifier (that is, the code that detects free variables). Robby On Tue, Nov 8, 2011 at 11:46 AM, Jon Rafkind rafk...@cs.utah.edu wrote: Ok. Whats your (the) strategy for debugging these sorts of errors? Yesterday I just stared at the macro debugger output for a while until I saw where an identifier that ultimately raised a syntax error showed up. On 11/08/2011 10:41 AM, Robby Findler wrote: This is a change I made recently and I put a rationale and explanation in the commit message here: http://git.racket-lang.org/plt/commit/e1ce0a0d1e6120354ace65dc3fda76d0442fb3a1 Robby On Tue, Nov 8, 2011 at 11:30 AM, Jon Rafkind rafk...@cs.utah.edu wrote: When this program is run in DrRacket the error is displayed in the interactions pane with a backtrace icon next to it but if you click that icon the backtrace window is blank. It would be nice to get some sort of backtrace or I suppose in the worst case no backtrace icon should appear. #lang racket (define-syntax (foo stx) (raise-syntax-error 'foo dont use foo)) (define-syntax (bar stx) #'(foo)) (bar) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] no backtrace for error in macro
On 11/08/2011 11:18 AM, Robby Findler wrote: On Tue, Nov 8, 2011 at 12:17 PM, Jon Rafkind rafk...@cs.utah.edu wrote: I guess runtime stack traces won't help. It would be nice to see all the locations the syntax went through in its lifetime. Maybe it could be stored as a syntax property? You mean you could, say, click on some subexpression in step N and then go back one step and find that expression (if it still exists) in the previous step in the stepper? I suppose that could be useful if that stepper showed me the last expression that it tried to execute before the syntax error was raised. Then I would have seen (... my-new-literal ...) - dont use my-new-literal If I could click on 'my-new-literal' in the code above the arrow and keep pressing back until I found its origin then I would be happy. Right now the last step before the syntax error does not highlight 'my-new-literal' as the syntax that is to be executed next. Actually even if I just saw that (the next step to be executed with code highlighted) I could have found my issue very quickly. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] scribble -- an ncurses game
A user of mine alerted me to the fact that 'scribble' is a crossword puzzle similar to scrabble. He had it installed in ubuntu so when he typed make in my source tree he ended up playing a game instead of generating documentation. $ aptitude search scribble p scribble - Popular crossword game, similar to Scrabble(R) Well that's my public service announcement for the day. (My dream of dreams is to rename 'scribble' to 'racket:scribble'..) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] scribble -- an ncurses game
On 12/13/2011 08:11 PM, Matthew Flatt wrote: You can use `raco scribble' instead of `scribble'. Maybe `raco scribble' should be the preferred form? Sounds like a good solution to me for now, thanks. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Racket home page proposal
+1 On 12/19/2011 10:34 PM, Asumu Takikawa wrote: Hi all, Currently, the Racket home page is really nice, but it leaves a significant amount of vertical space unused that could be used to communicate information. How would people feel about adding more content below the fold on the website? To be more concrete about this, here's a mockup I made: http://www.ccs.neu.edu/home/asumu/racket-home/ (should look fine on Firefox, Opera, and Chrome at least) Notably, it contains a twitter feed for @racketlang and entries from the blog. These might help to give the first impression that we're an active community. Cheers, Asumu _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.2.1
On 01/17/2012 04:44 PM, Ryan Culpepper wrote: * Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] Done _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v5.3
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] done _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [plt] Push #24607: master branch updated
On 04/26/2012 09:35 PM, Sam Tobin-Hochstadt wrote: On Thu, Apr 26, 2012 at 11:13 PM, rafk...@racket-lang.org wrote: 565e844 Jon Rafkind rafk...@racket-lang.org 2012-04-24 14:53 : | [honu] add vim syntax file for honu : A collects/honu/misc/honu.vim I think this file should go in collects/meta/contrib, along with things like shell completion scripts. I thought about that too, but then I thought putting it there is a good way to forget about its (honu.vim) existence. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] version number for functions/forms in docs
+1 On 04/27/2012 11:25 AM, Laurent wrote: Hi, If that's not too difficult to do (maybe automatically), it would be nice if the docs could tell if a function/form has changed or has been added recently. Maybe a note in the margin like Added in 5.2.1 or Changed in 5.3.0. It would be helpful for backward compatibility. Laurent _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] make-evaluator fails for honu
I'm trying to evaluate honu programs inside a sandbox but I get an error from `make-evaluator'. Other languages work (racket/base, typed/racket), its only 'honu that fails so I must have set up something incorrectly. Any idea what it could be? current-directory: `exists' access denied for /home/jon/tmp/ === context === /home/jon/bin/plt/collects/setup/private/main-collects.rkt:19:4: find-main-collects /home/jon/bin/plt/collects/racket/private/promise.rkt:103:10 /home/jon/bin/plt/collects/racket/private/more-scheme.rkt:268:2: call-with-exception-handler ... From this code #lang at-exp racket/base (require racket/sandbox) (define (test input) (define honu-eval (make-evaluator 'honu)) (honu-eval input)) (define input string-append) (test @input{1}) _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] make-evaluator fails for honu
The short answer is to use call-with-trusted-sandbox-configuration so the sandbox can make filesystem calls without being hindered. On 05/07/2012 11:46 AM, Jon Rafkind wrote: I'm trying to evaluate honu programs inside a sandbox but I get an error from `make-evaluator'. Other languages work (racket/base, typed/racket), its only 'honu that fails so I must have set up something incorrectly. Any idea what it could be? current-directory: `exists' access denied for /home/jon/tmp/ === context === /home/jon/bin/plt/collects/setup/private/main-collects.rkt:19:4: find-main-collects /home/jon/bin/plt/collects/racket/private/promise.rkt:103:10 /home/jon/bin/plt/collects/racket/private/more-scheme.rkt:268:2: call-with-exception-handler ... From this code #lang at-exp racket/base (require racket/sandbox) (define (test input) (define honu-eval (make-evaluator 'honu)) (honu-eval input)) (define input string-append) (test @input{1}) _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] XREPL and readline-6.*
On 05/07/2012 07:01 PM, Eli Barzilay wrote: On January 11th, Eli Barzilay wrote: 10 minutes ago, Marijn wrote: On 19-12-11 16:45, Marijn wrote: that makes sense as my installed and the current upstream readline version is 6.2. Any chance that could be fixed? This is still current, Did you try to change the version in the source and see if it works? Is there anyone with readline v6 who can see if it's still compatible with our glue? I have readline 6 and xrepl still works with it. $ ls -l /usr/lib/libreadline.so lrwxrwxrwx 1 root root 21 2011-08-01 00:09 /usr/lib/libreadline.so - /lib/libreadline.so.6 _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [plt] Push #24721: master branch updated
yea it was, I have a command line tool that prints out all the imports and exports of a module. you wanted it to show contracts and maybe types too eventually so I started on this 'module-interface' thing but I didn't work on it much since the initial import.. On 05/18/2012 02:07 PM, Matthias Felleisen wrote: Was this an attempt to show the interfaces of a module? I do wish we had one inside of DrRacket. On May 18, 2012, at 4:05 PM, as...@racket-lang.org wrote: asumu has updated `master' from f34258e253 to a00cd7ebff. http://git.racket-lang.org/plt/f34258e253..a00cd7ebff =[ 1 Commits ]== Directory summary: 100.0% collects/drracket/private/module-interface/ ~~ a00cd7e Asumu Takikawa as...@racket-lang.org 2012-05-18 15:50 : | Remove drracket/private/module-interface. | | With permission from Jon Rafkind. : D collects/drracket/private/module-interface/check.rkt D collects/drracket/private/module-interface/gui.rkt =[ Overall Diff ]=== _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Code micro-level organization
On 05/30/2012 04:07 PM, Eli Barzilay wrote: Having expressions come from the bottom, using the down arrow, seems sort of wierd. Here's a concrete example: (○ (let ([x 10]) ↓) (for ([i (in-range x)]) ↓) (for ([j (in-range i)]) ↓) ...etc...) Do you have a concrete suggestion for doing that? Well in this case its easy, just remove the closing ) from each of the lines so the next line is nested in the right place. If you were going to use the down arrow in a different position, like (for ([i ↓]) ..blah..) (let ...) I think things would get out of hand quickly because the physical gap between the for expression and the let expression could get quite large. I mean I hope I'm not trivializing your issue, do you have a different example? _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v5.3
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] There was a problem with unix style installation: Checking the integrity of the binary archive... ok. Unpacking into /home/jon/tmp/binary/racket/racket-tmp-install (Ctrl+C to abort)... Done. Moving bin - /home/jon/tmp/binary/racket/bin Moving collects - /home/jon/tmp/binary/racket/lib/racket/collects cMoving doc - /home/jon/tmp/binary/racket/share/racket/doc Moving include - /home/jon/tmp/binary/racket/include/racket Moving lib - /home/jon/tmp/binary/racket/lib/racket Moving man - /home/jon/tmp/binary/racket/share/man Moving README - /home/jon/tmp/binary/racket/share/racket/doc/README Writing uninstaller at: /home/jon/tmp/binary/racket/bin/racket-uninstall... Rewriting configuration file at: /home/jon/tmp/binary/racket/lib/racket/collects/config/config.rkt... Recompiling to /home/jon/tmp/binary/racket/lib/racket/collects/config/compiled/config_rkt.zo... default-load-handler: cannot open input file path: /home/jon/tmp/binary/racket/racket-tmp-install/collects/setup/compiled/unixstyle-install_rkt.zo system error: No such file or directory; errno=2 context...: standard-module-name-resolver Error: installation failed _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [plt] Push #25311: master branch updated
Frtime has a build error now raco setup: error: during making for frtime (FrTime) raco setup: module: identifier already imported from: lang-ext.rkt raco setup: at: undefined? raco setup: in: (rename frtime/core/frp undefined? undefined?) raco setup: error: during making for frtime/opt raco setup: module: identifier already imported from: racket raco setup: at: third raco setup: in: (rename srfi/1 third third) make[2]: *** [install-3m] Error 1 make[2]: Leaving directory `/build/buildd/racket-5.3.0.22/build' make[1]: *** [install] Error 2 make[1]: Leaving directory `/build/buildd/racket-5.3.0.22/build' make: *** [common-install-impl] Error 2 On 09/04/2012 11:03 PM, gcoo...@racket-lang.org wrote: gcooper has updated `master' from ba56fd72da to 3d8fc4ad01. http://git.racket-lang.org/plt/ba56fd72da..3d8fc4ad01 =[ 57 Commits ]= Directory summary: 57.8% collects/frtime/animation/ 19.8% collects/frtime/frlibs/ 3.0% collects/frtime/opt/ 19.1% collects/frtime/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v5.3.1
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] done _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] build failed on ubuntu 13.04
Racket failed to build for the ppa on ubuntu 13.04 (raring). I'm not exactly sure what the issue is but the details are that its using gcc-4.7_4.7.2-5ubuntu5. Full build log: https://launchpadlibrarian.net/122334588/buildlog_ubuntu-raring-i386.racket_5.3-20121107~raring_FAILEDTOBUILD.txt.gz The error is make[5]: Entering directory `/build/buildd/racket-5.3/build/racket/gc2' gcc -I./.. -I/build/buildd/racket-5.3/src/racket/gc2/../include -g -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -I./.. -c /build/buildd/racket-5.3/src/racket/gc2/gc2.c -o gc2.o In file included from /build/buildd/racket-5.3/src/racket/gc2/gc2.c:15:0: /build/buildd/racket-5.3/src/racket/gc2/newgc.c: In function 'GC_message_objects_size': /build/buildd/racket-5.3/src/racket/gc2/newgc.c:1594:5: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'uintptr_t' [-Wformat] In file included from /build/buildd/racket-5.3/src/racket/gc2/newgc.c:2438:0, from /build/buildd/racket-5.3/src/racket/gc2/gc2.c:15: /build/buildd/racket-5.3/src/racket/gc2/sighand.c: At top level: /build/buildd/racket-5.3/src/racket/gc2/sighand.c:63:35: warning: 'struct siginfo' declared inside parameter list [enabled by default] /build/buildd/racket-5.3/src/racket/gc2/sighand.c:63:35: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] /build/buildd/racket-5.3/src/racket/gc2/sighand.c: In function 'fault_handler': /build/buildd/racket-5.3/src/racket/gc2/sighand.c:65:15: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:67:13: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:71:9: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:87:46: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:87:58: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:103:11: error: dereferencing pointer to incomplete type _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] build failed on ubuntu 13.04
Ok I think I found the issue. Commit 1e375bab48f3d704bb2beeade77d05a2a3a642de is not in stable. The commit is basically diff --git a/src/racket/gc2/sighand.c b/src/racket/gc2/sighand.c index c40aa09..b91ec7c 100644 --- a/src/racket/gc2/sighand.c +++ b/src/racket/gc2/sighand.c @@ -60,7 +60,7 @@ void launchgdb() { } #endif -void fault_handler(int sn, struct siginfo *si, void *ctx) +void fault_handler(int sn, siginfo_t *si, void *ctx) { So should this commit be merged to stable? On 11/07/2012 09:17 PM, Jon Rafkind wrote: Racket failed to build for the ppa on ubuntu 13.04 (raring). I'm not exactly sure what the issue is but the details are that its using gcc-4.7_4.7.2-5ubuntu5. Full build log: https://launchpadlibrarian.net/122334588/buildlog_ubuntu-raring-i386.racket_5.3-20121107~raring_FAILEDTOBUILD.txt.gz The error is make[5]: Entering directory `/build/buildd/racket-5.3/build/racket/gc2' gcc -I./.. -I/build/buildd/racket-5.3/src/racket/gc2/../include -g -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -I./.. -c /build/buildd/racket-5.3/src/racket/gc2/gc2.c -o gc2.o In file included from /build/buildd/racket-5.3/src/racket/gc2/gc2.c:15:0: /build/buildd/racket-5.3/src/racket/gc2/newgc.c: In function 'GC_message_objects_size': /build/buildd/racket-5.3/src/racket/gc2/newgc.c:1594:5: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'uintptr_t' [-Wformat] In file included from /build/buildd/racket-5.3/src/racket/gc2/newgc.c:2438:0, from /build/buildd/racket-5.3/src/racket/gc2/gc2.c:15: /build/buildd/racket-5.3/src/racket/gc2/sighand.c: At top level: /build/buildd/racket-5.3/src/racket/gc2/sighand.c:63:35: warning: 'struct siginfo' declared inside parameter list [enabled by default] /build/buildd/racket-5.3/src/racket/gc2/sighand.c:63:35: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] /build/buildd/racket-5.3/src/racket/gc2/sighand.c: In function 'fault_handler': /build/buildd/racket-5.3/src/racket/gc2/sighand.c:65:15: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:67:13: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:71:9: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:87:46: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:87:58: error: dereferencing pointer to incomplete type /build/buildd/racket-5.3/src/racket/gc2/sighand.c:103:11: error: dereferencing pointer to incomplete type _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Identifier macros
Actually I would hope that section 1.2 (syntax model) in the reference would explain exactly how macros are invoked. Unless I'm missing something it never mentions exactly what syntax object is passed to the transformer function once a macro binding is observed. It could either go in paragraph about transformer bindings in the 'expansion steps' section (1.2.3.2) or in the section specifically about transformer bindings (1.2.3.5). Something like If the binding appears at the head of a syntax object then the entire syntax object is passed as the argument to the transformer. In any other context only the syntax object for the binding itself is used as the argument. On 12/05/2012 12:27 PM, Matthew Flatt wrote: At Wed, 5 Dec 2012 14:25:29 -0500, Carl Eastlund wrote: On looking back, my confusion was not entirely due to the documentation, but partly from my own expectations coming in to it. If I just look up identifier macro, trying to figure out how to write one, I get a link to section 16.1.5. Ah, that makes sense. Thanks! This does not directly state the context involving syntax-rules; it instead describes an identifier macro simply as ...works in any expression. The documentation then goes on to present syntax-id-rules as a mechanism for identifier macros, presenting set! transformation as well. So while it doesn't explicitly state that set! transformers and identifier macros are the same thing, it does appear to imply it and doesn't clarify the matter. If we're going to use identifier macro as an indexed technical term, we should probably have a more precise discussion of it in the reference manual as well that spells out how these things work. I know I wasn't the only one surprised to find out that ordinary define-syntax syntax-case / syntax-parse macros can expand (what most people would call) identifier macros. The only way I can figure this out in the documentation is from a very close reading of the low-level expansion model, which is not written terribly plainly to begin with. --Carl Carl Eastlund On Wed, Dec 5, 2012 at 2:12 PM, Matthew Flatt mfl...@cs.utah.edu wrote: At Wed, 5 Dec 2012 09:41:37 -0500, Matthias Felleisen wrote: I think two additions/refinements would be good here: 1. The section on identifier macros in the Guide (16.1.5) should mention that define-syntax introduces short-hands for identifiers, period. I think a `define-syntax' that binds to a procedure of one argument is what you mean --- but section 16.1 is about `syntax-rules' and `syntax-id-rules', not procedures as transformers. Improving the start of 16.2 along these lines makes sense, along with a better connection to 16.1. Or maybe you're suggesting a different organization than the current 16.1--16.2 split? I'm still unclear on the specific text that confused Carl, though. Was it 16.1? _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v5.3.2
* Jon Rafkind rafk...@cs.utah.edu Release tests for (one of the) linux releases: - Test that the `racket' and `racket-textual' source releases compile fine (note that they're still called `plt' and `mz' at this stage). - Test that the binary installers for both work, try each one in both normal and unix-style installation modes. (just ubuntu) [Note: get the release candidates from the URL in this email. Use the 'static table' link to see a list of all tar files available] done _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] patch for double spaced autobib
Attached is a patch that adds a keyword, #spaces, to `define-cite', which makes the generate bibliography have N spaces between each entry. (define-cite ... g #:spaces 2) (g) ..output.. [1] entry 1 [2] entry 2 If it looks ok I can push it, and update the docs as well. diff --git a/collects/scriblib/autobib.rkt b/collects/scriblib/autobib.rkt index 4d31b69..a6baa61 100644 --- a/collects/scriblib/autobib.rkt +++ b/collects/scriblib/autobib.rkt @@ -222,7 +222,8 @@ (define (gen-bib tag group sec-title style maybe-disambiguator maybe-render-date-bib maybe-render-date-cite - maybe-date? maybe-date=?) + maybe-date? maybe-date=? + spaces) (define disambiguator (or maybe-disambiguator default-disambiguation)) (define date? (or maybe-date? default-date?)) (define date=? (or maybe-date=? default-date=?)) @@ -304,12 +305,22 @@ (bib-para bib (and ambiguous?? (disambiguator num-ambiguous*)) i)) (values bib num-ambiguous* (cons para* rev-disambiguated* (reverse rev-disambiguated*))) + + (define (make-space) +(list + (make-paragraph (make-style #f '()) '()) + (make-paragraph (make-style #f '()) '( + (make-part #f `((part ,tag)) (list sec-title) (make-style #f '(unnumbered)) null - (list (make-table (send style bibliography-table-style) disambiguated)) + (list (make-table (send style bibliography-table-style) + (add-between #:splice? #t +disambiguated +(for/list ([i (in-range 1 spaces)]) + (make-space) null)) (define (bib-entry bib style disambiguation render-date-bib i) @@ -353,6 +364,7 @@ (~or (~optional (~seq #:style style) #:defaults ([style #'author+date-style])) (~optional (~seq #:disambiguate fn) #:defaults ([fn #'#f])) (~optional (~seq #:render-date-in-bib render-date-bib) #:defaults ([render-date-bib #'#f])) + (~optional (~seq #:spaces spaces) #:defaults ([spaces #'1])) (~optional (~seq #:render-date-in-cite render-date-cite) #:defaults ([render-date-cite #'#f])) (~optional (~seq #:date? date?) #:defaults ([date? #'#f])) (~optional (~seq #:date=? date=?) #:defaults ([date=? #'#f]))) ...) @@ -365,7 +377,7 @@ (define (citet bib-entry . bib-entries) (add-inline-cite group (cons bib-entry bib-entries) the-style date? date=?)) (define (generate-bibliography #:tag [tag doc-bibliography] #:sec-title [sec-title Bibliography]) - (gen-bib tag group sec-title the-style fn render-date-bib render-date-cite date? date=?])) + (gen-bib tag group sec-title the-style fn render-date-bib render-date-cite date? date=? spaces])) (define (ends-in-punc? e) (regexp-match? #rx[.!?,]$ (content-string e))) _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] build: schemef.h - schemex.h
The ubuntu ppa build has been failing for a while, and I finally tracked it down to this issue: src/racket/src/schemef.h has a newer timestamp than src/racket/src/schemex.h on a fresh git checkout from github. This results in the make system trying to execute the following make[6]: Entering directory `/home/jon/tmp/plt2/src/b/racket/src' racket ../../../racket/src/makex.rkt ../../../racket/src/schemef.h ../../../racket/src/schemex.h On a fresh machine with no racket installed, this fails because there is no 'racket' executable available. I'm not sure what the best solution is. Right now I'm thinking of just doing a 'touch *' immediately after a 'git pull' for the build machine, since schemex.h probably should not be built every time.. But in general I imagine someone might run into this issue on their own machine. I'm mildly surprised it hasn't happened to anyone yet. For whatever reason, this issue only started appearing about 3 weeks ago. Perusing the git log doesn't show much related to schemex.h or whatever so I'm not sure what the root cause is. _ Racket Developers list: http://lists.racket-lang.org/dev