(version 1000) (serializator "test1" (define "alpha_max" 100u ["alpha"] ) (procedure "alpha" (arg "alpha_lvl" (symbol (uint)) ) ) (procedure "Test" (procedure_empty)) (procedure "beta" (arg "beta_lvl" (int) ) ) (procedure "Ray" (arg "length" (uint) ) (arg "width" (uint) ) ) (procedure "Line" (arg "xpoint" (int) ) (arg "ypoint" (int) ) (arg "zpoint" (int) ) ) ; (procedure "alpha" ; (proc "label" '("Line") (proc-allow [optional collection]) ; ) (procedure "array" (arg "array_items" (vector (int)) ) ) ; (wrap vector/hashmap "key") ; the content if structured like in the struct (procedure "levels" (arg "title" (string) ) (proc "label1" ["alpha"] (proc-allow [optional] )) (proc "label2" ["beta"]) (proc "label3" ["Ray" "Line"] (proc-allow [collection])) (proc "label4" ["Test"]) (proc "label5" ["array"]) ) (rootprocedure (proc "main1" ["levels"]) ) )