オフサイドルール
前述のように、Landin による提案がオフサイドルールのはじまりと一般に認知されているが、クヌースがStructured Programming with go to Statementsで引用している Dewey Val Schorreの Improved Organization for Procedural Languages(Landin の提案と同じく1966年)に、
とあり、ほぼ同時期に他にも(おそらく複数)独立して同様の試行が存在している。
以下ではオフサイドルール以外のブロックの記法について概観する。
Cで一般化した手法として、余分な空白を無視して波括弧 { と } でブロックを表すという方法がある。この方法の利点は、自動的に読みやすく字下げすることが可能で、しかもそれによってコードの意味が変化しない点である。人間が読むとき字下げに目が行ってしまい、括弧で表現されている真の構造を読み違える可能性があるが、真の構造をきちんと反映するように自動で修正するという手がある。
LISP(のS式)は、全ての開始と終了を丸括弧ないし角括弧で明示する(中括弧を使用する言語と同様、余分な空白は無視される)。
英語版ウィキペディアに示されている英文は実際にこのようであるのだが、その英文そのままの表現は原文献中には見当たらないようである(英語版の該当記事のnoteにある議論も参照のこと)。該当する箇所は4枚目(160頁)の左カラムの下端付近、段落の頭に (c) とある部分で、"the offside rule." という明確な表現があるのも確認できるが、そこにはルールとして次のようにある。
The southeast quadrant that just contains the phrase's first symbol must contain the entire phrase, except possibly for bracketed subsegments.
直訳すると以下のような感じであろうか。
フレーズの最初のシンボルをちょうど含む南東の象限(southeast quadrant)は、フレーズ全体を含まねばならない。ただし、ブラケットによって囲まれた部分がある場合はそこは例外である。
これを、現代においてよく使われる用語で再解釈すると、「フレーズ全体」とはブロックの全体のことで、「最初のシンボル」は begin といったようなキーワードないしその次のトークン(の最初の文字)、といった感じになる。英語版の文章の初出は不明だが、FOLDOCの当該の項の文中に見られる。