Kuth’s Merge Sort in C
Taken from Knuth Algorithm S mergesort P162-163 Vol 3 Second edition 1998 The major change is that the scratch buffer is not required to be adjacent and there are some changes because C array indexing usually starts with 0. This
don’t defer
There is a proposal to add “defer” to C. Its biggest example is taken from code that was originally designed to not manage storage at all, but to run once and exit – delegating all the cleanup to exit. The
State machines for large scale computer software and systems
Mathematics errors in computer science
A trivial theorem, more of a tautology, on networking and Turing’s deep theorem on decidability are both widely cited, widely misunderstood and widely misapplied in computer science. It is often claimed that Fischer, Lynch, Patterson (FLP) “theorem” on networks shows
Process algebra and automata theory
Milner’s Communication and Concurrency contrasts a notion of “bisimulation” with what he characterizes as the view in standard automata theory. Standard automata theory, however, has a much more interesting and well defined notion of both equivalence and concurrency than what
Lecture notes on Paxos
PAXOS – (c) Victor Yodaiken, 2022 These are the lecture notes, or see the paper. 1. Really clever distributed consensus algorithm by Leslie Lamport A. Infamously hard to understand – but not complicated B. Livelocks – can get stuck without
Threads in C
There is a nice example thread semantics in a paper by David Goldblatt (P1916R0) which illustrates a couple of things about multi-core processing – including how interesting it is and how poorly defined the C11 atomic/thread extension is . A
Sorting algorithms as recursive functions
This paper is an experiment in presenting programming algorithms as recursive functions, without pseudo-code or genuine code. The algorithms presented are the standard basic sorting algorithms with some computational complexity analysis. The style is that of ordinary working mathematics although
Paxos demystified
Download