[racket-users] Problems with 'provide'

2015-12-23 Thread David Storrs
Hi folks,

I have a file, "util.rkt", the complete text of which is:

== QUOTE
#lang racket

(require racket/pretty)

(define (print-prettier s)
  (parameterize ([pretty-print-columns 1])
(pretty-print s)))

(define (hash-key-is? h k v)
  (and (hash-has-key? h k)
   (equal? (hash-ref h k) v)))

(provide (all-defined-out))
 /QUOTE

(Without the ===QUOTE stuff, obviously)

>From the same directory, I do this:

[dstorrs@localhost:~/scheme:<>]$ racket
racket
Welcome to Racket v6.3.
-> (require "./util.rkt")
(require "./util.rkt")
-> hash-key-is?
hash-key-is?
; hash-key-is?: undefined;
;  cannot reference undefined identifier
; [,bt for context]
-> (require "util.rkt")
(require "util.rkt")
-> hash-key-is?
hash-key-is?
; hash-key-is?: undefined;
;  cannot reference undefined identifier
; [,bt for context]


I've also tried changing the provide like to:  (provide print-prettier
hash-key-is?) but that changed nothing.

I've got another module which ends with a (provide (all-defined-out)) and
that one makes its functions available just fine.

What's going on?

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Problems with 'provide'

2015-12-23 Thread Robby Findler
Is it possible you have two util.rkt files and you are in the wrong
directory?

Robby

On Wednesday, December 23, 2015, David Storrs 
wrote:

> Hi folks,
>
> I have a file, "util.rkt", the complete text of which is:
>
> == QUOTE
> #lang racket
>
> (require racket/pretty)
>
> (define (print-prettier s)
>   (parameterize ([pretty-print-columns 1])
> (pretty-print s)))
>
> (define (hash-key-is? h k v)
>   (and (hash-has-key? h k)
>(equal? (hash-ref h k) v)))
>
> (provide (all-defined-out))
>  /QUOTE
>
> (Without the ===QUOTE stuff, obviously)
>
> From the same directory, I do this:
>
> [dstorrs@localhost:~/scheme:<>]$ racket
> racket
> Welcome to Racket v6.3.
> -> (require "./util.rkt")
> (require "./util.rkt")
> -> hash-key-is?
> hash-key-is?
> ; hash-key-is?: undefined;
> ;  cannot reference undefined identifier
> ; [,bt for context]
> -> (require "util.rkt")
> (require "util.rkt")
> -> hash-key-is?
> hash-key-is?
> ; hash-key-is?: undefined;
> ;  cannot reference undefined identifier
> ; [,bt for context]
>
>
> I've also tried changing the provide like to:  (provide print-prettier
> hash-key-is?) but that changed nothing.
>
> I've got another module which ends with a (provide (all-defined-out)) and
> that one makes its functions available just fine.
>
> What's going on?
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.