Operator :: X Y L SQUARE

      Define :
        /SQUARE {
         2 index 2 index moveto  % X Y rmoveto
         0 index 2 div 0 rmoveto % L/2 0 rmoveto
         0 index 2 div 0 exch rmoveto % 0 L/2 rmoveto
         0 index neg 0 rlineto % -L 0 rlineto
         0 index neg 0 exch rlineto % 0 -L rlineto
         0 index 0 rlineto	% +L 0 rlineto
         0 index 0 exch rlineto	% 0 +L rlineto
         clear
         } def
        

      Detail :
        X Y L SQUARE
               			            STACK
               			       3 2 1 0
               			         X Y L
        
         2 index 			X Y L X
         2 index 2 index		X Y L X Y
         2 index 2 index moveto		X Y L -> X Y moveto
        
         0 index			X Y L L
         0 index 2 div			X Y L L/2
         0 index 2 div 0	      X Y L L/2 0
         0 index 2 div 0 rmoveto	X Y L -> L/2 0 rmoveto
        
         0 index 2 div 0	      X Y L L/2 0
         0 index 2 div 0 exch	      X Y L 0 L/2
         0 index 2 div 0 exch rmoveto    X Y L -> 0 L/2 rmoveto
        
         ..
         0 index neg 0 rlineto		X Y L -> -L 0 rlineto
         ..
         0 index neg 0 exch rlineto	X Y L ->  0 -L rlineto
         ..
         0 index 0 rlineto		X Y L ->  L 0 rlineto
         ..
         0 index 0 exch rlineto		X Y L ->  0 L rlineto
         clear
        

    Example :