- riki's house
 - https://riki.house
 - 
					
login: admin
password: admin -  Joined on 
2024-09-12  
				
				
					A type system for haku
					
					
						
					
				
			
			A note on n t: Indexing is still done via the index function, but elements 0–3 can be accessed alternatively by using function call syntax with the tags X, Y, Z, W, or R, G, B,…
				
				
					A type system for haku
					
					
						
					
				
			
			One extra typing rule that I'm not sure should be included here: I believe it should be possible to pass t wherever a function directly accepts n t, coercing it into a 1 t. This is so that…
				
				
					A type system for haku
					
					
						
					
				
			
			A taxonomy of types in haku:
[]- Nothingboolean- Represented using the special tagsTrueandFalsenumber- 32-bit floatTag- Literally just the tagTag. Each tag…
				
				
					Additional identifier characters (prime 
					
				
			
			' and question mark ? suffixes)
					
					
						Example with the builtin/dashes brush:
withDotter \d ->
  visible? = mod (d Num) length < length * duty
  if (visible?)
    stroke thickness color (line (d From) (d To))
  else
   …
				
				
					Resend chunks and notify client if server drops any render requests
				
			
			
				
				
					Server reduces precision of plot coordinates, which causes a desync between clients
				
			
			
				
				
					Richer diagnostics
					
					
						
					
				
			
			I think some of the work on exceptions can be used for this. Notably, colourfully highlighting spans within the text editor seems like something that could be useful.
				
				
					Compiling brush doesn't seem to finish correctly sometimes, which causes loss of data
				
			
			
				
				
					Make it possible to write a selection tool
				
			
			
				
				
					Zoom should be anchored at the mouse cursor
				
			
			
				
				
					Interpolate users' cursor positions to the frame rate
				
			
			
				
				
					Zoom towards the mouse cursor instead of the center of the screen
				
			
			
				
				
					Basic tools support (pre-defined brushes support)
				
			
			
				
				
					Ensure scripts are downloaded in parallel