: 2DROP ( n1 n2 -- ) DROP DROP ; : 2DUP ( n1 n2 -- n1 n2 n1 n2 ) OVER OVER ; : NIP ( n1 n2 -- n2 ) SWAP DROP ; : -ROT ( n1 n2 n3 -- n3 n1 n2 ) ROT ROT ; : TUCK ( n1 n2 -- n2 n1 n2 ) SWAP OVER ; : INCR ( a1 -- ) 1 SWAP +! ; : STRCONTAINS ( s1 s2 -- b1 ) STRFIND 0 >= ; : STRLEFT ( s1 n1 -- s2 ) 0 SWAP STRMID ; : STRRIGHT ( s1 n1 -- s2 ) OVER STRLEN SWAP - -1 STRMID ; : STRSTARTSWITH ( s1 s2 -- b1 ) DUP STRLEN ROT SWAP STRLEFT = ; : STRENDSWITH ( s1 s2 -- b1 ) DUP STRLEN ROT SWAP STRRIGHT = ; : STRBEFORE ( s1 s2 -- s3 ) OVER SWAP STRFIND STRLEFT ;