30 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
| USING: help.syntax help.markup kernel math classes classes.tuple
 | |
| calendar models ;
 | |
| IN: models.arrow
 | |
| 
 | |
| HELP: arrow
 | |
| { $class-description "Arrow model values are computed by applying a quotation to the value of another model. Arrows are automatically updated when the underlying model changes. Arrows are constructed by " { $link <arrow> } "." }
 | |
| { $examples
 | |
|     "The following code displays a label showing the result of applying " { $link sq } " to the value 5:"
 | |
|     { $code
 | |
|         "USING: models models.arrow math.parser ui.gadgets.labels ui.gadgets.panes ;"
 | |
|         "5 <model> [ sq ] <arrow> [ number>string ] <arrow>"
 | |
|         "<label-control> gadget."
 | |
|     }
 | |
|     "An exercise for the reader is to keep the original model around on the stack, and change its value to 6, observing that the label will immediately display 36."
 | |
| } ;
 | |
| 
 | |
| HELP: <arrow>
 | |
| { $values { "model" model } { "quot" { $quotation ( obj -- newobj ) } } { "arrow" "a new " { $link arrow } } }
 | |
| { $description "Creates a new instance of " { $link arrow } ". The value of the new arrow model is computed by applying the quotation to the value." }
 | |
| { $examples "See the example in the documentation for " { $link arrow } "." } ;
 | |
| 
 | |
| ARTICLE: "models.arrow" "Arrow models"
 | |
| "Arrow model values are computed by applying a quotation to the value of another model."
 | |
| { $subsections
 | |
|     arrow
 | |
|     <arrow>
 | |
| } ;
 | |
| 
 | |
| ABOUT: "models.arrow"
 |