David Bremner | 22 Oct 21:26 2014

crash running raco setup with racket 6.1

Building racket 6.1, from racket-6.1-src.tgz, the debian build
calls make install twice,
the first time with PLT_EXTRA="--no-docs --no-zo", and the second time
with PLT_EXTRA="--no-launcher --no-install --no-post-install". This
second (main) call is crashing after some recent change in Debian
unstable (not sure what, but it worked Monday).

At the end you can find a backtrace generated with

% gdb --args racket/racket3m -j -X
"/home/bremner/software/debian/racket/debian/tmp/usr/share/racket/collects" -G
"/home/bremner/software/debian/racket/debian/tmp/etc/racket"  -N "raco" -l- setup  --no-user -j 1
--no-launcher --no-install --no-post-install

(where DESTDIR=/home/bremner/software/debian/racket/tmp)

This particular backtrace is generated with libcairo2 1.14.0-2
(I don't think the debian revision -2 is likely relevant).

For what it's worth, my debian testing system has cairo 1.12.16-5 on it,
and the build runs fine there.

#0  0x00007ffff713f077 in __GI_raise (sig=sig <at> entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff7140458 in __GI_abort () at abort.c:89
#2  0x00000000006a9f9e in fault_handler (
    sn=<optimized out>, si=0x9ea5b0, ctx=<optimized out>)
    at /home/bremner/software/debian/racket/src/racket/gc2/sighand.c:99
#3  <signal handler called>
(Continue reading)

John Clements | 22 Oct 17:36 2014

Nervous about all of this merging to 6.1.1 release?

Is anyone else nervous about the number of not-obviously-trivial changes we're merging to the 6.1.1 release after the test bundles are out? I for one wouldn't mind re-running my tests before the release.


  Racket Developers list:
Sam Tobin-Hochstadt | 22 Oct 04:26 2014

Strange issue with identifier-binding being wrong for lexical variables

I've found what I think is a bug in the expander where lexical
references can get an `identifier-binding` result that suggests that
they're module-bound.

In particular, you need these three files:


(module bugtest "wraptest.rkt")


