{"id":13442796,"url":"https://github.com/mabragor/cl-yaclyaml","last_synced_at":"2026-01-26T00:24:04.785Z","repository":{"id":5826518,"uuid":"7042034","full_name":"mabragor/cl-yaclyaml","owner":"mabragor","description":"Yet Another Common Lisp YaML processor","archived":false,"fork":false,"pushed_at":"2021-04-22T04:38:06.000Z","size":155,"stargazers_count":14,"open_issues_count":8,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-01T03:41:59.695Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mabragor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-06T20:00:57.000Z","updated_at":"2024-04-08T10:47:43.000Z","dependencies_parsed_at":"2022-09-17T20:21:24.230Z","dependency_job_id":null,"html_url":"https://github.com/mabragor/cl-yaclyaml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabragor%2Fcl-yaclyaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabragor%2Fcl-yaclyaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabragor%2Fcl-yaclyaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabragor%2Fcl-yaclyaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mabragor","download_url":"https://codeload.github.com/mabragor/cl-yaclyaml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221772561,"owners_count":16878129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:51.088Z","updated_at":"2026-01-26T00:24:04.718Z","avatar_url":"https://github.com/mabragor.png","language":"Common Lisp","readme":"cl-yaclyaml\n===========\n\nYet Another Common Lisp YaML processor (so far, only loader, but not dumper)\n\nNow completely implementation-independent!\n\nTries to adhere to YAML 1.2 specification (see www.yaml.org)\n\nHigh-level interface is provided by exported YAML-LOAD function.\n\n```lisp\nCL-USER\u003e (ql:quickload 'cl-yaclyaml)\nCL-USER\u003e (ql:quickload 'cl-interpol)\nCL-USER\u003e (cl-interpol:enable-interpol-syntax)\nCL-USER\u003e (cl-yy:yaml-load #?\"- foo\\n- bar\\n- baz\\n\")\n((:DOCUMENT (\"foo\" \"bar\" \"baz\")))\n```\n\nIf you are sure, that your stream contains only one YAML document, use can also use\n\n```lisp\nCL-USER\u003e (cl-yy:yaml-simple-load #?\"- foo\\n- bar\\n- baz\\n\")\n(\"foo\" \"bar\" \"baz\")\n```\n\nLoader supports optional SCHEMA keyword parameter, which can now be :FAILSAFE :JSON and :CORE (default)\nand affects tag implication and resolution.\n\nTechnically, process of loading is done in three stages: parsing of raw-text, composing of representation graph\nand construction of native language structures.\n\n\nAlso, (mainly for loading of config files) there is YAML-LOAD-FILE function\n\n```lisp\nCL-USER\u003e (cl-yy::yaml-load-file \"~/.my-config.yml\" :size-limit 100 :on-size-exceed :warn)\n```\nwhere SIZE-LIMIT (default 1024) is the critical size of file in bytes,\n above which parsing will not be performed\n(so as not to be DDoS'ed).\n\nON-SIZE-EXCEED can be either :ERROR (default), or :WARN or NIL. In case of :ERROR YAML-LOAD-FILE-ERROR\nis signalled, in case of :WARN warning is printed and NIL is returned, as if config file was absent,\nand in case of NIL, NIL is silently returned with no warning whatsoever.\n\n\nTODO:\n-----\n\n  * :LISP tag-resolution schema, which would support lisp-specific data types, such as symbols, arrays, alists and so on.\n  * user-friendly errors, when parsing fails\n  * (done, thanks to upgrade of ESRAP-LIQUID) parsing not only of strings, but also of streams\n  * YAML-DUMP, the complement of YAML-LOAD\n  * UTF-16 and UTF-32 support (Yaml processor should support them, ouch)","funding_links":[],"categories":["Common Lisp","Expert Systems"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabragor%2Fcl-yaclyaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabragor%2Fcl-yaclyaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabragor%2Fcl-yaclyaml/lists"}