Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous.
Since some of our fellow sinners are among the most careful and competent logicians on the contemporary scene, we regard this as evidence that the subject is refractory.
Thus fullness of exposition is necessary for accuracy; and excessive condensation would be false economy here, even more than it is ordinarily.
State machines are difficult to program and debug. Almost every consideration about the goto statement applies to the event handling mechanisms that manage state transitions. The event handlers do not share variable scopes, so, like in the case of the goto, the code relies on global variables, or in global session variables, when they are created dynamically. There is no top-level structure in the code to make the main sequence evident. For the maintainer, it is very difficult to know what it is trying to achieve.
Our industry, the global programming community, is fashion-driven to a degree that would embarrass haute couture designers from New York to Paris. We’re slaves to fashion. Fashion dictates the programming languages people study in school, the languages employers hire for, the languages that get to be in books on shelves. A naive outsider might wonder if the quality of a language matters a little, just a teeny bit at least, but in the real world fashion trumps all.
The book and class leave it at that and proceed onto the limits of computability, which is the real point of the material. But there’s a natural question that isn’t presented in the book and which I never thought to ask:
Finite State Automata Regular Expressions
Pushdown Automata Context Free Grammars
Turing Machines ?
While we know that there are many models that equal Turing Machines, we could also construct other models that equal FSAs or PDAs. Why are RegExs and CFGs used as the parallel models of computation? With the machine model, we were able to just add a stack to move up at each level – is there a natural connection between RegExs and CFGs that we extrapolate to find their next level that is Turing equivalent?
Because why even download/clone/submodule stuff, when you can just mention it by name!
vimrc gets the following
Then you just mention the bundles by name
and there’s a one time
:BundleInstall that you need to run for
vundle to copy over the plugins … and you’re all set!
Woof … I’ve discovered fire!
$ lein repl
REPL started; server listening on localhost port 13859
Once upon a time I took great care to ensure that TEX82 would be truly archival so that results obtainable today would produce the same output 50 years from now but that was manifestly foolish. Let’s face it, who is going to care one whit for what I do today after even 5 years have elapsed, let alone 50. Life is too short to re-read anything anymore in the internet age.
Nothing over 30 months old is trustworthy or interesting.
Step away from the machine. Literate programming has nothing to do with tools or style. It has very little to do with programming. One of the hard transitions to literate programming is “literate thinking”.
Most programmers are still locked into the idea of making a program out of a large pile of tiny ﬁles containing pieces of programs.
They do not realize that this organization was forced by the fact that machines like the PDP 11 only had 8k of memory and a limit of 4k buﬀers in the editor.
Putting it to use with some clojure plugins:
mkdir -p ~/.vim/autoload ~/.vim/bundle
curl -Sso ~/.vim/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
git clone git://github.com/tpope/vim-fireplace.git
git clone git://github.com/tpope/vim-classpath.git
git clone git://github.com/guns/vim-clojure-static.git
execute pathogen#infect() at the top