kopia lustrzana https://github.com/backface/turtlestitch
				
				
				
			refactored toggling APL-scalars support on and off
							rodzic
							
								
									3fb5a0721d
								
							
						
					
					
						commit
						87096d6d39
					
				
							
								
								
									
										18
									
								
								src/gui.js
								
								
								
								
							
							
						
						
									
										18
									
								
								src/gui.js
								
								
								
								
							|  | @ -78,7 +78,7 @@ Animation, BoxMorph, BlockEditorMorph, BlockDialogMorph, Note*/ | |||
| 
 | ||||
| // Global stuff ////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| modules.gui = '2020-June-22'; | ||||
| modules.gui = '2020-June-24'; | ||||
| 
 | ||||
| // Declarations
 | ||||
| 
 | ||||
|  | @ -3440,21 +3440,7 @@ IDE_Morph.prototype.settingsMenu = function () { | |||
|     if (Process.prototype.enableHyperOps) { | ||||
|         addPreference( | ||||
|             'APL-style scalars', | ||||
|             () => { | ||||
|                 Process.prototype.enableAPLscalars = | ||||
|                     !Process.prototype.enableAPLscalars; | ||||
|                 if (Process.prototype.enableAPLscalars) { | ||||
|                     Process.prototype.hyperDyadic = | ||||
|                         Process.prototype.hyperDyadicAPL; | ||||
|                     Process.prototype.hyperZip = | ||||
|                         Process.prototype.hyperZipAPL; | ||||
|                 } else { | ||||
|                     Process.prototype.hyperDyadic = | ||||
|                         Process.prototype.hyperDyadicSimple; | ||||
|                     Process.prototype.hyperZip = | ||||
|                         Process.prototype.hyperZipSimple; | ||||
|                 } | ||||
|             }, | ||||
|             () => Process.prototype.toggleAPLscalars(), | ||||
|             Process.prototype.enableAPLscalars, | ||||
|             'uncheck to disable treating (nested)\n' + | ||||
|                 'single-item lists as scalars', | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy, Map, | |||
| isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, Color, | ||||
| TableFrameMorph, ColorSlotMorph, isSnapObject, newCanvas, Symbol, SVG_Costume*/ | ||||
| 
 | ||||
| modules.threads = '2020-June-22'; | ||||
| modules.threads = '2020-June-24'; | ||||
| 
 | ||||
| var ThreadManager; | ||||
| var Process; | ||||
|  | @ -3735,6 +3735,23 @@ Process.prototype.examine = function (data) { | |||
|     return meta; | ||||
| }; | ||||
| 
 | ||||
| Process.prototype.toggleAPLscalars = function () { | ||||
| /* | ||||
|     very experimental. I don't like it and mark this feature for | ||||
|     removal. treating (even deep) single-item lists as scalars | ||||
|     must be a misfeature in APL introduced for convenience or to | ||||
|     work around some obvious design flaw. -jens | ||||
| */ | ||||
|     Process.prototype.enableAPLscalars = !Process.prototype.enableAPLscalars; | ||||
|     if (Process.prototype.enableAPLscalars) { | ||||
|         Process.prototype.hyperDyadic = Process.prototype.hyperDyadicAPL; | ||||
|         Process.prototype.hyperZip = Process.prototype.hyperZipAPL; | ||||
|     } else { | ||||
|         Process.prototype.hyperDyadic = Process.prototype.hyperDyadicSimple; | ||||
|         Process.prototype.hyperZip = Process.prototype.hyperZipSimple; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| // Process math primtives - arithmetic
 | ||||
| 
 | ||||
| Process.prototype.reportSum = function (a, b) { | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 jmoenig
						jmoenig