Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
This FTP site
[go: Go Back, main page]

That's what you can find here

Unless specified otherwise, all the code and the documentation on this site is in public domain.

Programming Languages
Scheme, Haskell, Prolog, ML, C/C++, Perl, typed DSL, Other...
Scheme
XML, Web, macros, text and binary parsing, utilities, database interfaces, papers...
XML
SXML, SSAX, parsing, SXSLT, SXPath, typed SXML...
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, regions...
Algorithms and Data Structures
Trees, Cryptography, Treap, Scheduling, Zipping, Arithmetic compression, Cyclical structures...
Numerical Math
LinAlg, SVD, FFT, Lazy matrices, Matrix Streams, code generation...
Computation
Functional Programming, Monads, Types, Dependent Types, backtracking, Fixpoints, Self-Referential values, Re-writing systems, CPS macros...
Continuations
shift/reset in CBV and CBN; 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, conference summaries, Principia Mathematica notes...
OS
ZipperFS/OS, HTTP VFS, Layered I/O, Sh agents, DreamOS, Speaking HTTP...
Meta-programming
Staging, typed compilation, generating Gaussian Eliminators, FFT, numeric code...

 

What's new (rss)


Algorithms and Data Structures

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

Representing knowledge about knowledge

Total stream processors and their applications to all infinite streams

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.

Polymorphic variants as negation of open records: solving the expression problem
 

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

Type-level typecase

Meta-Theory and Logical Frameworks
 

Weather Observation Markup Format, an application of XML to annotate weather observation reports

Functional Programming articles, posts and notes

Haskell code and articles

HTML/XML/LaTeX authoring in Scheme and Haskell

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 and proving it

Symbolic differentiation of compiled numeric functions

Representing existential data types with isomorphic simple 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

Persistent delimited continuations for CGI programming with nested transactions

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

Many faces of the fixed-point combinator

Type Arithmetic, type-level higher-order for-loops, with applications to safe pointer arithmetic and time-indexed computations

Compilation by evaluation as syntax-semantics interface in natural languages

How fundamental is information?.

Lexical extensions via macros, and the meaning of identifiers

Syntax-rule-level lambda, CPS, and a systematic macro programming

(Delimited) dynamic binding

Interpreting types as abstract values: a brief course on Hindley-Milner type inference
 

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

Inverse typechecking and theorem proving in intuitionistic and classical logics
 

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

Delimited continuations in operating systems
 

Image Processing and Visualization

Flight through/around clouds (a.k.a. Venus)

Grayscale Image Processing

Image Compression Papers


[Flight Poster] One of the earliest flights through clouds


Last updated September 1, 2008

oleg-at-pobox.com or oleg-at-okmij.org or oleg-at-computer.org
Your comments, problem reports, questions are very welcome!