Programming Languages
Scheme,
Haskell,
Prolog,
C/C++,
Perl,
Other...
|
Scheme
XML, Web, macros, text and binary parsing, utilities,
database interfaces, papers...
|
XML
SXML, SSAX, parsing, SXSLT, SXPath...
|
OOP
Critique,
Purely-functional,
as-a database...
|
Lambda-calculus
Calculators, Negation, Division, P-numerals, Puzzles...
|
Haskell
Logical type programming, dependent types, keyword arguments, HList,
stanamic properties, monads...
|
Algorithms and Data Structures
Trees, Unification, Cryptography,
Treap,
Scheduling, Shuffling,
Arithmetic compression,
Cyclical structures...
|
Numerical Math
LinAlg, SVD, FFT, Lazy matrices, Matrix Streams...
|
Computation
Functional Programming, Monads,
Types,
Dependent Types,
backtracking,
Fixpoints, Self-Referential values, Re-writing systems, CPS macros...
|
Continuations
shift/reset; control/prompt;
call/cc and fixpoints;
enumerators and generators; zipper
...
|
Metcast
Introduction,
Channels,
Request language,
Soutei...
|
Image Processing
VR,
Wavelets,
Zerotrees,
Lazy images...
|
Essays
Information and Entropy, Computers and Infinity,
ILC02 notes, Usenix notes...
|
OS
ZipperFS/OS, HTTP VFS, Layered I/O, Sh agents,
DreamOS,
Speaking
HTTP...
|
| Algorithms and Data Structures |
|---|
|
Chess Tournament Scheduling
Solving a text layout problem with Dynamic Programming
Secure Counting of members
of a subset without revealing their identities
Provably perfect shuffling and its pure functional implementations
Pure-functional transformations of cyclic graphs and the Credit Card Transform
Radix-2 Fast
Fourier Transform: generating optimal code
Practical Lambda-calculators, which implement a
normal-order evaluation as a bottom-up parsing
Accumulating tree traversals, a better tree fold, and XML parsing
The probability of randomly chosen integers being relatively prime
|
Treap, a sorted dictionary data structure based on randomized search trees, in Scheme
Flattening a (cyclic) list by a lazy virus
Recursively enumerating
binary arithmetic relations, from addition to logarithm -- as conjunctions
and disjunctions -- in Prolog and Kanren
Towards the best collection traversal interface: from enumerator
to cursor
Provably correct and practical intersection testing of two
segments of a circle or two georectangles
On parent pointers in SXML trees
Polymorphic stanamically balanced AVL trees
Selecting a random node from a tree in one pass: from proof to code
Zipper as a delimited
continuation. Updating immutable SXML documents side-by-side.
|
| Programming Languages |
|---|
|
XML and Scheme: parsing, querying,
authoring, transforming
C++ Digest
Functional Style in C++: Closures, Late Binding, and Lambda Abstractions
Why C++ is not very fit for GUI programming
Scheme code, utilities, articles, Web and database programming
Purely-functional Object-Oriented System in Scheme
Makefile as a
functional language program
Object-Oriented programming is a
harmful methodology
KANREN: a declarative logic programming system
embedded in Scheme
|
Weather Observation Markup Format, an application of XML to annotate weather observation reports
Functional Programming articles, posts and notes
Solving Dr. Ecco's "Lines of Fire", Knight's tours, and other
puzzles, in Prolog
Haskell code and articles
HTML/XML/LaTeX authoring in Scheme
Scheme in Perl, or Perl as
Scheme
Literate XML/DTD programming
C pointers as closures
Keyword arguments in Haskell,
Scheme macros, ...
Eliminating Array
Bound Checking through Non-dependent types
|
| Networking and Communication |
|---|
|
Handling multiple TCP Connections in C++, C/C++ Users Journal, v.14, No. 5, May 1996, pp. 17-23.
The Web as a computer itself
TCPStream -- a C++ standard iostream over a TCP channel
|
Distributing Data Using TLT30G, Dr. Dobb's Journal, #289, September 1998, pp.34-40, 92-93.
Remote "command prompt" (pseudo-telnet) over HTTP
Speaking HTTP: A File-Uploader Tool,
USENIX ;login: -- vol. 25, No. 2 -- April 2000, pp. 6-14.
|
| Computing and Computation |
|---|
|
Expressing formal proofs in a computer language: Y Scheme
The Web as a computer itself
Can computers do infinity?
Many faces of
the fixed-point combinator
Type Arithmetics:
Computation based on the theory of types
XEXPR, SXML, and "executable" XML code
How fundamental is
information?.
Lexical extensions
via macros, and the meaning of identifiers
Syntax-rule-level lambda, CPS,
and a systematic macro programming
|
Backtracking, indeterministic,
state, etc. Monads in Haskell and Scheme
UNIX pipes as IO monads. Monadic i/o and UNIX shell programming
Sendmail as a
Turing machine
Concurrent and serializable computations and the evaluation order
Universally polymorphic
lists and a polymorphic FOLD in ANSI C without casts
P-numerals: arithmetically more convenient and efficient lambda-numerals
CPS transform and
beta-normalization via syntax-rules: Macro-expander as a proof assistant
|
| Operating Systems |
|---|
|
Zipper-based
file server/OS
Layered I/O
A network file system over HTTP:
remote access and modification of files and files
A USENIX'99 Freenix track paper
Patch-free User-level Link-time
intercepting of system calls and interposing on library functions
|
Opening of extended file names
including bidirectional and TCP pipes
Kernel of a simple OS in C++
Relaying TCP packets
Writing agents in sh: conversing through a pipe
|
| Image Processing and Visualization |
|---|
|
Flight through/around clouds (a.k.a. Venus)
|
Grayscale Image Processing
Image Compression Papers
|