Why std::bind can’t be (formally) deprecated

Yes: std::bind should be replaced by lambda For almost all cases, std::bind should be replaced by a lambda expression. It’s idiomatic, and results in better code. There is almost no reason post C++11 to use std::bind. Doing so is quite straightforward, capture each bind argument by value in the lambda capture list, and provide auto …

Accessing the elements of a tuple as variant

A further digression, because it turns out I want to be able to permute a tuple at run time. That means treating the element of a tuple generically. And I can just barely do this, for some tuples, in c++17. So a slight digression into ADTs. Which in this case means Algebraic Data Types, not …

batch: running functions under a spingate

1 A batch of tasks to run This adds a rather simple component to spingate orchestrating a batch of tasks to be run, gated by the spingate. The tasks are added one at a time, a thread is created for the task, and the thread waits on the spingate to open before calling the task. …

Building Emacs 25.1 on Ubuntu 16.10

Table of Contents 1. Why notes 2. Getting Ready 3. Configure and build with magic option 1 Why notes Making notes so I don’t forget, although the key problem is fixed upstream. Ubuntu 16.10 (Yakkety Yak) has made a critical change to the system compiler, and everything is by default built with position independent executable …