rfc:ripples

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:ripples [2013/10/30 10:43] – [Proposal] krakjoerfc: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/returns/exits [unsure of these conditions] occur while dealing with them, allow the vm to execute the block that emitted [drop new SocketReadRipple($socket)] the //Ripple// again.+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/returns/exits [unsure of these conditions] occur while dealing with them, allow the vm to execute the block that dropped the //Ripple// again.
  
 <code php> <code php>
Line 67: Line 67:
      try {      try {
        $data = $socket->read();        $data = $socket->read();
- +       
        try {        try {
-         while (($buffer = $socket->transcode($data))) {+         while (($buffer = $transcoder->transcode($data))) {
    
          }          }
    
-       } catch (SocketTranscodeException $esex) {+       } catch (DataDecodeException $dde) {
           /* 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) {
    
 } }
 </code> </code>
  
-The flow of this program could be described as fragmented, but it is *notbroken, execution _flows_ from one block to another in a non-linear way.+Dropping ripples may look like: 
 + 
 +<code php> 
 +/* ... */ 
 +drop new SocketReadRipple($this); 
 +/* ... */ 
 +</code> 
 + 
 +The flow of this program could be described as fragmented, but it is //not// broken, execution //flows// from one block to another in a non-linear way
 + 
 +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)