Index

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

Recent changes:  March 7, 2024   |   RSS   |   Atom
 

Shortcuts

tagless-final

MetaOCaml

streams

staging

polymorphic type inference

extensible effects

typeclass

Algebra

lambda calculus

Iteratee, Enumerator

Freer monad

NBE

Shonan Challenge

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; BER MetaOCaml; genlet(rec); language-integrated query; 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; ...
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; ...
Algorithms and Data Structures
fast pretty-printing; 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; ...
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; ...
Linguistics
Lambek Grammars and ACG; quantifier scope; polynomial event semantics; semantics of `same'; continuation semantics; applicatives and monads; Lambda: the ultimate syntax-semantics interface; ...
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; ...
ML
extra-polymorphism; typeclasses; canonical structures; MetaOCaml; HList; higher-kinded bounded polymorphism; type representations; shell/AWK/Perl-like scripting; many embedded DSLs; delimited continuations; ...
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; 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