 
 : reset-turtle ( turtle -- turtle )
   { 0 0 0 } clone   >>pos
-  3 identity-matrix >>ori
+  3 <identity-matrix> >>ori
   V{ } clone >>vertices
   V{ } clone >>saved
 


: L-system ( -- L-system )

  <L-system> new-gadget

    0 >>pedestal
  


! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:: interpret-string ( TURTLE STRING COMMANDS -- turtle )

  STRING empty? not
    [
      STRING read-instruction

      [let :> ( NEXT REST )

          NEXT 1 head COMMANDS at :> COMMAND

          COMMAND
            [
              NEXT length 1 =
                [ TURTLE COMMAND call( turtle -- turtle ) drop ]
                [
                  TURTLE
                  NEXT 2 tail 1 head* string>number
                  COMMAND 1 tail*
                  call( turtle x -- turtle ) drop
                ]
              if
            ]
          when

        TURTLE REST COMMANDS interpret-string drop ]
    ]
  when TURTLE ;

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

