miscellaneous racket utilities that I find useful
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dkanren-benchmarks
test
typed
.gitignore
LICENSE
README.md
TODO
choice-eff.rkt
ckanren.rkt
codec.rkt
comparison.rkt
csv-distinct.rkt
csv.rkt
cursor-eff.rkt
cursor-monad.rkt
cursor.rkt
dakanren.rkt
dict.rkt
dkanren-arithmetic.rkt
dkanren-interp.rkt
dkanren-simple-interp.rkt
dkanren.rkt
eff.rkt
either.rkt
file.rkt
fof-kanren.rkt
function.rkt
generator-eff.rkt
generator-monad.rkt
generator.rkt
idset.rkt
info.rkt
integer-set.rkt
interp-quines.rkt
interp-tests.rkt
list.rkt
markout.rkt
match.rkt
maybe.rkt
microkanren.rkt
minicurry.rkt
minikanren-numbers.rkt
minikanren.rkt
minikernel.rkt
monad.rkt
navigator.rkt
num.rkt
okanren-benchmarks.rkt
okanren-interpreter-benchmarks.rkt
okanren.rkt
oop.rkt
record.rkt
repr.rkt
set.rkt
state-eff.rkt
state-monad.rkt
stream-eff.rkt
stream-monad.rkt
string.rkt
sugar.rkt
syntax.rkt
terminal.rkt
test-modified
test.rkt
ui.rkt

README.md

Miscellaneous Racket Enhancements

  • records: structs that implement gen:dict keyed on field names
  • cursors: an implementation of both zippers and lenses over dicts and lists
  • pattern matching everywhere:
  • unrestricted generators as in: Yield: Mainstream Delimited Continuations
  • algebraic effects and handlers as in: Eff
  • monads and do-notation
  • awkward syntactic sugar experiments
  • a terminal-oriented markup, layout and presentation system
  • a "blitting" interface for terminal graphics
  • other utilities