1920年代前半には、ミネソタ州ロチェスター市にあるメイヨー・クリニックの医師、ラッセル・ワイルダーが『ケトン食』を開発し、肥満患者・糖尿病患者にこれを処方している。これは食事において、「摂取エネルギーの90％を脂肪から、6％をタンパク質から摂取する」（極度の高脂肪・極度の低糖質な食事）というもの。元々は癲癇を治療するための食事法であったが、「肥満や糖尿病に対しても有効な食事法になりうる」としてワイルダーは開発した。炭水化物とタンパク質の摂取は可能な限り抑え、大量の脂肪分を摂取することで、身体は脂肪を分解して作り出す「ケトン体」（ keto ）をエネルギー源にして生存できる体質となる。この食事法は『ケトジェニック・ダイエット』として知られるようになる。1932年、肥満についての講演を行った際に、ワイルダーは以下のように述べている。「肥満患者は、ベッドの上で安静にしていることで、より早く体重を減らせる。一方で、激しい身体活動は減量の速度を低下させる」「運動を続ければ続けるほどより多くの脂肪が消費されるはずであり、減量もそれに比例するはずだ、という患者の理屈は一見正しいように見えるが、体重計が何の進歩も示していないのを見て、患者は落胆する」。アトキンスも著書『Dr. Atkins' Diet Revolution』の中でケトン体について触れており、「炭水化物の摂取を極力抑え、脂肪の摂取量を増やすことで、身体はブドウ糖ではなく、脂肪をエネルギー源にして生存できる」という趣旨を述べ、体重を減らしたい人に向けて、炭水化物を避けるか、その摂取制限を奨めている。
この食事法に対しては疑問や批判も多く、「心臓や腎臓に負担をかけるのではないか」としばしば言われる。医師の新谷弘実は、この食事法を「良くない」と断じている。炭水化物とたんぱく質の摂取量によって10段階に分けて分析し、「炭水化物の摂取量が1段階減り、たんぱく質の摂取量が1段階増えるごとに、心筋梗塞や脳卒中の発症のリスクが4%ずつ増え、低炭水化物・高たんぱく質のグループでは、そうでないグループに比べて発症リスクが最大1.6倍高まった」との報告がある。2007年に世界保健機関が報告したところでは、「タンパク質の多い食事は腎臓疾患や糖尿病性腎不全を悪化させる」としている。2003年の報告では、「肥満や糖尿病を予防する食べ物」として「全粒穀物」を挙げている。国際糖尿病連盟は、糖尿病の治療に対して「グリセミック指数が低い食品が良い」としており、これには全粒穀物も含む。だが、「穀物の栄養価は極めて低い」「穀物は『食料』ではなく、『飼料』と呼ぶべきである」と断じている人物もいる（後述）。タンパク質の摂取を増やす食事は「腎機能低下の一因になる」とされているが、この「タンパク質の摂取は腎臓に負担をかける」説を「根拠が無い」と否定する人物もいる（後述）。
炭水化物中毒の状態に戻らないためにも、砂糖を多く含んでいるもの全般は禁止とする。砂糖の代わりにステビアは使ってもよいとしている。ジャンクフードは健康を害するだけでなく、炭水化物中毒に戻ってしまうので禁止とする。高果糖コーンシロップ、蜂蜜、砂糖、果糖、乳糖、精製された炭水化物全般は禁止。オートミール、玄米、蕎麦のような精製されていない全粒穀物（※注　全粒穀物であっても血糖値は上昇する）を少しだけ取り入れる。魚、豆腐、野菜、豆から組み立てたメニューは健康的である、としている。
続けていく過程で、体重の増加が確認できるまで、炭水化物の量を徐々に増やしていく。炭水化物をどれだけ摂取すればどれぐらい体重が増えるかを、自分で見極める。
ISWIM は、Peter J. Landin が考案し、1966年の Communications of the ACM 誌で発表した The Next 700 Programming Languages で初めて明らかにした抽象プログラミング言語（あるいはプログラミング言語ファミリ）である。名称は "If you See What I Mean" の頭字語に由来する。実装されたことはないが、その後のプログラミング言語の開発に多大な影響を与えた。特に、SASL、Miranda、ML、Haskellといった関数型言語に影響を与えている。ISWIM は、ラムダ計算の関数型コアを命令型言語の糖衣構文で包んだものである。変更可能な変数と代入と強力な制御機構として Landin の J 演算子を追加してある（J演算子は継続を可能としたもので、Scheme の call/cc は J 演算子を簡略化したものである）。ラムダ計算に基づいており、高階関数と静的スコープの変数を備えている。ISWIM の操作的意味論は Landin のSECDマシンを使って定義されており、先行評価（eager evaluation）による値渡しを使っている。ISWIM の目標は、より数学的記法に近づけることであったため、Landin は ALGOL の文の区切りであったセミコロンや begin と end によるブロックを排除し、オフサイドルールによって字下げでブロックを示すようにした。ISWIM で特徴的な記法として、節（clause）の利用がある。ISWIM プログラムは、'where' 節を使った1つの式（変数間の等式を含む補助的定義）、条件付きの式、関数定義からなる。ISWIM は、CPLと共に最初に 'where' 節を使ったプログラミング言語の1つであった。意味論的特徴としては、既存のデータ型を組み合わせて（場合によっては再帰的に）新たなデータ型を定義可能であったことが挙げられる。これはやや冗長な自然言語的なスタイルであったが、最近の関数型言語にある代数的データ型と同じものである。ISWIM では、変数の型は明示的に宣言されず、Landin は（1966年の論文では明記していないが）動的型付けのようなものを想定していたと思われる（ALGOLよりもむしろLISPに近い）。もちろん、彼が何らかの型推論を開発することを思い描いていたとも考えられる。ISWIM をそのまま実装する試みはなされなかったが、Art Evan の PAL や John Reynold の Gedanken は Landin の J 演算子を含む概念に影響されている。これらはどちらも動的型付けであった。Milner の ML は ISWIM から J 演算子を省いて、型推論を追加したものと評される。またLandinは参考文献に自身の、SECDマシンを示した"The Mechanical Evaluation of Expression"を載せている。ISWIM から影響を受けた別の系統として、命令型の機能（代入や J 演算子）を省いた純粋関数型言語がある。この系統は遅延評価への切り替えが可能となっている。例えば、SASL、Miranda、Haskell がその系統にあたる。