28 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			1.4 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 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."
							 | 
						||
| 
								 | 
							
								{ $subsection arrow }
							 | 
						||
| 
								 | 
							
								{ $subsection <arrow> } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ABOUT: "models.arrow"
							 |