On Tue, Oct 23, 2012 at 5:14 PM, Danny Yoo <d...@hashcollision.org> wrote:
> The following program is generating a type error in 5.3.1, but I don't
> understand it yet.
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;
> #lang typed/racket/base
>
> ;; We may have more information about the lambda's name.  This will show it.
> (define-struct: LamPositionalName ([name : Symbol]
>                                    [path : String]    ;; the source of the 
> name
>                                    [line : Natural]
>                                    [column : Natural]
>                                    [offset : Natural]
>                                    [span : Natural]) #:transparent)
>
>
> (: current-defined-name (Parameterof (U Symbol LamPositionalName)))
> (define current-defined-name (make-parameter 'unknown))



To add, I can work around this behavior by doing:


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(: UNKNOWN Symbol)
(define UNKNOWN 'unknown)

(: current-defined-name (Parameterof (U Symbol False LamPositionalName)))
(define current-defined-name (make-parameter UNKNOWN))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


but I'd still like to know why the earlier code doesn't work in 5.3.1.
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to