[racket] Combining iteration and match

From: Konrad Hinsen (konrad.hinsen at fastmail.net)
Date: Mon Sep 9 09:52:27 EDT 2013

Stephen Chang writes:

 > I've updated the generic-bind ~for/X forms so that its performance is
 > the same as racket's for/X.

Sounds great!

 > The update relies on a change to racket though. So if you want to try
 > it, first pull from racket git head, then update the generic-bind pkg.

OK, that was a good excuse for trying to install Racket from scratch,
which was a surprisingly painless process.

However, after installing Racket and then generic-bind (using "raco
pkg install generic-bind"), I cannot use generic-bind any more. Other
installed packages work fine, so I suspect that the problem is
specific to generic-bind.

Here's what I have in my Racket package directory:

   racket/ (master) $ ls -R racket/share/pkgs/generic-bind
   README.md    generic-bind notes.txt

   racket/share/pkgs/generic-bind/generic-bind:
   compiled
   define-sequence-syntax-experimenting.rkt
   generic-bind.rkt
   generic-bind.scrbl
   main.rkt
   stx-utils.rkt
   tests

   racket/share/pkgs/generic-bind/generic-bind/compiled:
   generic-bind_rkt.dep main_rkt.dep         stx-utils_rkt.dep
   generic-bind_rkt.zo  main_rkt.zo          stx-utils_rkt.zo

   racket/share/pkgs/generic-bind/generic-bind/tests:
   compiled               generic-bind-tests.rkt maze.rkt
   for-tests              input.txt

   racket/share/pkgs/generic-bind/generic-bind/tests/compiled:
   generic-bind-tests_rkt.dep maze_rkt.dep
   generic-bind-tests_rkt.zo  maze_rkt.zo

   racket/share/pkgs/generic-bind/generic-bind/tests/for-tests:
   compiled      for-util.rkt  for.rktl      loadtest.rktl testing.rktl

   racket/share/pkgs/generic-bind/generic-bind/tests/for-tests/compiled:
   for-util_rkt.dep for-util_rkt.zo

Now I launch Racket and type (require generic-bind):

   racket/ (master) $ ./racket/bin/racket                               [15:50:14]
   Welcome to Racket v5.90.0.9.
   > (require generic-bind)
   stdin::9: cannot open module file
     module path: generic-bind
     path: /Users/hinsen/Development/racket/racket/share/pkgs/generic-bind/main.rkt
     system error: No such file or directory; errno=2
     context...:
      standard-module-name-resolver
      /Users/hinsen/Development/racket/racket/collects/racket/private/misc.rkt:87:7

So Racket looks for racket/share/pkgs/generic-bind/main.rkt, but the
file is located at racket/share/pkgs/generic-bind/generic-bind/main.rkt.

Konrad.

Posted on the users mailing list.