rfc:ripples
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:ripples [2013/10/30 10:43] – [Proposal] krakjoe | rfc:ripples [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 60: | Line 60: | ||
===== Proposal ===== | ===== Proposal ===== | ||
- | A //Ripple// will encapsulate or describe conditions on the scale from warning to exception, a //dam// will deal with those conditions and, if no exceptions/ | + | A //Ripple// will encapsulate or describe conditions on the scale from warning to exception, a //dam// will deal with those conditions and, if no exceptions/ |
<code php> | <code php> | ||
Line 67: | Line 67: | ||
try { | try { | ||
$data = $socket-> | $data = $socket-> | ||
- | + | ||
try { | try { | ||
- | while (($buffer = $socket-> | + | while (($buffer = $transcoder-> |
} | } | ||
- | } catch (SocketTranscodeException | + | } catch (DataDecodeException |
/* this is exceptional */ | /* this is exceptional */ | ||
/* nothing can be done to recover execution */ | /* nothing can be done to recover execution */ | ||
} | } | ||
- | } dam (SocketReadRipple $sex) { | + | } dam (SocketReadRipple $sr) { |
} | } | ||
} | } | ||
- | } dam (SocketDisconnectRipple $se) { | + | } dam (SocketDisconnectRipple $sd) { |
} | } | ||
</ | </ | ||
- | The flow of this program could be described as fragmented, but it is *not* broken, execution | + | Dropping ripples may look like: |
+ | |||
+ | <code php> | ||
+ | /* ... */ | ||
+ | drop new SocketReadRipple($this); | ||
+ | /* ... */ | ||
+ | </ | ||
+ | |||
+ | The flow of this program could be described as fragmented, but it is //not// broken, execution | ||
+ | |||
+ | We throw exceptions to be caught, unconditionally altering the flow of execution; we can drop ripples to be dammed, allowing execution to recover. | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Line 123: | Line 133: | ||
Do we have in ripples a viable replacement for warnings and notices ? | Do we have in ripples a viable replacement for warnings and notices ? | ||
- | ===== Proposed Voting Choices | + | ===== Preempted Opinions |
* You are crazy | * You are crazy |
rfc/ripples.1383129810.txt.gz · Last modified: 2017/09/22 13:28 (external edit)