(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))) ; ) ; (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")) ) (rootprocedure (proc "main1" '("levels")) ) )