(define (gcbench)
  (define main #f)

(define main #f)


#lang racket/base
(provide (rename-out (module-begin #%module-begin)))

(require racket/include
         (for-syntax racket/base))

(define-syntax (module-begin stx)
  (define name (syntax-property stx 'enclosing-module-name))
     (include #,(format "~a.scm" name))))

Then run the macro stepper with macro hiding off on "bugtest.rkt".
Click on the reference to `main` inside `gcbench`. You'll see that it
says that it's a module-bound variable named `main.2` which is defined
in this module.

Then try changing the name of the top-level definition in bugtest.scm
to `main2`. Re-run the macro stepper, and you'll see that the
identifier-binding is now lexical.

I tried a few things to get this to go away (such as using
`#%plain-module-begin`) which didn't work. Reducing it to two files,
ie doing the include directly in bugtest.rkt, made the problem

Changing the body of the `module-begin` macro to:

(define-syntax (module-begin stx)
  (define name (syntax-property stx 'enclosing-module-name))
     #,(datum->syntax stx `(include ,(format "~a.scm" name)))
     #,(datum->syntax stx '(main))))

and then providing a bunch of extra stuff made the issue go away.
Because there's the workaround, the issue isn't urgent.

Sam (and Tobias, who found this bug)
  Racket Developers list:

Dan Liebgold | 22 Oct 03:26 2014

define-require-syntax issue

If I do a (require (file <some absolute path>)) in a module, the provided stuff gets imported properly.

If I do a special require form that uses define-require-syntax to generate an identical (file <...>) the specified module gets evaluated -- but (seemingly) nothing gets imported.

Is there something special the define-require-syntax transformer needs to do besides generate a syntax object?

samth mentioned on irc that it is probably a hygiene issue... something about generating the right marks on the (file ...) form.

Dan Liebgold    [dan.liebgold-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org]
  Racket Developers list:
Matthias Felleisen | 20 Oct 23:54 2014

Re: [plt] Push #29396: master branch updated

DOn't we want to merge this into 6.1.1? 

On Oct 20, 2014, at 3:44 PM, stamourv@... wrote:

> stamourv has updated `master' from 538bb75d64 to 9030680e31.
>  http://git.racket-lang.org/plt/538bb75d64..9030680e31
> =====[ One Commit ]=====================================================
> Directory summary:
>  16.9% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/
>  83.0% pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/
> ~~~~~~~~~~
> 9030680 Vincent St-Amour <stamourv@...> 2014-10-20 11:34
> :
> | Fix types for foldl and foldr with 3 lists.
> |
> | Thanks to Jack Firth for the report.
> :
>  M .../tests/typed-racket/unit-tests/typecheck-tests.rkt    | 13 +++++++++++++
>  M .../typed-racket-lib/typed-racket/base-env/base-env.rkt  |  4 ++--
> =====[ Overall Diff ]===================================================
> pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- OLD/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
> +++ NEW/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
>  <at>  <at>  -657,11 +657,11  <at>  <at> 
>  (-poly (a b c d)
>         (cl-> [((a b . -> . b) b (-lst a)) b]
>               [((a b c . -> . c) c (-lst a) (-lst b)) c]
> -              [((a b c d . -> . d) d (-lst a) (-lst b) (-lst d)) d]))]
> +              [((a b c d . -> . d) d (-lst a) (-lst b) (-lst c)) d]))]
> [foldr  (-poly (a b c d)
>                (cl-> [((a b . -> . b) b (-lst a)) b]
>                      [((a b c . -> . c) c (-lst a) (-lst b)) c]
> -                     [((a b c d . -> . d) d (-lst a) (-lst b) (-lst d)) d]))]
> +                     [((a b c d . -> . d) d (-lst a) (-lst b) (-lst c)) d]))]
> [filter (-poly (a b) (cl->*
>                       ((asym-pred a Univ (-FS (-filter b 0) -top))
>                        (-lst a)
> pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- OLD/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
> +++ NEW/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
>  <at>  <at>  -1155,6 +1155,19  <at>  <at> 
>                 (-polydots (a) ((list) (a a) . ->... . -Integer))]
>         |#
> +        [tc-e (foldl (lambda: ([x : Integer] [acc : String]) acc) "" '(1 2 3))
> +              -String]
> +        [tc-e (foldl (lambda: ([x : Integer] [y : Float] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6))
> +              -String]
> +        [tc-e (foldl (lambda: ([x : Integer] [y : Float] [z : Symbol ] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6)
'(a b c))
> +              -String]
> +        [tc-e (foldr (lambda: ([x : Integer] [acc : String]) acc) "" '(1 2 3))
> +              -String]
> +        [tc-e (foldr (lambda: ([x : Integer] [y : Float] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6))
> +              -String]
> +        [tc-e (foldr (lambda: ([x : Integer] [y : Float] [z : Symbol ] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6)
'(a b c))
> +              -String]
> +
>         ;; First is same as second, but with map explicitly instantiated.
>         [tc-e/t (plambda: (a ...) [ys : (a ... a -> Number) *]
>                 (lambda: [zs : a ... a]

  Racket Developers list:

David Bremner | 16 Oct 23:23 2014

advice on the 6.x build system.

I've been been trying to rework the debian racket packaging, and to
understand the new racket build system.  I need to have the two seperate
targets, which most of the package installation is done in the the
"build-indep-stamp" target.

The following makefile snippet is _almost_ working, except that I'm
missing a launcher for drracket. After installing debian/tmp, running
/usr/lib/racket/gracket and (require drracket) seems to work ok to start
drracket, so I take that as indicating most of the packages / collects
are in the right place.  Can anyone see what I'm doing wrong here?

I should say that I tried to make better use of the top level makefile,
but I ended up with wrong default collects paths (probably just a
different error on my part).

I tried all of this (most recently) with the current release branch

PRERACKET:=${destdir}/usr/bin/racket  -X ${destdir}/usr/share/racket/collects

raco_args:=--catalog build/local/catalog --auto -i --skip-installed

	mkdir -p ${base_build_dir}
	cd ${base_build_dir} && $(CURDIR)/racket/src/configure --prefix=/usr

build-arch-stamp: ${base_build_dir}/Makefile
	$(MAKE) -C ${base_build_dir} 
	$(MAKE) -C ${base_build_dir} DESTDIR=${destdir} install
	touch $ <at> 

build-indep-stamp: build-arch-stamp
	${PRERACKET} -N raco -l- \
		pkg install ${raco_args}  main-distribution racket-lib
	touch $ <at> 
  Racket Developers list:

Laurent | 16 Oct 16:06 2014

DrRacket flickers?


Using Racket [3m] on Ubuntu 14.04, I see DrRacket flickering during selections, tab switching and other occasions, but it's not consistent.

Does anyone else see the same thing?

  Racket Developers list:
Ryan Culpepper | 16 Oct 15:13 2014

Pre-Release Checklist for v6.1.1

Checklist items for the v6.1.1 release
   (using the v6.1.0.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-release.racket-lang.org

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test the `master' branch by mistake!).  To
get the tests, you can do this:

   cd ...racket-root...
   ./bin/raco pkg install -i main-distribution-test


* Matthew Flatt <mflatt@...>
   - Racket Tests
   - Languages Tests
   - GRacket Tests (Also check that `gracket -z' and `gracket-text' still
     works in Windows and Mac OS X)
   - mzc --exe tests
   - .plt-packing Tests
   - Games Tests
   - Unit Tests
   - Syntax Color Tests
   - R6RS Tests
   - JPR's test suite
   - Create an executable from a BSL program
   - Run COM tests
   - Embed-in-c test
   - Try compiling with -funsigned-char
   - Racket Updates: update HISTORY
   (updates should show v6.1.1 as the most current version)
   - Update man pages in racket/man/man1: racket.1, gracket.1, raco.1
   Email me to pick the changes when they're done, or tell me if there
   are no such changes.

* Robby Findler <robby@...>
   - DrRacket Tests
   - Framework Tests
   - Contracts Tests
   - Games Tests
   - Teachpacks Tests: image tests
   - PLaneT Tests
   - Redex Tests
   - DrRacket Updates: update HISTORY
   - Redex Updates: update HISTORY
   (updates should show v6.1.1 as the most current version)
   - Ensure that previous version of DrRacket's preference files still
     starts up with new DrRacket
   - Update man pages in racket/man/man1: drracket.1
   Email me to pick the changes when they're done, or tell me if there
   are no such changes.

* John Clements <clements@...>
   - Stepper Tests
   - Stepper Updates: update HISTORY
   (updates should show v6.1.1 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such

* Sam Tobin-Hochstadt <samth@...>,
    Vincent St-Amour <stamourv@...>
   - Match Tests
   - Typed Racket Tests
   - Typed Racket Updates: update HISTORY
   (updates should show v6.1.1 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such

* Matthias Felleisen <matthias@...>
   - Teachpacks Tests: check that new teachpacks are addable
   - Teachpack Docs: check teachpack docs in the bundles
   - Try teaching-languages testing framework (check-expect)
   - Teachpack Updates: update HISTORY
   (updates should show v6.1.1 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such

* Ryan Culpepper <ryanc@...>
   - Macro Debugger Tests
   - syntax-parse Tests
   - RackUnit GUI Tests
   - Data Tests
   - DB Tests
   - Rackunit Tests
   - SRFI Tests

* Jay McCarthy <jay.mccarthy@...>
   - Web Server Tests
   - XML Tests
   - HTML Tests
   - PLAI Tests
   - Racklog tests
   - Datalog tests

* Stevie Strickland <sstrickl@...>
   - Unit Contract Tests
   - Contract Region Tests
   - Class Contract Tests

* Stephen Chang <stchang@...>
   - Lazy Racket Tests
   - Lazy stepper tests

* Eli Barzilay <eli@...>
   - Swindle Tests
   - XREPL Tests
   - Verify PL language
   - Racket Tree: compare new distribution tree to previous one
   - Run the unix installer tests
   - Run zsh completions tests
     (". .../racket-completion.zsh; _racket --self-test")

* Stephen Bloch <sbloch@...>
   - Picturing Programs Tests

* Greg Cooper <greg@...>
   - FrTime Tests

* Jon Rafkind <rafkind@...>
   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]

* Mike Sperber <sperber@...>
   - DMdA Tests
   - Stepper Tests
   - Signature Tests

* David Van Horn <dvanhorn@...>
   - EoPL Tests

* Neil Toronto <neil.toronto@...>
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

* Doug Williams <m.douglas.williams@...>
   - Additional Plot Tests

* Shriram Krishnamurthi <sk@...>
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v6.1.0.900 build, you will need to edit your
   file and change `(version)' to `"6.1.1"'.]
  Racket Developers list:

Vincent St-Amour | 14 Oct 21:26 2014

General DrRacket Tooltip API?

I'd like to use DrRacket's new tooltip support in Optimization Coach.

I tried using the check syntax-based API, but since OC does not run
during the dynamic extent of check syntax, that didn't work.

Is there an API that DrRacket tools can use to show tooltips, that does
not involve going through check syntax?



  Racket Developers list:

Neil Toronto | 10 Oct 13:29 2014

Re: [plt] Push #29355: master branch updated

Does this mean most instances of GUI classes can now cross the contract 

Neil ⊥

On 10/09/2014 05:37 PM, asumu <at> racket-lang.org wrote:
> asumu has updated `master' from 38af459049 to 863f0c5802.
>    http://git.racket-lang.org/plt/38af459049..863f0c5802
> =====[ One Commit ]=====================================================
> Directory summary:
>     5.7% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/static-contracts/combinators/
>    51.3% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/
>     6.7% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/
>    36.1% pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/
> ~~~~~~~~~~
> 863f0c5 Asumu Takikawa <asumu <at> racket-lang.org> 2014-10-08 01:04
> :
> | Add contract generation for Evtof types
> :
>    A pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/evt-contract.rkt
>    M .../static-contracts/combinators/structural.rkt   |  6 ++--
>    M .../typed-racket/private/type-contract.rkt        |  2 ++
>    M .../typed-racket/typed-racket.rkt                 |  4 ++-
>    M .../typed-racket/unit-tests/contract-tests.rkt    | 29 ++++++++++++++++++++

  Racket Developers list:
Ryan Culpepper | 8 Oct 20:44 2014

Release for v6.1.1 has begun

The release process for v6.1.1 has begun: the `release' branch was
created for any work that is left and is now bumped to v6.1.0.900.  You
can go on using the `master' branch as usual, it is now bumped to
v6.1.1.1 (to avoid having two different trees with the same version).

If you have any bug-fixes and changes that need to go in the release
then make sure to specify that in the commit message or mail me the
commit SHA1s.  You can `git checkout release' to try it out directly if
needed -- but do not try to push commits on it (the server will forbid

Please make sure that code that you're responsible for is as stable
as possible, and let me know if there is any new work that should
not be included in this release.


The time between the `release' branch creation and the actual
release is for fixing new errors that prevent proper functioning of
major components and that show up during the preparation for a
release.  You can also finalize piece of work that is not yet
complete, but please avoid merging new features.

Note that nightly builds will go on as usual (starting from
v6.1.1.1 and going up as usual), and pre-release builds will be
available shortly at


Please tell me if you think that this release is significant enough
that it should be announced on the users list for wider testing.
  Racket Developers list: