<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Part III — Design and Style on</title><link>https://tyu.lexbytes.org/en/docs/latest/part-3/</link><description>Recent content in Part III — Design and Style on</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://tyu.lexbytes.org/en/docs/latest/part-3/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 9 — Factoring: Style Becomes Proof</title><link>https://tyu.lexbytes.org/en/docs/latest/part-3/ch09-factoring-style-becomes-proof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyu.lexbytes.org/en/docs/latest/part-3/ch09-factoring-style-becomes-proof/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Until you can name it, you cannot check it.&#10;Until you can check it, you were only hoping.&lt;/p&gt;&#10;&lt;p&gt;— workshop wall&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="91-the-practice"&gt;&#10; &lt;a class="docs-heading-anchor" href="#91-the-practice" aria-label="Link to 9.1 The Practice"&gt;#&lt;/a&gt;&#10; 9.1 The Practice&#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;The Practice.&lt;/strong&gt; &lt;em&gt;Factor so each word can be described in one sentence —&#10;and so every proof the checker makes attaches to the smallest unit that&#10;can carry it. How a program is divided decides where its claims live, and&#10;claims that live at interfaces get checked at every call.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Chapter 10 — Decomposition: Information Hiding, Enforced</title><link>https://tyu.lexbytes.org/en/docs/latest/part-3/ch10-decomposition-information-hiding-enforced/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyu.lexbytes.org/en/docs/latest/part-3/ch10-decomposition-information-hiding-enforced/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Hide what might change.&#10;Then let the machine check that you hid it.&lt;/p&gt;&#10;&lt;p&gt;— workshop wall, after Parnas&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="101-the-practice"&gt;&#10; &lt;a class="docs-heading-anchor" href="#101-the-practice" aria-label="Link to 10.1 The Practice"&gt;#&lt;/a&gt;&#10; 10.1 The Practice&#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;The Practice.&lt;/strong&gt; &lt;em&gt;A module is a decision about what might change. Its&#10;interface file is the promise the rest of the program is allowed to know,&#10;and the checker holds both sides to it: the implementation must match the&#10;interface, and callers are checked against the interface — whether or not&#10;the implementation exists.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Chapter 11 — Shared State and the Cross-Context Rule: Interrupts</title><link>https://tyu.lexbytes.org/en/docs/latest/part-3/ch11-shared-state-and-the-cross-context-rule/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyu.lexbytes.org/en/docs/latest/part-3/ch11-shared-state-and-the-cross-context-rule/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;The interrupt arrives in a microsecond.&#10;The race it creates ships for a year.&lt;/p&gt;&#10;&lt;p&gt;— workshop wall&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="111-the-practice"&gt;&#10; &lt;a class="docs-heading-anchor" href="#111-the-practice" aria-label="Link to 11.1 The Practice"&gt;#&lt;/a&gt;&#10; 11.1 The Practice&#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;The Practice.&lt;/strong&gt; &lt;em&gt;Shared hardware is proven, not prayed over: if an&#10;interrupt can reach a resource, every access everywhere is inside a lock,&#10;the lock lowers to whatever the platform needs, and the handler&amp;rsquo;s own&#10;stack is budgeted at its binding. The race that ships for a year becomes&#10;a compile error that ships never.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Chapter 12 — Tasks and Channels: Concurrency the Platform Provides</title><link>https://tyu.lexbytes.org/en/docs/latest/part-3/ch12-tasks-and-channels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyu.lexbytes.org/en/docs/latest/part-3/ch12-tasks-and-channels/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;The scheduler is not in the language.&#10;The language is what makes the scheduler safe to use.&lt;/p&gt;&#10;&lt;p&gt;— workshop wall&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="121-the-practice"&gt;&#10; &lt;a class="docs-heading-anchor" href="#121-the-practice" aria-label="Link to 12.1 The Practice"&gt;#&lt;/a&gt;&#10; 12.1 The Practice&#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;The Practice.&lt;/strong&gt; &lt;em&gt;Concurrency is declared, not assumed: the platform&#10;supplies the scheduler, the effects say who may suspend, the annotations&#10;say what escapes into it, and every safety property it needs — locks,&#10;custody, bounds — is one this book has already paid for.&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>