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
Last revisionBoth sides next revision
rfc:ripples [2013/10/30 10:36] – [Introduction] krakjoerfc:ripples [2013/10/30 13:33] – [Proposal] krakjoe
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 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.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1