[plt-dev] Racket web page

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed May 26 10:27:40 EDT 2010

On May 25, 2010, at 8:48 PM, Matthew Flatt wrote:

> #lang racket
> ;; Report each unique line from stdin:
> (let ([saw (make-hash)])
>   (for ([line (in-lines)])
>     (unless (hash-ref saw line #f)
>       (displayln line))
>     (hash-set! saw line #t)))

I would prefer to sacrifice one line to avoid the repetition of the test (leakage). I doubt Perl and friends do that: 

#lang racket
;; Report each unique line from stdin:
(define saw (make-hash))
(for ([line (in-lines)])
  (hash-ref saw line
    (lambda ()
      (displayln line)
      (hash-set! saw line #t))))



Posted on the dev mailing list.