GitHunt
YI

yii-iiy/lightsabers.notes

some beautiful code (by yinwang)

  • cps.ss - CPS transformer without administrative redexes (10+ years of
    research, finished independently as a weekly homework)

  • compiler.ss - optimizing compiler from Scheme to X64 assembly

  • meta-interp.ss - meta-circular interpreter that can interpret itself
    to any level

  • infer.ss - Hindly-Milner style type inferencer for lambda calculus
    (without let-polymorphism)

  • mk-c.ss - modified implementation of the logic language miniKanren with a
    constraint-based negation operator

  • interp-call-by-value.ss - simple call-by-value interpreter

  • interp-call-by-name.ss - simple call-by-name interpreter

  • interp-lazy.ss - interpreter with lazy semantics

  • interp-delim.ss - simple interpreter with delimited continuation
    operators (shift/reset/shift0/reset0)

  • lazy-ski.ss - compiler from lambda calculus to "lazy combinators"

  • cek.ss - a "reversible" CEK abstract machine which can run forwards and
    backwards and change directions any any time. One night's research.

  • encoding.scm - "church encoding" of various things in the lambda
    calculus, used by some other code (e.g. lazy-ski.ss)

  • pmatch.scm - supporting macro for pattern matching, used by some
    other programs here (compatible with most Scheme implementations)

Languages

Scheme97.6%Racket2.4%

Contributors

Created February 27, 2023
Updated February 27, 2023
yii-iiy/lightsabers.notes | GitHunt