Ranges
Step-Wise Range
fsrange(sstart,sstop,sstep)=[() for i=[0...floor(sstepsstop)]] Generate a list of numbers from sstart up to (and including) sstop with difference sstep.
Step-Wise Exclusive Range
fsxrange() Generate a list of numbers from sstart up to (but excluding) sstop with difference sstep.
Linearly Spaced Ranged
fnrange(sstart,sstop,n)=[(sstart+i(nsstop−sstart)) for i=[0...n]] Linearly Spaced Exclusive Range
fnxrange(sstart,sstop,n)=[(sstart+i(nsstop−sstart)) for i=[0...n−1]] Generate a list of n numbers evenly spaced apart between sstart and sstop (inclusive).
fnrange(1,10,10)=[1,2,3,4,5,6,7,8,9,10](10 element list) List Range
flrange(l)=[1...length(l)] Generate a list of integers corresponding to the indices of a list.
Step-Wise List Range
flsrange(l,speriod,soffset)=[(soffset+(i−1)⋅speriod) for i=[1...speriodlength(l)]] Generate a list of integers corresponding to chunks of a list.
For instance, to iterate over every 3 items:
L=[1...9](9 element list) I=flsrange(L,3,1)=[1,4,7](3 element list) [L[i] for i=I]=[1,4,7](3 element list)
Rendering
Line
Circle
dcircle Rectangle
Regular Polygon
dpolygon(n,pc,r,d)=[(pc.x+rcosθ,pc.y+rsinθ) for θ=fnrange(d,d+2π,n)] Grid
Spike
dspike