hackett icon indicating copy to clipboard operation
hackett copied to clipboard

WIP implementation of a Haskell-like Lisp in Racket

Results 35 hackett issues
Sort by recently updated
recently updated
newest added

Since this is 21'th century, we probably can have many (most?) parentheses implied, in a way that is not dissimilar to how Haskell does implicit `{ ... }` blocks (which...

feature

The guide and reference describe Hackett's features in isolation at a REPL, but there aren't any examples of a full Hackett *module* in the docs. The example code in the...

Maybe I've reinvented the wheel, but as an exercise here is an implemention of the State monad (`state.rkt`) with the relevant `get`, `put` and `modify` operations. Also, based on that,...

Currently, Hackett provides a `Tuple` type defined as an ordinary ADT, which is a 2-tuple. It would be nice to transparently support arbitrarily large tuples, like Haskell does.

feature

Hello, Thanks for sharing Hackett. It seems to bring out the best of haskell and scheme. Just want to check if there is any way to turn off lazy evaluation....

feature

I'd like to hear all possible feedback on this implementation before I add anything. I understand where @aaronmcdaid is coming from; it feels very awkward to convert to/from `pseudo-random-number-generator`s, but...

Right now, doing IO in the Hackett repl is kind of gross; your only option afaik is to wrap your `IO ()`s in an `unsafe-run-io!` call. Having e.g. `#:run` and...

feature

It would be useful to have a `#:minimal` clause as part of the `class` form, analogous to GHC’s `MINIMAL` pragma.

feature

Like Typed Racket, Hackett should support safe interop with Racket, with boundaries protected with contracts. The interoperation story is more complicated with Hackett because it’s semantically more distant from Racket...

feature

This repository should include a CONTRIBUTING file that outlines the general contribution process as well as references the code of conduct.