Skip to content

Some educational code written 10+ years ago at IU

Notifications You must be signed in to change notification settings

SeanWang98/historical

This branch is up to date with yinwang0/historical:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b958853 · Apr 20, 2022

History

59 Commits
Apr 20, 2022
Aug 10, 2011
Jul 22, 2011
Aug 19, 2019
Jun 25, 2012
Apr 24, 2013
Jun 25, 2012
Oct 22, 2013
May 9, 2012
Oct 24, 2012
May 27, 2012
Jun 22, 2012
Apr 21, 2013
Jun 25, 2012
Jul 22, 2011

Repository files navigation

  • cps.ss - CPS transformer without administrative redexes

  • compiler.ss - a 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.

  • 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)

About

Some educational code written 10+ years ago at IU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scheme 97.5%
  • Racket 2.5%