{"id":18386802,"url":"https://github.com/usaoc/gref","last_synced_at":"2025-04-12T02:11:11.681Z","repository":{"id":65355731,"uuid":"590738110","full_name":"usaoc/gref","owner":"usaoc","description":"Generalized references for Racket","archived":false,"fork":false,"pushed_at":"2025-02-08T06:46:14.000Z","size":259,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T00:01:37.213Z","etag":null,"topics":["racket","racket-library"],"latest_commit_sha":null,"homepage":"","language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usaoc.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2023-01-19T04:37:35.000Z","updated_at":"2025-02-26T22:41:41.000Z","dependencies_parsed_at":"2023-02-16T22:00:34.140Z","dependency_job_id":null,"html_url":"https://github.com/usaoc/gref","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/usaoc%2Fgref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usaoc%2Fgref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usaoc%2Fgref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usaoc%2Fgref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usaoc","download_url":"https://codeload.github.com/usaoc/gref/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244885642,"owners_count":20526294,"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":["racket","racket-library"],"created_at":"2024-11-06T01:23:27.568Z","updated_at":"2025-04-12T02:11:11.658Z","avatar_url":"https://github.com/usaoc.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Copyright (C) 2022 Wing Hei Chan\n\n# Copying and distribution of this file, with or without modification,\n# are permitted in any medium without royalty provided the copyright\n# notice and this notice are preserved.  This file is offered as-is,\n# without any warranty.\n\n#+title: Gref\n\nGref is a proof-of-concept implementation of generalized references\nfor Racket.  For detailed documentation, refer to [[https://docs.racket-lang.org/gref/index.html][the reference]].\n\n* Introduction\n  As commonly known by Lispers, generalized references are infamously\n  present in many Lisp systems, most notably [[http://www.lispworks.com/documentation/HyperSpec/Body/05_a.htm][Common Lisp]] with its\n  magical modify macros such as [[http://www.lispworks.com/documentation/HyperSpec/Body/m_setf_.htm][~setf~]].  They not only serve practical\n  purposes, but also showcase powerful capabilities of syntactic\n  abstraction, [[https://docs.racket-lang.org/guide/macros.html][at which Racket excels]].  Nonetheless, those with a\n  functional mind might prefer functional references even more\n  infamously present in [[https://en.wikibooks.org/wiki/Haskell/Lenses_and_functional_references][Haskell]], for which see [[https://github.com/jackfirth/lens][Lens]] and [[https://github.com/jackfirth/glass][Glass]].\n\n* How to Use\n  This library can be installed through [[https://docs.racket-lang.org/pkg/index.html][the Racket package manager]].\n  The main entry points are the ~gref/base~ and ~gref/syntax~ modules\n  respectively for base functionalities and syntactic extensions, and\n  the ~gref~ module combines these modules.\n\n  This library is split into the following packages:\n\n  - [[file:gref-doc/][=gref-doc=]] provides the documentation;\n  - [[file:gref-lib/][=gref-lib=]] provides the implementation;\n  - [[file:gref-test/][=gref-test=]] provides the tests;\n  - [[file:gref/][=gref=]] combines the non-test packages.\n\n* Contribute\n  [[https://github.com/usaoc/gref/issues][Submit an issue]] for bug reports and general discussion.  [[https://github.com/usaoc/gref/pulls][Submit a\n  pull request]] for patches.  Otherwise, [[mailto:whmunkchan@outlook.com][send an email]] with patches\n  attached if any.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusaoc%2Fgref","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusaoc%2Fgref","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusaoc%2Fgref/lists"}