Skip to content
Adam Bliss edited this page Oct 25, 2013 · 1 revision

Implementation

++  woad
  |=  a=@ta
  ^-  @t
  %+  rap  3
  |-  ^-  (list ,@)
  ?:  =(0 a)
    ~
  =+  b=(end 3 1 a)
  =+  c=(rsh 3 1 a)
  ?:  =('.' b)
    [' ' $(a c)]  
  ?.  =('~' b)
    [b $(a c)]  
  =>  .(b (end 3 1 c), c (rsh 3 1 c))
  ?+  b  =-  (weld (rip 3 (tuft p.d)) $(a q.d))
         ^=  d
         =+  d=0
         |-  ^-  [p=@ q=@]
         ?<  =(0 c)
         =+  [e=(end 3 1 c) f=(rsh 3 1 c)]
         ?:  =('.' e)
           [d f]
         %=    $
            c  f
            d  %+  add
                 (mul 16 d)
               %+  sub       
                 e
               ?:  &((gte e '0') (lte e '9'))
                 48
               ?>(&((gte e 'a') (lte e 'z')) 87)
         ==
    '.'  ['.' $(a c)]
    '~'  ['~' $(a c)]
  == 

Comments



Parts of this document are generated automatically. Edits within the comments section will be preserved.

Clone this wiki locally