Index

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

Recent changes:  February 13, 2025   |   RSS   |   Atom
 

Shortcuts

tagless-final

MetaOCaml

streams

staging

polymorphic type inference

extensible effects

typeclass

Algebra

lambda calculus

Iteratee, Enumerator

Freer monad

NBE

Shonan Challenge

polynomial event semantics

strymonas

simple generators

LogicT

shift tutorial

delimcc

call/cc

lazy non-determinism

Hakaru10

Hansei

zipper

SXML

SSAX

HList

macros

perfect random shuffle

Computation
fixpoints; Having an Effect; monads; programming as collaborative reference; effects without monads; Turing machines; Markov algorithms; R-technology; CK macros; generators vs. lazy evaluation; IO monad realized in 1965; grasping patterns; the mystery of assignment is syntactic; ...
Types
Safe and Efficient, Now; typeclasses; polymorphic type inference; Hindley-Milner type inference course; unusual polymorphism; session types without sophistry; eliminating existentials; extensible effects; region memory management for free variables; type arithmetic; ...
Meta-programming
staging; implementations; Reconciling abstraction with high performance: A MetaOCaml approach; MetaOCaml; software-defined radio (SDR); genlet(rec); language-integrated query; generating C; Staged Haskell; generating Gaussian Eliminators; impure but hygienic code generation; FFT; quines; generating code with polymorphic let: A ballad of value restriction, copying and sharing; ...
Continuations
implementations; tutorials; delimited vs. undelimited; Eff directly in OCaml; against call/cc; generators; zipper; recursion from iteration; delimited dynamic binding; functional un|unparsing; ...
Algorithms and Data Structures
fast pretty-printing; Boyer-Moore majority voting, embarrassingly parallel; nested grouping-aggregation; breadth-first labeling; fast type-aligned queues; arithmetic compression; scheduling; transforming cyclical structures; shuffling; the Credit Card transform; secure counting; beyond Church encoding: Boehm-Berarducci isomorphism; fast embedding of postfix languages; ...
Denotational Semantics
query optimization; not by equations alone; normalization-by-evaluation; compiling to combinators; multiprompt delimited control; tagless-final optimizations, algebraically; evaluators, normalizers, reducers: from denotational to operational semantics; reference-type vs. mutable variables; ...
Logic
recursively enumerating binary arithmetic relations; logical frameworks; Twelf; impredicativity; strengthening in logical frameworks; eigen-variables: variables or constants? type soundness proofs for calculi with delimited control; ...
Probabilistic Programming
Hansei; Hakaru10; Bayesian nets; HMM; population estimation; Metropolis-Hastings for mixtures of conditional distributions; problems of the lightweight implementation; multi-target tracking; importance sampling; reversible parsing combinators; ...
Non-determinism
LogicT; purely functional lazy non-deterministic programming; fair backtracking; re-thinking Prolog; reasoning with non-determinism and state; declarative Logic Programming in ordinary languages; ...
Essays
in defense of effects; information and entropy; computers and infinity; conference summaries; Principia Mathematica notes; computing in good old days; ...
Programming Languages
Haskell; ML; Scheme; Prolog; typed DSL; C++; Perl; Others
lambda calculus
many calculators and embeddings; many predecessors; new SKI translation: at last, compositional; simplest polyvariadic fixpoint combinators; alpha-conversion is inevitable; pairs, sums, lists, etc. in simply-typed calculus; ...
tagless-final
pattern-matching; Compilers: Incrementally and Extensibly; embedding and generating C; ...
ML
extra-polymorphism; typeclasses; canonical structures; MetaOCaml; HList; higher-kinded bounded polymorphism; type representations; shell/AWK/Perl-like scripting; many embedded DSLs; delimited continuations; ...
Linguistics
Lambek Grammars and ACG; quantifier scope; polynomial event semantics; semantics of `same'; continuation semantics; applicatives and monads; Lambda: the ultimate syntax-semantics interface; ...
Haskell
logical type programming; against lazy evaluation; lightweight dependent types; keyword arguments; HList; regions; set, restricted, etc. monads; type-level equality, disequality and introspection; ...
Scheme
XML; macros; text and binary parsing; utilities; ...
XML
SXML; iteratee parsers; SSAX; parsing; SXSLT; SXPath; typed SXML; ...
Numerical Math
LinAlg; SVD; FFT; lazy matrices; matrix streams; fast and vectorizable atan; code generation; ...
OS
ZipperFS/OS; HTTP VFS; layered I/O; sh agents; better than shell pipes; DreamOS; Speaking HTTP; opening of extended file names; ...
Image Processing
image compression; playground with array languages, plasma fractals; grayscale image processing; flight through clouds