On 2013-03-09 10:57:28 -0500, sstri...@racket-lang.org wrote:
> 7d1ad25 Stevie Strickland <sstri...@racket-lang.org> 2013-03-09 10:32
> :
> | Revert hack for top-level, institute real fix.
> |
> | As a side-effect of this fix, we don't need the thunking behavior for
> | external identifiers anymore.  Even better!

Very nice!

One problem though. I think this has broken some uses of
`define/contract` in third-party code I have installed. Here's a
boiled-down snippet that shows the issue:

  #lang racket

  ;; breaks
  (define/contract (f x #:y [y 3])
    (->* (integer?) (#:y integer?) integer?)
    x)

  ;; contract-out ok with same contract
  #;
  (define (f x #:y [y 3]) x)

  #;
  (provide
    (contract-out
      [f (->* (integer?) (#:y integer?) integer?)]))

The error I see is:
  dc-bug.rkt:5:19: #%datum: keyword used as an expression
    in: #:y
    context...:
     standard-module-name-resolver

Cheers,
Asumu
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to