Paul Steckler | 16 Aug 07:58

[racket-dev] Nit in Windows build files

In last night's build, the Visual Studio solution file
src/worksp/racket/racket.sln contains the line:

  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libracket",
      "..\libracket\libracket.vcproj",  "{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}"

When you load that solution into VS2005, that project shows up as
`libmzsch', which is
confusing (and breaks some code I'm working on).

I think you just need to rename the project.

-- Paul
Vincent St-Amour | 15 Aug 04:07
Favicon

[racket-dev] Code review tool

Last week at PLT day, there was some discussion about code review, and
how to potentially integrate it with our workflow.

I found the following tool which may help:

http://code.google.com/p/gerrit/

If I understand correctly, commits that are pushed don't go directly
to the main repository; instead, they go to an intermediate repo,
where any authorized user can approve them and push them to the main
repo.

Vincent
Jay McCarthy | 14 Aug 19:25
Picon
Gravatar

Re: [racket-dev] [DrDr] R20864 (timeout 1) (unclean 776) (stderr 776) (changes 796)

The root of this problem is that "make install" didn't finish. Here's the log:

http://drdr.racket-lang.org/20864/src/build/make-install

It says:

attempted to wait for suspend in nested atomic mode
match: no matching clause for (list (list (cc '(#<path:tests>
#<path:stress> #<path:racket>)
#<path:/opt/plt/builds/<current-rev>/trunk/collects/tests/stress/racket>
"tests/stress/racket" #<procedure:info>
#<path:/opt/plt/builds/<current-rev>/trunk/collects>
#<path:/opt/plt/builds/<current-rev>/trunk/colle...
 === context ===
/opt/plt/builds/<current-rev>/trunk/collects/racket/match/runtime.rkt:19:0:
match:error
/opt/plt/builds/<current-rev>/trunk/collects/setup/parallel-do.rkt:102:69
/opt/plt/builds/<current-rev>/trunk/collects/setup/setup-unit.rkt:601:17: thunk
/opt/plt/builds/<current-rev>/trunk/collects/setup/setup-go.rkt: [running body]
/opt/plt/builds/<current-rev>/trunk/collects/setup/main.rkt: [running body]
attempted to wait for suspend in nested atomic mode
make[1]: *** [install-3m] Error 1
make[1]: Leaving directory `/opt/plt/builds/<current-rev>/trunk/src/build'
make: *** [install] Error 2

I assume that you [Kevin] can tell me what this means and how I can
fix it. {Note: "raco setup" completes fine on my machine so I'm not
even sure where to start to reproduce it.}

Jay
(Continue reading)

Favicon

[racket-dev] a pretty funny home page

Go to

http://sites.google.com/site/viktorwinschel/

then click on "Languages".
Everett | 13 Aug 22:08

[racket-dev] Possible P4P or Honu ideas

Does anyone think this idea would work for P4P or Honu?

#lang alt-syntax
#|

Sets up a new reader that directly transforms the input into normal
S-Exprs, making this fully compatible with existing Racket (#lang
altsyntax would provide all of racket) and with macros.

Lexer Tokens
  ( ) [ ] { } (| |) _( : ): id string number char keyword etc...

Grammar
  expr
    : id
    | constant

    //Application with expr in app position
    | '{' expr '}' '(' expr_lst ... ')' -> '(' expr expr_lst ... ')'

    //Normal application f(a ...)
    | id '(' expr ... ')' -> '(' id expr ... ')'

    //Infix application
    | '(|' expr_0 expr_1 expr_2 '|)' -> '(' expr_1 expr_0 expr_2 ')'

    //Normal prefix s-exprs
    | '[' expr ... ']' -> '(' expr ... ')'
    | '_(' expr ... ')' -> '(' expr ... ')'

(Continue reading)

Everett | 13 Aug 01:12

[racket-dev] GUI Refresh

Observation of DrRacket and PLT Redex leads me to believe that when
updating something displayed in the GUI each change is immediately
reflected (in a nice functional manner), even if a batch of changes is
being performed, thus wasting time drawing the GUI on intermediate
results.  The effect is a less usable GUI.

Example 1:
Have two tabs open in DrRacket.  Click the other one.  You can see the
scroll bar adjust first, showing the corresponding location in the
current file, then the contents adjust second showing the right file.

Example 2:
In PLT Redex traces graph, move the font-size slider.  The whole GUI
freezes up until it has redrawn, even though I wasn't done moving the
slider.  The result is that I have to move the slider one font size (or
few font sizes) at a time.

Possible solutions:
- For the slider: a timeout after user input stops before actually
changing the value.
- For the tabs: The ability to give a list of changes before updating
the GUI
- Functions to turn on/off updating and use them around a group of
changes or when dragging a slider.
- Some other kind of double-buffering feature at least, so it isn't as
slow and as visible.

Or am I wrong about the cause (and thus solutions) of these GUI
problems?

(Continue reading)

Jay McCarthy | 12 Aug 22:15
Picon
Gravatar

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

Here's the next batch of changes based on the recent article.

I didn't do every list function because some of them don't make as
much sense to me, but I think I've given a framework for anyone who
has more functions they think we need to see how to implement it and
then where to put the tests, etc. If anyone has suggestions for
another function, let me know.

There's a few things I wanted to do that I didn't know how:

- for/sequence that constructs the sequence lazily. (The exist
for/fold/derived looks like it can't deal with the laziness and it
seems very bad to duplicate the macro code.)

- sequence/c -- I know how I'd implement it, but I don't know where it
would be allowed to go.

As a final note, I don't intend this to be a mere pandering to this
blog post. When I was reading the blog post I found myself saying, "Ya
but you could implement that so easily" or "Ya, it is annoying to use
that pattern", etc. Hearing myself say that told me that I've always
wanted many of these functions but I always implemented them in a
one-off fashion or used a boilerplate pattern.

Jay

On Thu, Aug 12, 2010 at 2:10 PM,  <jay <at> racket-lang.org> wrote:
> jay has updated `master' from 1ebdb6a90b to fae0cb2c99.
>  http://git.racket-lang.org/plt/1ebdb6a90b..fae0cb2c99
>
(Continue reading)

Jay McCarthy | 12 Aug 01:41
Picon
Gravatar

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

I'd like comments on this addition in response to the blog post we saw
on the list today.

Jay

On Wed, Aug 11, 2010 at 5:40 PM,  <jay <at> racket-lang.org> wrote:
> jay has updated `master' from 8dc38e9d84 to e06f0e78b2.
>  http://git.racket-lang.org/plt/8dc38e9d84..e06f0e78b2
>
> =====[ 4 Commits ]======================================================
>
> Directory summary:
>  17.8% collects/racket/private/
>  29.6% collects/scribblings/reference/
>  20.9% collects/tests/racket/
>   9.4% collects/tests/unstable/
>  18.9% collects/unstable/scribblings/
>   3.2% collects/unstable/
>
> ~~~~~~~~~~
>
> db87add Jay McCarthy <jay <at> racket-lang.org> 2010-08-11 16:37
> :
> | Adding hash-domain and hash-range to racket/base
> :
>  M collects/racket/private/base.rkt            |    4 +++-
>  A collects/racket/private/hash.rkt
>  M collects/scribblings/reference/hashes.scrbl |   11 +++++++++++
>  M collects/tests/racket/basic.rktl            |    5 +++++
>  M collects/unstable/hash.rkt                  |    8 --------
(Continue reading)

Kevin Tew | 11 Aug 23:59
Picon
Favicon
Gravatar

[racket-dev] How to build Places

Places is ready for experimentation by a wider audience.

Build Instructions
========================
mkdir build_places
cd build_places
../src/configure --enable-places
make
make install

Basic place API documentation should build in your user docs directory.
collects/tests/racket/place-channel.rktl tests communication of simple 
datatypes.

Danny Yoo | 11 Aug 21:58
Favicon
Gravatar

[racket-dev] continuation weirdness

I came across some oddity under DrRacket involving continuations.  If
I have the following in my definitions window:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#lang racket
(define (make-gen gen)
 (let ([cont (box #f)])
   (lambda ()
     (call/cc (lambda (caller)
                (if (unbox cont)
                    ((unbox cont) caller)
                    (gen (lambda (v)
                           (call/cc (lambda (gen-k)
                                      (begin
                                        (set-box! cont gen-k)
                                        (caller v))))))))))))
(define g1 (make-gen (lambda (return)
                      (begin
                        (return "a")
                        (return "b")
                        (return "c")))))
(g1)
(g1)
(g1)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

then when I call (g1) in the interactions window, I see the following:

(Continue reading)

Matthias Felleisen | 11 Aug 16:22
Favicon

[racket-dev] new release policy


Matthew, Robby and I discussed a switch to a slightly slower 
release policy after PLT Day. Here is what we propose to 
switch to: 

  four timed releases per year, 
	targeted for on  August 1, November 1, February 1, May 1
	to be started 2 weeks before that (I'll spell that out, if 
	needed)

If there are any objections, the time to state them is now. 

-- Matthias


Gmane