$define RCPREFIX "https://rosettacode.org/w/api.php?action=query&list=categorymembers&format=xml&cmlimit=5000&cmtitle=Category:" $define RCSUFFIX1 "Programming%20Tasks" procedure main(A) # simple single threaded read all at once implementation lang := \A[1] | "Unicon" write("Unimplemented tasks for ",lang," as of ",&date) all_tasks := set([: taskNames() :]) tasks_for_lang := set([: tasksForLang(lang) :]) every write(!sort(all_tasks -- tasks_for_lang)) end # Generate task names procedure taskNames() continue := "" while \(txt := ReadURL(RCPREFIX||RCSUFFIX1||continue)) do { txt ? { while tab((find(" ",&errortext) if page["Status-Code"] < 300 then text := reads(page,-1) else write(&errout,image(url),": ", page["Status-Code"]," ",page["Reason-Phrase"]) close(page) return text end