I’m trying to learn racket & Hackett with 1.1 Quick Start, but it’s a bit bumpy:
❯ racket -iI hackett
Welcome to Racket v8.10 [cs].
standard-module-name-resolver: collection not found
for module path: (lib "hackett")
collection: "hackett"
in collection directories:
/home/turion/.local/share/racket/8.10/collects
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/
... [166 additional linked and package directories]
This sounds like I haven’t installed hackett
. I figured out that I probably need to do raco pkg install hackett
first, and I did that. It said, among many other things that I didn’t understand:
.raco-wrapped pkg install: packages installed, although setup reported errors
A second call (hoping that it is idempotent) gives:
❯ raco pkg install hackett
.raco-wrapped pkg install: package is already installed
package: hackett
Let’s try again.
❯ racket -iI hackett
Welcome to Racket v8.10 [cs].
/home/turion/.local/share/racket/8.10/pkgs/hackett-lib/hackett/private/type-reqprov.rkt:63:27: struct-copy: field name not associated with the given structure type
at: out-sym
in: (struct-copy export e (local-id (if (attribute no-introduce?) (export-local-id e) (type-namespace-introduce (export-local-id e)))) (out-sym (~>> (export-out-sym e) symbol->string (string-append "#%hackett-type:") string->symbol)))
location...:
/home/turion/.local/share/racket/8.10/pkgs/hackett-lib/hackett/private/type-reqprov.rkt:63:27
context...:
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/define-struct.rkt:944:2: find-accessor/field-info
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/define-struct.rkt:1026:13
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/define-struct.rkt:967:2: struct-copy-core
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/stxparam.rkt:61:2
[repeats 1 more time]
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/require-transform.rkt:266:2: expand-import
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/reqprov.rkt:499:5
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/require-transform.rkt:266:2: expand-import
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/reqprov.rkt:287:21: try-next
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/racket/private/reqprov.rkt:258:2
/nix/store/0qh9x95xy9fgwy0c61kji2j33yfvc849-racket-8.10/share/racket/collects/syntax/wrap-modbeg.rkt:46:4
What is that supposed to mean? On which level is the error? Is hackett broken? Is the racket framework on NixOS broken? Do I have to install racket things differently on NixOS?