Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Here’s some sample Hackett code that demonstrates some of Hackett’s features

To reiterate: **Hackett is extremely experimental right now.** Things are not guaranteed to work correctly (or work at all), and things are likely to change dramatically. If you really want to install Hackett to play around with it, though, you can.

You will need to have Racket installed to use Hackett. Using `raco`, you can install Hackett as a package:
You will need to have Racket v6 installed to use Hackett. Using `raco`, you can install Hackett as a package:

```
$ raco pkg install hackett
Expand All @@ -69,3 +69,11 @@ Now you can use Hackett by writing `#lang hackett` at the top of a file.

[hackett-docs]: https://lexi-lambda.github.io/hackett/
[types-as-macros]: http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf

### Nix

Since Racket v6 is quite old, `shell.nix` is provided for convenience. Use `nix-shell` to enter shell with Racket v6.12.

> To install Nix, use either [official](https://nixos.org/download/) or [modernized](https://determinate.systems/posts/determinate-nix-installer/) installer.

> Note that you don't need this repository cloned to use the `shell.nix`. Only file itself is needed.
11 changes: 11 additions & 0 deletions shell.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
let
nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/294c3605a3a57773242d8585ab1815cd61d4a65f.tar.gz";
};
pkgs = import nixpkgs {};
in
pkgs.mkShell {
nativeBuildInputs = [
pkgs.racket
];
}