hamming_tree.ppt | Motivation - Hamming sequences | |
slow-ham.cc | Generate-and-test solution is much too slow | |
ham_pq.cc | A C++ solution using a priority queue for thread simulation | |
pqueue.cc | The priority queue class for above | |
pqueue.h | The include file for above | |
lambda.ss | Scheme primer | |
ham.0.ss | Scheme solution attempt without "force" and "delay" fails | |
ham.1.ss | Scheme solution using lambda to "force" and "delay" | |
hamming.hs | A Haskell solution - force and delay embedded in the language | |
stream.cc | Use classes to implement "force" and "delay" in C++ | |
bigint.cc | We use character strings to represent large numbers | |
bigint.h | The include file for above | |
stream.1.cc | Stream network using above | |
hamming.cc | Stream (data driven) solution to Hamming's problem in C++ | |
topo.ppt | Finding a topological sort | |
topo.cc | Stream solution to finding a topological sort | |
syntax.ss | Macros in Scheme: define-syntax | |
topo.4.ss | Self modifying code: Scheme solution to finding a topological sort using define-syntax | |
heap.ppt | Illustration of heaps in Scheme: prep for call/cc | |
call.5.ss | Uses for call-with-current-continuation | |
kalotan.6.ss | Kalotan puzzle using call/cc to control the search via amb | |
color.7.ss | Coloring Europe via amb | |
magic.8.ss | Magic squares via amb | |
usman.9.ss | Supermarket logic puzzle via amb | |
y.ss | The Y combinator - for nameless recursion | |
ycombi.ss | Derivation of the Y combinator - power of lambda and weak typing | |
streams.doc | Further reading |