implementation module DynamicUtilities import StdEnv WriteLong :: !*{#Char} !Int !Int -> !*{#Char} WriteLong array i v = { array & [i] = (toChar v) , [i+1] = (toChar (v>>8)), [i+2] = (toChar (v>>16)) , [i+3] = (toChar (v>>24))} FromStringToInt :: !{#Char} !Int -> !Int FromStringToInt array i = (toInt v0)+(toInt v1<<8)+(toInt v2<<16)+(toInt v3<<24) where v0= array.[i] v1 = array.[i+1] v2 = array.[i+2] v3 = array.[i+3] NF :: !.a -> .a NF _ = code { push_a 0 .d 1 0 jsr _eval_to_nf .o 0 0 } ends :: !String !String -> !Bool; ends s postfix #! s_length = size s; #! postfix_length = size postfix; = (s % (s_length-postfix_length, s_length-1)) == postfix;